mirror of
https://github.com/immich-app/immich.git
synced 2025-12-19 09:13:14 +03:00
refactor: replace copyWith method with withButtonPosition for ActionButtonContext
This commit is contained in:
@@ -63,35 +63,21 @@ class ActionButtonContext {
|
|||||||
this.buttonPosition = ButtonPosition.other,
|
this.buttonPosition = ButtonPosition.other,
|
||||||
});
|
});
|
||||||
|
|
||||||
ActionButtonContext copyWith({
|
ActionButtonContext withButtonPosition(ButtonPosition position) {
|
||||||
BaseAsset? asset,
|
|
||||||
bool? isOwner,
|
|
||||||
bool? isArchived,
|
|
||||||
bool? isTrashEnabled,
|
|
||||||
bool? isStacked,
|
|
||||||
bool? isInLockedView,
|
|
||||||
RemoteAlbum? currentAlbum,
|
|
||||||
bool? advancedTroubleshooting,
|
|
||||||
ActionSource? source,
|
|
||||||
bool? isCasting,
|
|
||||||
TimelineOrigin? timelineOrigin,
|
|
||||||
ThemeData? originalTheme,
|
|
||||||
ButtonPosition? buttonPosition,
|
|
||||||
}) {
|
|
||||||
return ActionButtonContext(
|
return ActionButtonContext(
|
||||||
asset: asset ?? this.asset,
|
asset: asset,
|
||||||
isOwner: isOwner ?? this.isOwner,
|
isOwner: isOwner,
|
||||||
isArchived: isArchived ?? this.isArchived,
|
isArchived: isArchived,
|
||||||
isTrashEnabled: isTrashEnabled ?? this.isTrashEnabled,
|
isTrashEnabled: isTrashEnabled,
|
||||||
isStacked: isStacked ?? this.isStacked,
|
isStacked: isStacked,
|
||||||
isInLockedView: isInLockedView ?? this.isInLockedView,
|
isInLockedView: isInLockedView,
|
||||||
currentAlbum: currentAlbum ?? this.currentAlbum,
|
currentAlbum: currentAlbum,
|
||||||
advancedTroubleshooting: advancedTroubleshooting ?? this.advancedTroubleshooting,
|
advancedTroubleshooting: advancedTroubleshooting,
|
||||||
source: source ?? this.source,
|
source: source,
|
||||||
isCasting: isCasting ?? this.isCasting,
|
isCasting: isCasting,
|
||||||
timelineOrigin: timelineOrigin ?? this.timelineOrigin,
|
timelineOrigin: timelineOrigin,
|
||||||
originalTheme: originalTheme ?? this.originalTheme,
|
originalTheme: originalTheme,
|
||||||
buttonPosition: buttonPosition ?? this.buttonPosition,
|
buttonPosition: position,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -358,7 +344,7 @@ class ActionButtonBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static List<ActionButtonType> getViewerBottomBarTypes(ActionButtonContext context) {
|
static List<ActionButtonType> getViewerBottomBarTypes(ActionButtonContext context) {
|
||||||
final bottomBarContext = context.copyWith(buttonPosition: ButtonPosition.bottomBar);
|
final bottomBarContext = context.withButtonPosition(ButtonPosition.bottomBar);
|
||||||
return _defaultViewerBottomBarOrder.where((type) => type.shouldShow(bottomBarContext)).take(4).toList();
|
return _defaultViewerBottomBarOrder.where((type) => type.shouldShow(bottomBarContext)).take(4).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1019,7 +1019,7 @@ void main() {
|
|||||||
|
|
||||||
final bottomBarTypes = ActionButtonBuilder.getViewerBottomBarTypes(context);
|
final bottomBarTypes = ActionButtonBuilder.getViewerBottomBarTypes(context);
|
||||||
final kebabTypes = ActionButtonBuilder.getViewerKebabMenuTypes(
|
final kebabTypes = ActionButtonBuilder.getViewerKebabMenuTypes(
|
||||||
context.copyWith(buttonPosition: ButtonPosition.kebabMenu),
|
context.withButtonPosition(ButtonPosition.kebabMenu),
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(const ListEquality().equals(bottomBarTypes, expectedTypes), isTrue);
|
expect(const ListEquality().equals(bottomBarTypes, expectedTypes), isTrue);
|
||||||
@@ -1049,7 +1049,7 @@ void main() {
|
|||||||
|
|
||||||
final bottomBarTypes = ActionButtonBuilder.getViewerBottomBarTypes(context);
|
final bottomBarTypes = ActionButtonBuilder.getViewerBottomBarTypes(context);
|
||||||
final kebabTypes = ActionButtonBuilder.getViewerKebabMenuTypes(
|
final kebabTypes = ActionButtonBuilder.getViewerKebabMenuTypes(
|
||||||
context.copyWith(buttonPosition: ButtonPosition.kebabMenu),
|
context.withButtonPosition(ButtonPosition.kebabMenu),
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(const ListEquality().equals(bottomBarTypes, expectedTypes), isTrue);
|
expect(const ListEquality().equals(bottomBarTypes, expectedTypes), isTrue);
|
||||||
@@ -1080,7 +1080,7 @@ void main() {
|
|||||||
|
|
||||||
final bottomBarTypes = ActionButtonBuilder.getViewerBottomBarTypes(context);
|
final bottomBarTypes = ActionButtonBuilder.getViewerBottomBarTypes(context);
|
||||||
final kebabTypes = ActionButtonBuilder.getViewerKebabMenuTypes(
|
final kebabTypes = ActionButtonBuilder.getViewerKebabMenuTypes(
|
||||||
context.copyWith(buttonPosition: ButtonPosition.kebabMenu),
|
context.withButtonPosition(ButtonPosition.kebabMenu),
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(const ListEquality().equals(bottomBarTypes, expectedTypes), isTrue);
|
expect(const ListEquality().equals(bottomBarTypes, expectedTypes), isTrue);
|
||||||
|
|||||||
Reference in New Issue
Block a user