mirror of
https://github.com/immich-app/immich.git
synced 2025-12-23 09:15:05 +03:00
feat: configurable AddActionButton
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/widgets.dart';
|
|||||||
import 'package:immich_mobile/constants/enums.dart';
|
import 'package:immich_mobile/constants/enums.dart';
|
||||||
import 'package:immich_mobile/domain/models/album/album.model.dart';
|
import 'package:immich_mobile/domain/models/album/album.model.dart';
|
||||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||||
|
import 'package:immich_mobile/presentation/widgets/action_buttons/add_action_button.widget.dart';
|
||||||
import 'package:immich_mobile/presentation/widgets/action_buttons/advanced_info_action_button.widget.dart';
|
import 'package:immich_mobile/presentation/widgets/action_buttons/advanced_info_action_button.widget.dart';
|
||||||
import 'package:immich_mobile/presentation/widgets/action_buttons/archive_action_button.widget.dart';
|
import 'package:immich_mobile/presentation/widgets/action_buttons/archive_action_button.widget.dart';
|
||||||
import 'package:immich_mobile/presentation/widgets/action_buttons/delete_action_button.widget.dart';
|
import 'package:immich_mobile/presentation/widgets/action_buttons/delete_action_button.widget.dart';
|
||||||
@@ -49,6 +50,7 @@ enum ActionButtonType {
|
|||||||
advancedInfo,
|
advancedInfo,
|
||||||
share,
|
share,
|
||||||
edit,
|
edit,
|
||||||
|
add,
|
||||||
shareLink,
|
shareLink,
|
||||||
similarPhotos,
|
similarPhotos,
|
||||||
archive,
|
archive,
|
||||||
@@ -72,6 +74,7 @@ enum ActionButtonType {
|
|||||||
ActionButtonType.edit =>
|
ActionButtonType.edit =>
|
||||||
!context.isInLockedView && //
|
!context.isInLockedView && //
|
||||||
context.asset.isImage,
|
context.asset.isImage,
|
||||||
|
ActionButtonType.add => context.asset.hasRemote,
|
||||||
ActionButtonType.shareLink =>
|
ActionButtonType.shareLink =>
|
||||||
!context.isInLockedView && //
|
!context.isInLockedView && //
|
||||||
context.asset.hasRemote,
|
context.asset.hasRemote,
|
||||||
@@ -141,6 +144,7 @@ enum ActionButtonType {
|
|||||||
ActionButtonType.advancedInfo => AdvancedInfoActionButton(source: context.source),
|
ActionButtonType.advancedInfo => AdvancedInfoActionButton(source: context.source),
|
||||||
ActionButtonType.share => ShareActionButton(source: context.source),
|
ActionButtonType.share => ShareActionButton(source: context.source),
|
||||||
ActionButtonType.edit => const EditImageActionButton(),
|
ActionButtonType.edit => const EditImageActionButton(),
|
||||||
|
ActionButtonType.add => const AddActionButton(),
|
||||||
ActionButtonType.shareLink => ShareLinkActionButton(source: context.source),
|
ActionButtonType.shareLink => ShareLinkActionButton(source: context.source),
|
||||||
ActionButtonType.archive => ArchiveActionButton(source: context.source),
|
ActionButtonType.archive => ArchiveActionButton(source: context.source),
|
||||||
ActionButtonType.unarchive => UnArchiveActionButton(source: context.source),
|
ActionButtonType.unarchive => UnArchiveActionButton(source: context.source),
|
||||||
@@ -173,6 +177,7 @@ class ActionButtonBuilder {
|
|||||||
ActionButtonType.share,
|
ActionButtonType.share,
|
||||||
ActionButtonType.upload,
|
ActionButtonType.upload,
|
||||||
ActionButtonType.edit,
|
ActionButtonType.edit,
|
||||||
|
ActionButtonType.add,
|
||||||
ActionButtonType.archive,
|
ActionButtonType.archive,
|
||||||
ActionButtonType.delete,
|
ActionButtonType.delete,
|
||||||
ActionButtonType.removeFromAlbum,
|
ActionButtonType.removeFromAlbum,
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ extension ActionButtonTypeVisuals on ActionButtonType {
|
|||||||
ActionButtonType.advancedInfo => Icons.help_outline_rounded,
|
ActionButtonType.advancedInfo => Icons.help_outline_rounded,
|
||||||
ActionButtonType.share => Icons.share_rounded,
|
ActionButtonType.share => Icons.share_rounded,
|
||||||
ActionButtonType.edit => Icons.tune,
|
ActionButtonType.edit => Icons.tune,
|
||||||
|
ActionButtonType.add => Icons.add,
|
||||||
ActionButtonType.shareLink => Icons.link_rounded,
|
ActionButtonType.shareLink => Icons.link_rounded,
|
||||||
ActionButtonType.similarPhotos => Icons.compare,
|
ActionButtonType.similarPhotos => Icons.compare,
|
||||||
ActionButtonType.archive => Icons.archive_outlined,
|
ActionButtonType.archive => Icons.archive_outlined,
|
||||||
@@ -31,6 +32,7 @@ extension ActionButtonTypeVisuals on ActionButtonType {
|
|||||||
ActionButtonType.advancedInfo => 'troubleshoot',
|
ActionButtonType.advancedInfo => 'troubleshoot',
|
||||||
ActionButtonType.share => 'share',
|
ActionButtonType.share => 'share',
|
||||||
ActionButtonType.edit => 'edit',
|
ActionButtonType.edit => 'edit',
|
||||||
|
ActionButtonType.add => 'add_to_bottom_bar',
|
||||||
ActionButtonType.shareLink => 'share_link',
|
ActionButtonType.shareLink => 'share_link',
|
||||||
ActionButtonType.similarPhotos => 'view_similar_photos',
|
ActionButtonType.similarPhotos => 'view_similar_photos',
|
||||||
ActionButtonType.archive => 'to_archive',
|
ActionButtonType.archive => 'to_archive',
|
||||||
|
|||||||
Reference in New Issue
Block a user