[auth] Keep favorite enteries on top in all cases except custom sort (#4316)

## Description

## Tests
This commit is contained in:
Neeraj Gupta
2024-12-05 12:06:45 +05:30
committed by GitHub
3 changed files with 37 additions and 23 deletions

View File

@@ -118,23 +118,23 @@ class _CodeWidgetState extends State<CodeWidget> {
return Stack(
children: [
// if (isFavorite)
// Align(
// alignment: Alignment.topRight,
// child: Icon(
// Icons.star,
// color: colorScheme.pinnedBgColor,
// size: widget.isCompactMode ? 16 : 24,
// Align(
// alignment: Alignment.topRight,
// child: Icon(
// Icons.star,
// color: colorScheme.pinnedBgColor,
// size: widget.isCompactMode ? 16 : 24,
// ),
// //
// // child: CustomPaint(
// // painter: PinBgPainter(
// // color: colorScheme.pinnedBgColor,
// // ),
// // size: widget.isCompactMode
// // ? const Size(24, 24)
// // : const Size(39, 39),
// // ),
// ),
// //
// // child: CustomPaint(
// // painter: PinBgPainter(
// // color: colorScheme.pinnedBgColor,
// // ),
// // size: widget.isCompactMode
// // ? const Size(24, 24)
// // : const Size(39, 39),
// // ),
// ),
if (widget.code.isTrashed && kDebugMode)
Align(
alignment: Alignment.topLeft,
@@ -180,10 +180,13 @@ class _CodeWidgetState extends State<CodeWidget> {
if (widget.code.isPinned) ...[
Align(
alignment: Alignment.topRight,
child: Icon(
Icons.star,
color: colorScheme.primary700.withOpacity(0.4),
size: widget.isCompactMode ? 16 : 24,
child: Padding(
padding: const EdgeInsets.only(top: 2, right: 2),
child: Icon(
Icons.star,
color: colorScheme.primary700.withOpacity(0.4),
size: widget.isCompactMode ? 12 : 20,
),
),
),
],

View File

@@ -263,6 +263,17 @@ class _HomePageState extends State<HomePage> {
codes.sort((a, b) => a.display.position.compareTo(b.display.position));
break;
}
if (sortKey != CodeSortKey.manual) {
// move pinned codes to the using
int insertIndex = 0;
for (int i = 0; i < codes.length; i++) {
if (codes[i].isPinned) {
final code = codes.removeAt(i);
codes.insert(insertIndex, code);
insertIndex++;
}
}
}
}
Future<void> _redirectToScannerPage() async {
@@ -500,7 +511,7 @@ class _HomePageState extends State<HomePage> {
}
if (index == 1 && hasFavouriteCodes) {
return TagChip(
label: "",
label: context.l10n.fav,
state: _isFavouriteOpen
? TagChipState.selected
: TagChipState.unselected,
@@ -511,7 +522,7 @@ class _HomePageState extends State<HomePage> {
setState(() {});
_applyFilteringAndRefresh();
},
iconData: Icons.star,
// iconData: Icons.star,
);
}
if (index == itemCount - 1 && hasTrashedCodes) {

View File

@@ -1,6 +1,6 @@
name: ente_auth
description: ente two-factor authenticator
version: 4.1.2+412
version: 4.1.3+413
publish_to: none
environment: