chore: Move to different iconsax library (#301)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2025-04-05 23:36:48 +02:00 committed by GitHub
parent 5b3d5b8900
commit 5578076fdb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
71 changed files with 349 additions and 346 deletions

View file

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:auto_route/auto_route.dart';
import 'package:ficonsax/ficonsax.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/models/boxset_model.dart';
@ -201,7 +201,7 @@ class _LibrarySearchScreenState extends ConsumerState<LibrarySearchScreen> {
);
},
label: Text(context.localized.playLabel),
icon: const Icon(IconsaxBold.play),
icon: const Icon(IconsaxPlusBold.play),
),
].addInBetween(const SizedBox(height: 10)),
),
@ -293,17 +293,17 @@ class _LibrarySearchScreenState extends ConsumerState<LibrarySearchScreen> {
[];
final itemCountWidget = ItemActionButton(
label: Text(context.localized.itemCount(librarySearchResults.totalItemCount)),
icon: const Icon(IconsaxBold.document_1),
icon: const Icon(IconsaxPlusBold.document_1),
);
final refreshAction = ItemActionButton(
label: Text(context.localized.forceRefresh),
action: () => refreshKey.currentState?.show(),
icon: const Icon(IconsaxOutline.refresh),
icon: const Icon(IconsaxPlusLinear.refresh),
);
final showSavedFiltersDialogue = ItemActionButton(
label: Text(context.localized.filter(2)),
action: () => showSavedFilters(context, librarySearchResults, libraryProvider),
icon: const Icon(IconsaxOutline.refresh),
icon: const Icon(IconsaxPlusLinear.refresh),
);
final itemViewAction = ItemActionButton(
label: Text(context.localized.selectViewType),
@ -414,7 +414,7 @@ class _LibrarySearchScreenState extends ConsumerState<LibrarySearchScreen> {
isFavorite
? librarySearchResults.nestedCurrentItem?.type.selectedicon
: librarySearchResults.nestedCurrentItem?.type.icon ??
IconsaxOutline.document,
IconsaxPlusLinear.document,
color: isFavorite ? Theme.of(context).colorScheme.primary : null,
),
),
@ -535,7 +535,7 @@ class _LibrarySearchScreenState extends ConsumerState<LibrarySearchScreen> {
Text(context.localized.fetchingLibrary, style: Theme.of(context).textTheme.titleMedium),
IconButton(
onPressed: () => libraryProvider.cancelFetch(),
icon: const Icon(IconsaxOutline.close_square),
icon: const Icon(IconsaxPlusLinear.close_square),
)
].addInBetween(const SizedBox(width: 16)),
),
@ -593,7 +593,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
if (context.mounted) context.refreshData();
},
label: Text(context.localized.addAsFavorite),
icon: const Icon(IconsaxOutline.heart_add),
icon: const Icon(IconsaxPlusLinear.heart_add),
),
ItemActionButton(
action: () async {
@ -601,7 +601,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
if (context.mounted) context.refreshData();
},
label: Text(context.localized.removeAsFavorite),
icon: const Icon(IconsaxOutline.heart_remove),
icon: const Icon(IconsaxPlusLinear.heart_remove),
),
ItemActionButton(
action: () async {
@ -609,7 +609,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
if (context.mounted) context.refreshData();
},
label: Text(context.localized.markAsWatched),
icon: const Icon(IconsaxOutline.eye),
icon: const Icon(IconsaxPlusLinear.eye),
),
ItemActionButton(
action: () async {
@ -617,7 +617,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
if (context.mounted) context.refreshData();
},
label: Text(context.localized.markAsUnwatched),
icon: const Icon(IconsaxOutline.eye_slash),
icon: const Icon(IconsaxPlusLinear.eye_slash),
),
if (librarySearchResults.nestedCurrentItem is BoxSetModel)
ItemActionButton(
@ -631,7 +631,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
BoxDecoration(color: Theme.of(context).colorScheme.onPrimary, borderRadius: BorderRadius.circular(6)),
child: const Padding(
padding: EdgeInsets.all(3.0),
child: Icon(IconsaxOutline.save_remove, size: 20),
child: Icon(IconsaxPlusLinear.save_remove, size: 20),
),
)),
if (librarySearchResults.nestedCurrentItem is PlaylistModel)
@ -641,7 +641,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
if (context.mounted) context.refreshData();
},
label: Text(context.localized.removeFromPlaylist),
icon: const Icon(IconsaxOutline.save_remove),
icon: const Icon(IconsaxPlusLinear.save_remove),
),
ItemActionButton(
action: () async {
@ -650,7 +650,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
},
label: Text(context.localized.addToCollection),
icon: const Icon(
IconsaxOutline.save_add,
IconsaxPlusLinear.save_add,
size: 20,
),
),
@ -660,7 +660,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
if (context.mounted) context.refreshData();
},
label: Text(context.localized.addToPlaylist),
icon: const Icon(IconsaxOutline.save_add),
icon: const Icon(IconsaxPlusLinear.save_add),
),
];
return NestedBottomAppBar(
@ -688,7 +688,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
),
padding: const EdgeInsets.all(6),
child: Icon(
IconsaxOutline.arrow_up_3,
IconsaxPlusLinear.arrow_up_3,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
@ -718,14 +718,14 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
}
}
},
icon: const Icon(IconsaxOutline.sort),
icon: const Icon(IconsaxPlusLinear.sort),
),
if (librarySearchResults.hasActiveFilters) ...{
const SizedBox(width: 6),
IconButton(
tooltip: context.localized.disableFilters,
onPressed: disableFilters(librarySearchResults, libraryProvider),
icon: const Icon(IconsaxOutline.filter_remove),
icon: const Icon(IconsaxPlusLinear.filter_remove),
),
},
},
@ -733,7 +733,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
IconButton(
onPressed: () => libraryProvider.toggleSelectMode(),
color: librarySearchResults.selecteMode ? Theme.of(context).colorScheme.primary : null,
icon: const Icon(IconsaxOutline.category_2),
icon: const Icon(IconsaxPlusLinear.category_2),
),
const SizedBox(width: 6),
AnimatedFadeSize(
@ -748,7 +748,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
message: context.localized.selectAll,
child: IconButton(
onPressed: () => libraryProvider.selectAll(true),
icon: const Icon(IconsaxOutline.box_add),
icon: const Icon(IconsaxPlusLinear.box_add),
),
),
const SizedBox(width: 6),
@ -756,7 +756,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
message: context.localized.clearSelection,
child: IconButton(
onPressed: () => libraryProvider.selectAll(false),
icon: const Icon(IconsaxOutline.box_remove),
icon: const Icon(IconsaxPlusLinear.box_remove),
),
),
const SizedBox(width: 6),
@ -777,7 +777,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
),
);
},
icon: const Icon(IconsaxOutline.more))
icon: const Icon(IconsaxPlusLinear.more))
},
],
),
@ -794,7 +794,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
child: Padding(
padding: const EdgeInsets.all(2.0),
child: Icon(
IconsaxBold.arrow_up_1,
IconsaxPlusBold.arrow_up_1,
color: Theme.of(context).colorScheme.onSecondary,
),
),
@ -823,7 +823,7 @@ class _LibrarySearchBottomBar extends ConsumerWidget {
: null,
);
},
icon: const Icon(IconsaxOutline.shuffle),
icon: const Icon(IconsaxPlusLinear.shuffle),
),
],
),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:ficonsax/ficonsax.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/jellyfin/jellyfin_open_api.enums.swagger.dart';
@ -125,7 +125,7 @@ List<Widget> libraryFilterChips(
FilterChip(
label: Text(context.localized.favorites),
avatar: Icon(
librarySearchResults.favourites ? IconsaxBold.heart : IconsaxOutline.heart,
librarySearchResults.favourites ? IconsaxPlusBold.heart : IconsaxPlusLinear.heart,
color: Theme.of(context).colorScheme.onSurface,
),
selected: librarySearchResults.favourites,
@ -146,7 +146,7 @@ List<Widget> libraryFilterChips(
if (librarySearchResults.genres.isNotEmpty)
CategoryChip<String>(
label: Text(context.localized.genre(librarySearchResults.genres.length)),
activeIcon: IconsaxBold.hierarchy_2,
activeIcon: IconsaxPlusBold.hierarchy_2,
items: librarySearchResults.genres,
labelBuilder: (item) => Text(item),
onSave: (value) => libraryProvider.setGenres(value),
@ -156,7 +156,7 @@ List<Widget> libraryFilterChips(
if (librarySearchResults.studios.isNotEmpty)
CategoryChip<Studio>(
label: Text(context.localized.studio(librarySearchResults.studios.length)),
activeIcon: IconsaxBold.airdrop,
activeIcon: IconsaxPlusBold.airdrop,
items: librarySearchResults.studios,
labelBuilder: (item) => Text(item.name),
onSave: (value) => libraryProvider.setStudios(value),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:ficonsax/ficonsax.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/models/library_search/library_search_model.dart';
@ -80,13 +80,13 @@ class LibrarySavedFiltersDialogue extends ConsumerWidget {
filterProvider.saveFilter(filter.copyWith(isFavourite: !filter.isFavourite)),
icon: Icon(
color: filter.isFavourite ? Colors.yellowAccent : null,
filter.isFavourite ? IconsaxBold.star_1 : IconsaxOutline.star,
filter.isFavourite ? IconsaxPlusBold.star_1 : IconsaxPlusLinear.star,
),
),
IconButton.filledTonal(
tooltip: context.localized.updateFilterForLibrary,
onPressed: () => provider.updateFilter(filter),
icon: const Icon(IconsaxBold.refresh),
icon: const Icon(IconsaxPlusBold.refresh),
),
IconButton.filledTonal(
tooltip: context.localized.delete,
@ -114,7 +114,7 @@ class LibrarySavedFiltersDialogue extends ConsumerWidget {
foregroundColor:
WidgetStatePropertyAll(Theme.of(context).colorScheme.onErrorContainer),
),
icon: const Icon(IconsaxOutline.trash),
icon: const Icon(IconsaxPlusLinear.trash),
),
].addInBetween(const SizedBox(width: 8)),
),
@ -142,7 +142,7 @@ class LibrarySavedFiltersDialogue extends ConsumerWidget {
const SizedBox(width: 6),
FilledButton.tonal(
onPressed: () => provider.saveFiltersNew(controller.text),
child: const Icon(IconsaxOutline.save_2),
child: const Icon(IconsaxPlusLinear.save_2),
),
],
)

View file

@ -1,7 +1,7 @@
import 'dart:ui';
import 'package:collection/collection.dart';
import 'package:ficonsax/ficonsax.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:fladder/models/boxset_model.dart';
import 'package:fladder/models/item_base_model.dart';
import 'package:fladder/models/items/photos_model.dart';
@ -32,9 +32,9 @@ final libraryViewTypeProvider = StateProvider<LibraryViewTypes>((ref) {
});
enum LibraryViewTypes {
grid(icon: IconsaxOutline.grid_2),
list(icon: IconsaxOutline.grid_6),
masonry(icon: IconsaxOutline.grid_3);
grid(icon: IconsaxPlusLinear.grid_2),
list(icon: IconsaxPlusLinear.grid_6),
masonry(icon: IconsaxPlusLinear.grid_3);
const LibraryViewTypes({required this.icon});
@ -81,7 +81,7 @@ class LibraryViews extends ConsumerWidget {
if (ref.watch(librarySearchProvider(key!).select((value) => value.nestedCurrentItem is BoxSetModel))) ...{
ItemActionButton(
label: Text(context.localized.removeFromCollection),
icon: const Icon(IconsaxOutline.archive_slash),
icon: const Icon(IconsaxPlusLinear.archive_slash),
action: () async {
await libraryProvider.removeFromCollection(items: [item]);
if (context.mounted) {
@ -93,7 +93,7 @@ class LibraryViews extends ConsumerWidget {
if (ref.watch(librarySearchProvider(key!).select((value) => value.nestedCurrentItem is PlaylistModel))) ...{
ItemActionButton(
label: Text(context.localized.removeFromPlaylist),
icon: const Icon(IconsaxOutline.archive_minus),
icon: const Icon(IconsaxPlusLinear.archive_minus),
action: () async {
await libraryProvider.removeFromPlaylist(items: [item]);
if (context.mounted) {

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:ficonsax/ficonsax.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:page_transition/page_transition.dart';
@ -98,7 +98,7 @@ class _SearchBarState extends ConsumerState<SuggestionSearchBar> {
},
decoration: InputDecoration(
hintText: widget.title ?? "${context.localized.search}...",
prefixIcon: const Icon(IconsaxOutline.search_normal),
prefixIcon: const Icon(IconsaxPlusLinear.search_normal),
contentPadding: const EdgeInsets.only(top: 13),
suffixIcon: controller.text.isNotEmpty
? IconButton(