sort albums by lower-case natural sort ordering

This commit is contained in:
ashilkn 2022-09-16 10:15:32 +05:30
parent bb79a674ad
commit 2a63b21148
2 changed files with 10 additions and 6 deletions

View file

@ -3,6 +3,7 @@
import 'dart:async';
import 'dart:io';
import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/configuration.dart';
@ -114,10 +115,10 @@ class _CollectionsGalleryWidgetState extends State<CollectionsGalleryWidget>
collectionsWithThumbnail.sort(
(first, second) {
if (sortKey == AlbumSortKey.albumName) {
// alphabetical ASC order
return first.collection.name
.toLowerCase()
.compareTo(second.collection.name.toLowerCase());
return compareAsciiLowerCaseNatural(
first.collection.name,
second.collection.name,
);
} else if (sortKey == AlbumSortKey.newestPhoto) {
return second.thumbnail.creationTime
.compareTo(first.thumbnail.creationTime);

View file

@ -1,5 +1,6 @@
// @dart=2.9
import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/configuration.dart';
@ -197,8 +198,10 @@ class _CreateCollectionPageState extends State<CreateCollectionPage> {
}
}
collectionsWithThumbnail.sort((first, second) {
return (first.collection.name.toLowerCase() ?? "")
.compareTo((second.collection.name.toLowerCase() ?? ""));
return compareAsciiLowerCaseNatural(
first.collection.name ?? "",
second.collection.name ?? "",
);
});
return collectionsWithThumbnail;
}