@@ -285,16 +285,26 @@ function renderPostList() {
285285
286286 if ( activeFilters . srt ) {
287287 filtered . sort ( ( a , b ) => {
288- if ( activeFilters . srt . startsWith ( 'Name' ) ) {
289- const nameA = ( a . Name || "" ) . toLowerCase ( ) ;
290- const nameB = ( b . Name || "" ) . toLowerCase ( ) ;
291- if ( nameA < nameB ) return activeFilters . srt === 'NameA' ? - 1 : 1 ;
292- if ( nameA > nameB ) return activeFilters . srt === 'NameA' ? 1 : - 1 ;
293- return 0 ;
294- } else if ( activeFilters . srt . startsWith ( 'Date' ) ) {
295- const dateA = new Date ( a . Date ) . getTime ( ) || 0 ;
296- const dateB = new Date ( b . Date ) . getTime ( ) || 0 ;
297- return activeFilters . srt === 'DateA' ? dateA - dateB : dateB - dateA ;
288+ const mode = activeFilters . srt ;
289+ if ( ! mode ) return 0 ;
290+ if ( mode . startsWith ( 'Name' ) ) {
291+ const nameA = ( a . Name || "" ) . toString ( ) ;
292+ const nameB = ( b . Name || "" ) . toString ( ) ;
293+ return mode === 'NameA' ? nameA . localeCompare ( nameB ) : nameB . localeCompare ( nameA ) ;
294+ }
295+ if ( mode . startsWith ( 'Date' ) ) {
296+ const parseDMY = ( str ) => {
297+ if ( ! str ) return 0 ;
298+ const parts = str . split ( '-' ) ;
299+ if ( parts . length !== 3 ) return 0 ;
300+ const [ day , month , year ] = parts . map ( Number ) ;
301+ return new Date ( year , month - 1 , day ) . getTime ( ) ;
302+ } ;
303+ const dateA = parseDMY ( a . Date ) ;
304+ const dateB = parseDMY ( b . Date ) ;
305+ const safeA = isNaN ( dateA ) ? 0 : dateA ;
306+ const safeB = isNaN ( dateB ) ? 0 : dateB ;
307+ return mode === 'DateA' ? safeB - safeA : safeA - safeB ;
298308 }
299309 return 0 ;
300310 } ) ;
@@ -586,7 +596,7 @@ async function shareCurrentPost() {
586596 const blob = await res . blob ( ) ;
587597 const file = new File ( [ blob ] , "image.jpg" , { type : blob . type || "image/jpeg" } ) ;
588598 if ( navigator . canShare ( { files : [ file ] } ) ) {
589- await navigator . share ( {
599+ await navigator . share ( {
590600 title, text : `${ title } by ${ author } ` , url, files : [ file ]
591601 } ) ;
592602 return ;
@@ -597,7 +607,7 @@ async function shareCurrentPost() {
597607 await navigator . share ( { title, text : `${ shareText } ` , url } ) ;
598608 return ;
599609 }
600- } catch ( e ) { }
610+ } catch ( e ) { }
601611 const finalText = shareText ;
602612 navigator . clipboard . writeText ( finalText ) . then ( ( ) => {
603613 const btn = document . querySelector ( '#full-meta-block button[onclick="shareCurrentPost()"]' ) ;
0 commit comments