96 lines
2.6 KiB
Dart
96 lines
2.6 KiB
Dart
import 'package:aves/theme/icons.dart';
|
|
import 'package:aves/widgets/common/extensions/build_context.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
|
|
enum ChipSetAction {
|
|
// general
|
|
sort,
|
|
group,
|
|
map,
|
|
select,
|
|
selectAll,
|
|
selectNone,
|
|
stats,
|
|
createAlbum,
|
|
// single/multiple filters
|
|
delete,
|
|
hide,
|
|
pin,
|
|
unpin,
|
|
// single filter
|
|
rename,
|
|
setCover,
|
|
}
|
|
|
|
extension ExtraChipSetAction on ChipSetAction {
|
|
String getText(BuildContext context) {
|
|
switch (this) {
|
|
// general
|
|
case ChipSetAction.sort:
|
|
return context.l10n.menuActionSort;
|
|
case ChipSetAction.group:
|
|
return context.l10n.menuActionGroup;
|
|
case ChipSetAction.select:
|
|
return context.l10n.collectionActionSelect;
|
|
case ChipSetAction.selectAll:
|
|
return context.l10n.collectionActionSelectAll;
|
|
case ChipSetAction.selectNone:
|
|
return context.l10n.collectionActionSelectNone;
|
|
case ChipSetAction.map:
|
|
return context.l10n.menuActionMap;
|
|
case ChipSetAction.stats:
|
|
return context.l10n.menuActionStats;
|
|
case ChipSetAction.createAlbum:
|
|
return context.l10n.chipActionCreateAlbum;
|
|
// single/multiple filters
|
|
case ChipSetAction.delete:
|
|
return context.l10n.chipActionDelete;
|
|
case ChipSetAction.hide:
|
|
return context.l10n.chipActionHide;
|
|
case ChipSetAction.pin:
|
|
return context.l10n.chipActionPin;
|
|
case ChipSetAction.unpin:
|
|
return context.l10n.chipActionUnpin;
|
|
// single filter
|
|
case ChipSetAction.rename:
|
|
return context.l10n.chipActionRename;
|
|
case ChipSetAction.setCover:
|
|
return context.l10n.chipActionSetCover;
|
|
}
|
|
}
|
|
|
|
IconData? getIcon() {
|
|
switch (this) {
|
|
// general
|
|
case ChipSetAction.sort:
|
|
return AIcons.sort;
|
|
case ChipSetAction.group:
|
|
return AIcons.group;
|
|
case ChipSetAction.select:
|
|
return AIcons.select;
|
|
case ChipSetAction.selectAll:
|
|
case ChipSetAction.selectNone:
|
|
return null;
|
|
case ChipSetAction.map:
|
|
return AIcons.map;
|
|
case ChipSetAction.stats:
|
|
return AIcons.stats;
|
|
case ChipSetAction.createAlbum:
|
|
return AIcons.createAlbum;
|
|
// single/multiple filters
|
|
case ChipSetAction.delete:
|
|
return AIcons.delete;
|
|
case ChipSetAction.hide:
|
|
return AIcons.hide;
|
|
case ChipSetAction.pin:
|
|
return AIcons.pin;
|
|
case ChipSetAction.unpin:
|
|
return AIcons.unpin;
|
|
// single filter
|
|
case ChipSetAction.rename:
|
|
return AIcons.rename;
|
|
case ChipSetAction.setCover:
|
|
return AIcons.setCover;
|
|
}
|
|
}
|
|
}
|