1
0
mirror of https://github.com/immich-app/immich.git synced 2025-08-08 23:07:06 +02:00

feat(mobile): hide storage indicator outside main timeline (#19835)

* feat(mobile): hide storage indicator outside main timeline

* fix: lint

* set default as false

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Daimolean
2025-07-11 00:59:52 +08:00
committed by GitHub
parent 68db17028b
commit 4ddd3764b4
5 changed files with 18 additions and 6 deletions

View File

@ -206,6 +206,9 @@ class _AssetTileWidget extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final lockSelection = _getLockSelectionStatus(ref);
final showStorageIndicator = ref.watch(
timelineArgsProvider.select((args) => args.showStorageIndicator),
);
return RepaintBoundary(
child: GestureDetector(
@ -217,6 +220,7 @@ class _AssetTileWidget extends ConsumerWidget {
child: ThumbnailTile(
asset,
lockSelection: lockSelection,
showStorageIndicator: showStorageIndicator,
),
),
);

View File

@ -14,12 +14,14 @@ class TimelineArgs {
final double maxHeight;
final double spacing;
final int columnCount;
final bool showStorageIndicator;
const TimelineArgs({
required this.maxWidth,
required this.maxHeight,
this.spacing = kTimelineSpacing,
this.columnCount = kTimelineColumnCount,
this.showStorageIndicator = false,
});
@override
@ -27,7 +29,8 @@ class TimelineArgs {
return spacing == other.spacing &&
maxWidth == other.maxWidth &&
maxHeight == other.maxHeight &&
columnCount == other.columnCount;
columnCount == other.columnCount &&
showStorageIndicator == other.showStorageIndicator;
}
@override
@ -35,7 +38,8 @@ class TimelineArgs {
maxWidth.hashCode ^
maxHeight.hashCode ^
spacing.hashCode ^
columnCount.hashCode;
columnCount.hashCode ^
showStorageIndicator.hashCode;
}
class TimelineState {

View File

@ -26,11 +26,13 @@ class Timeline extends StatelessWidget {
super.key,
this.topSliverWidget,
this.topSliverWidgetHeight,
this.showStorageIndicator = false,
this.appBar,
});
final Widget? topSliverWidget;
final double? topSliverWidgetHeight;
final bool showStorageIndicator;
final Widget? appBar;
@override
@ -46,6 +48,7 @@ class Timeline extends StatelessWidget {
columnCount: ref.watch(
settingsProvider.select((s) => s.get(Setting.tilesPerRow)),
),
showStorageIndicator: showStorageIndicator,
),
),
],