@@ -230,14 +230,27 @@ $(document).ready(function() {
230230 set_page_size ( 'a[href*="/recent"]' , 'recent_page_size' ) ;
231231 set_page_size ( 'a[href*="/requires"]' , 'requires_page_size' ) ;
232232
233- var changes = $ ( '#metacpan_last-changes' ) ;
234- var changes_inner = $ ( '#metacpan_last-changes-container' ) ;
235- var changes_toggle = $ ( "#metacpan_last-changes-toggle" ) ;
236- changes . addClass ( [ 'collapsable' , 'collapsed' ] ) ;
237- var changes_content_height = Math . round ( changes_inner . prop ( 'scrollHeight' ) ) ;
238- var changes_ui_height = Math . round ( changes_inner . height ( ) + changes_toggle . height ( ) ) ;
239- if ( changes_content_height <= changes_ui_height ) {
240- changes . removeClass ( [ 'collapsable' , 'collapsed' ] ) ;
233+ const changes = document . querySelector ( '#metacpan_last-changes' ) ;
234+ if ( changes ) {
235+ const changes_content = changes . querySelector ( '.changes-content' ) ;
236+ const changes_toggle = changes . querySelector ( ".changes-toggle" ) ;
237+ changes . classList . add ( 'collapsable' , 'collapsed' ) ;
238+
239+ const content_height = Math . round ( changes_content . scrollHeight ) ;
240+ const toggle_style = window . getComputedStyle ( changes_toggle ) ;
241+
242+ const potential_size = Math . round (
243+ changes_content . offsetHeight +
244+ changes_toggle . offsetHeight
245+ ) ;
246+
247+ if ( content_height <= potential_size ) {
248+ changes . classList . remove ( 'collapsable' , 'collapsed' ) ;
249+ }
250+ changes_toggle . addEventListener ( 'click' , e => {
251+ e . preventDefault ( ) ;
252+ changes . classList . toggle ( 'collapsed' ) ;
253+ } ) ;
241254 }
242255
243256 for ( const favForm of document . querySelectorAll ( 'form[action="/account/favorite/add"]' ) ) {
0 commit comments