File tree Expand file tree Collapse file tree 1 file changed +8
-25
lines changed
src/frontend/app/ui/gallery/navigator Expand file tree Collapse file tree 1 file changed +8
-25
lines changed Original file line number Diff line number Diff line change @@ -173,18 +173,10 @@ export class GallerySortingService {
173173 break ;
174174 case SortByTypes . Random :
175175 this . rndService . setSeed ( media . length ) ;
176- media . sort ( ( a : PhotoDTO , b : PhotoDTO ) : number => {
177- if ( a . name . toLowerCase ( ) < b . name . toLowerCase ( ) ) {
178- return - 1 ;
179- }
180- if ( a . name . toLowerCase ( ) > b . name . toLowerCase ( ) ) {
181- return 1 ;
182- }
183- return 0 ;
184- } )
185- . sort ( ( ) : number => {
186- return this . rndService . get ( ) - 0.5 ;
187- } ) ;
176+ for ( let i = media . length - 1 ; i > 0 ; i -- ) {
177+ const j = Math . floor ( this . rndService . get ( ) * ( i + 1 ) ) ;
178+ [ media [ i ] , media [ j ] ] = [ media [ j ] , media [ i ] ] ;
179+ }
188180 break ;
189181 }
190182 if ( ! sorting . ascending ) {
@@ -273,19 +265,10 @@ export class GallerySortingService {
273265 break ;
274266 case SortByTypes . Random :
275267 this . rndService . setSeed ( c . directories . length ) ;
276- c . directories
277- . sort ( ( a , b ) : number => {
278- if ( a . name . toLowerCase ( ) < b . name . toLowerCase ( ) ) {
279- return 1 ;
280- }
281- if ( a . name . toLowerCase ( ) > b . name . toLowerCase ( ) ) {
282- return - 1 ;
283- }
284- return 0 ;
285- } )
286- . sort ( ( ) : number => {
287- return this . rndService . get ( ) - 0.5 ;
288- } ) ;
268+ for ( let i = c . directories . length - 1 ; i > 0 ; i -- ) {
269+ const j = Math . floor ( this . rndService . get ( ) * ( i + 1 ) ) ;
270+ [ c . directories [ i ] , c . directories [ j ] ] = [ c . directories [ j ] , c . directories [ i ] ] ;
271+ }
289272 break ;
290273 }
291274
You can’t perform that action at this time.
0 commit comments