@@ -17,7 +17,6 @@ import {PhotoDTO} from '../../../../common/entities/PhotoDTO';
1717import { QueryParams } from '../../../../common/QueryParams' ;
1818import { SeededRandomService } from '../../model/seededRandom.service' ;
1919import { take } from 'rxjs/operators' ;
20- import { compare } from 'natural-orderby' ;
2120
2221@Component ( {
2322 selector : 'app-gallery' ,
@@ -160,33 +159,34 @@ export class GalleryComponent implements OnInit, OnDestroy {
160159 }
161160 } ;
162161
162+ private collator = new Intl . Collator ( undefined , { numeric : true } ) ;
163+
163164 private sortDirectories ( ) : void {
164165 if ( ! this . directories ) {
165166 return ;
166167 }
167168 switch ( this . galleryService . sorting . value ) {
168169 case SortingMethods . ascRating : // directories does not have rating
169170 case SortingMethods . ascName :
170- this . directories . sort ( ( a , b ) => compare ( ) ( a . name , b . name ) ) ;
171+ this . directories . sort ( ( a , b ) => this . collator . compare ( a . name , b . name ) ) ;
171172 break ;
172173 case SortingMethods . ascDate :
173174 if ( Config . Client . Other . enableDirectorySortingByDate === true ) {
174- this . directories . sort ( ( a , b ) => compare ( ) ( a . lastModified , b . lastModified ) ) ;
175+ this . directories . sort ( ( a , b ) => a . lastModified - b . lastModified ) ;
175176 break ;
176177 }
177- this . directories . sort ( ( a , b ) => compare ( ) ( a . name , b . name ) ) ;
178+ this . directories . sort ( ( a , b ) => this . collator . compare ( a . name , b . name ) ) ;
178179 break ;
179-
180180 case SortingMethods . descRating : // directories does not have rating
181181 case SortingMethods . descName :
182- this . directories . sort ( ( a , b ) => compare ( { order : 'desc' } ) ( a . name , b . name ) ) ;
182+ this . directories . sort ( ( a , b ) => this . collator . compare ( b . name , a . name ) ) ;
183183 break ;
184184 case SortingMethods . descDate :
185185 if ( Config . Client . Other . enableDirectorySortingByDate === true ) {
186- this . directories . sort ( ( a , b ) => compare ( { order : 'desc' } ) ( a . lastModified , b . lastModified ) ) ;
186+ this . directories . sort ( ( a , b ) => b . lastModified - a . lastModified ) ;
187187 break ;
188188 }
189- this . directories . sort ( ( a , b ) => compare ( { order : 'desc' } ) ( a . name , b . name ) ) ;
189+ this . directories . sort ( ( a , b ) => this . collator . compare ( b . name , a . name ) ) ;
190190 break ;
191191 case SortingMethods . random :
192192 this . rndService . setSeed ( this . directories . length ) ;
@@ -207,4 +207,3 @@ export class GalleryComponent implements OnInit, OnDestroy {
207207
208208 }
209209}
210-
0 commit comments