mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
chore: Move to different iconsax library (#301)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
5b3d5b8900
commit
5578076fdb
71 changed files with 349 additions and 346 deletions
|
|
@ -4,7 +4,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
|
|
@ -85,13 +85,13 @@ enum Authentication {
|
|||
IconData get icon {
|
||||
switch (this) {
|
||||
case Authentication.none:
|
||||
return IconsaxBold.arrow_bottom;
|
||||
return IconsaxPlusBold.arrow_bottom;
|
||||
case Authentication.autoLogin:
|
||||
return IconsaxOutline.login_1;
|
||||
return IconsaxPlusLinear.login_1;
|
||||
case Authentication.biometrics:
|
||||
return IconsaxOutline.finger_scan;
|
||||
return IconsaxPlusLinear.finger_scan;
|
||||
case Authentication.passcode:
|
||||
return IconsaxOutline.password_check;
|
||||
return IconsaxPlusLinear.password_check;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.enums.swagger.dart';
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
|
|
@ -31,18 +31,21 @@ extension CollectionTypeExtension on CollectionType {
|
|||
IconData getIconType(bool outlined) {
|
||||
switch (this) {
|
||||
case CollectionType.movies:
|
||||
return outlined ? IconsaxOutline.video_horizontal : IconsaxBold.video_horizontal;
|
||||
return outlined ? IconsaxPlusLinear.video_horizontal : IconsaxPlusBold.video_horizontal;
|
||||
case CollectionType.tvshows:
|
||||
return outlined ? IconsaxOutline.video_vertical : IconsaxBold.video_vertical;
|
||||
return outlined ? IconsaxPlusLinear.video_vertical : IconsaxPlusBold.video_vertical;
|
||||
case CollectionType.boxsets:
|
||||
return outlined ? IconsaxPlusLinear.box : IconsaxPlusBold.box;
|
||||
case CollectionType.folders:
|
||||
return outlined ? IconsaxOutline.folder : IconsaxBold.folder;
|
||||
return outlined ? IconsaxPlusLinear.folder_2 : IconsaxPlusBold.folder_2;
|
||||
case CollectionType.homevideos:
|
||||
return outlined ? IconsaxOutline.gallery : IconsaxBold.gallery;
|
||||
return outlined ? IconsaxPlusLinear.gallery : IconsaxPlusBold.gallery;
|
||||
case CollectionType.books:
|
||||
return outlined ? IconsaxOutline.book : Icons.book_rounded;
|
||||
return outlined ? IconsaxPlusLinear.book : IconsaxPlusBold.book;
|
||||
case CollectionType.playlists:
|
||||
return outlined ? IconsaxPlusLinear.archive : IconsaxPlusBold.archive;
|
||||
default:
|
||||
return IconsaxOutline.info_circle;
|
||||
return IconsaxPlusLinear.information;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:dart_mappable/dart_mappable.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';
|
||||
|
|
@ -72,7 +72,7 @@ class ItemBaseModel with ItemBaseModelMappable {
|
|||
? Row(
|
||||
children: [
|
||||
const Icon(
|
||||
IconsaxBold.star_1,
|
||||
IconsaxPlusBold.star_1,
|
||||
size: 14,
|
||||
color: Colors.yellowAccent,
|
||||
),
|
||||
|
|
@ -85,7 +85,7 @@ class ItemBaseModel with ItemBaseModelMappable {
|
|||
? Row(
|
||||
children: [
|
||||
const Icon(
|
||||
IconsaxBold.star_1,
|
||||
IconsaxPlusBold.star_1,
|
||||
size: 14,
|
||||
color: Colors.yellowAccent,
|
||||
),
|
||||
|
|
@ -234,72 +234,72 @@ class ItemBaseModel with ItemBaseModelMappable {
|
|||
// Currently supported types
|
||||
enum FladderItemType {
|
||||
baseType(
|
||||
icon: IconsaxOutline.folder_2,
|
||||
selectedicon: IconsaxBold.folder_2,
|
||||
icon: IconsaxPlusLinear.folder_2,
|
||||
selectedicon: IconsaxPlusBold.folder_2,
|
||||
),
|
||||
audio(
|
||||
icon: IconsaxOutline.music,
|
||||
selectedicon: IconsaxBold.music,
|
||||
icon: IconsaxPlusLinear.music,
|
||||
selectedicon: IconsaxPlusBold.music,
|
||||
),
|
||||
musicAlbum(
|
||||
icon: IconsaxOutline.music,
|
||||
selectedicon: IconsaxBold.music,
|
||||
icon: IconsaxPlusLinear.music,
|
||||
selectedicon: IconsaxPlusBold.music,
|
||||
),
|
||||
musicVideo(
|
||||
icon: IconsaxOutline.music,
|
||||
selectedicon: IconsaxBold.music,
|
||||
icon: IconsaxPlusLinear.music,
|
||||
selectedicon: IconsaxPlusBold.music,
|
||||
),
|
||||
collectionFolder(
|
||||
icon: IconsaxOutline.music,
|
||||
selectedicon: IconsaxBold.music,
|
||||
icon: IconsaxPlusLinear.music,
|
||||
selectedicon: IconsaxPlusBold.music,
|
||||
),
|
||||
video(
|
||||
icon: IconsaxOutline.video,
|
||||
selectedicon: IconsaxBold.video,
|
||||
icon: IconsaxPlusLinear.video,
|
||||
selectedicon: IconsaxPlusBold.video,
|
||||
),
|
||||
movie(
|
||||
icon: IconsaxOutline.video_horizontal,
|
||||
selectedicon: IconsaxBold.video_horizontal,
|
||||
icon: IconsaxPlusLinear.video_horizontal,
|
||||
selectedicon: IconsaxPlusBold.video_horizontal,
|
||||
),
|
||||
series(
|
||||
icon: IconsaxOutline.video_vertical,
|
||||
selectedicon: IconsaxBold.video_vertical,
|
||||
icon: IconsaxPlusLinear.video_vertical,
|
||||
selectedicon: IconsaxPlusBold.video_vertical,
|
||||
),
|
||||
season(
|
||||
icon: IconsaxOutline.video_vertical,
|
||||
selectedicon: IconsaxBold.video_vertical,
|
||||
icon: IconsaxPlusLinear.video_vertical,
|
||||
selectedicon: IconsaxPlusBold.video_vertical,
|
||||
),
|
||||
episode(
|
||||
icon: IconsaxOutline.video_vertical,
|
||||
selectedicon: IconsaxBold.video_vertical,
|
||||
icon: IconsaxPlusLinear.video_vertical,
|
||||
selectedicon: IconsaxPlusBold.video_vertical,
|
||||
),
|
||||
photo(
|
||||
icon: IconsaxOutline.picture_frame,
|
||||
selectedicon: IconsaxBold.picture_frame,
|
||||
icon: IconsaxPlusLinear.picture_frame,
|
||||
selectedicon: IconsaxPlusBold.picture_frame,
|
||||
),
|
||||
person(
|
||||
icon: IconsaxOutline.user,
|
||||
selectedicon: IconsaxBold.user,
|
||||
icon: IconsaxPlusLinear.user,
|
||||
selectedicon: IconsaxPlusBold.user,
|
||||
),
|
||||
photoAlbum(
|
||||
icon: IconsaxOutline.gallery,
|
||||
selectedicon: IconsaxBold.gallery,
|
||||
icon: IconsaxPlusLinear.gallery,
|
||||
selectedicon: IconsaxPlusBold.gallery,
|
||||
),
|
||||
folder(
|
||||
icon: IconsaxOutline.folder,
|
||||
selectedicon: IconsaxBold.folder,
|
||||
icon: IconsaxPlusLinear.folder,
|
||||
selectedicon: IconsaxPlusBold.folder,
|
||||
),
|
||||
boxset(
|
||||
icon: IconsaxOutline.bookmark,
|
||||
selectedicon: IconsaxBold.bookmark,
|
||||
icon: IconsaxPlusLinear.bookmark,
|
||||
selectedicon: IconsaxPlusBold.bookmark,
|
||||
),
|
||||
playlist(
|
||||
icon: IconsaxOutline.archive_book,
|
||||
selectedicon: IconsaxBold.archive_book,
|
||||
icon: IconsaxPlusLinear.archive_book,
|
||||
selectedicon: IconsaxPlusBold.archive_book,
|
||||
),
|
||||
book(
|
||||
icon: IconsaxOutline.book,
|
||||
selectedicon: IconsaxBold.book,
|
||||
icon: IconsaxPlusLinear.book,
|
||||
selectedicon: IconsaxPlusBold.book,
|
||||
);
|
||||
|
||||
const FladderItemType({required this.icon, required this.selectedicon});
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import 'dart:io';
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:background_downloader/background_downloader.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:path/path.dart';
|
||||
|
|
@ -159,11 +159,11 @@ class SyncedItem with _$SyncedItem {
|
|||
enum SyncStatus {
|
||||
complete(
|
||||
Color.fromARGB(255, 141, 214, 58),
|
||||
IconsaxOutline.tick_circle,
|
||||
IconsaxPlusLinear.tick_circle,
|
||||
),
|
||||
partially(
|
||||
Color.fromARGB(255, 221, 135, 23),
|
||||
IconsaxOutline.more_circle,
|
||||
IconsaxPlusLinear.more_circle,
|
||||
),
|
||||
;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
|
||||
// ignore_for_file: public_member_api_docs, sort_constructors_first
|
||||
import 'package:collection/collection.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.swagger.dart';
|
||||
|
|
@ -19,9 +19,9 @@ enum PlaybackType {
|
|||
transcode;
|
||||
|
||||
IconData get icon => switch (this) {
|
||||
PlaybackType.offline => IconsaxOutline.cloud,
|
||||
PlaybackType.directStream => IconsaxOutline.arrow_right_1,
|
||||
PlaybackType.transcode => IconsaxOutline.convert,
|
||||
PlaybackType.offline => IconsaxPlusLinear.cloud,
|
||||
PlaybackType.directStream => IconsaxPlusLinear.arrow_right_1,
|
||||
PlaybackType.transcode => IconsaxPlusLinear.convert,
|
||||
};
|
||||
|
||||
String get name {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:extended_image/extended_image.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:screen_brightness/screen_brightness.dart';
|
||||
import 'package:wakelock_plus/wakelock_plus.dart';
|
||||
|
|
@ -239,7 +239,7 @@ class _BookViewerControlsState extends ConsumerState<BookViewerControls> {
|
|||
: nextChapter != null
|
||||
? () async => await loadNextBook(nextChapter)
|
||||
: null,
|
||||
icon: const Icon(IconsaxOutline.backward),
|
||||
icon: const Icon(IconsaxPlusLinear.backward),
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
|
|
@ -280,7 +280,7 @@ class _BookViewerControlsState extends ConsumerState<BookViewerControls> {
|
|||
: previousChapter != null
|
||||
? () async => await loadNextBook(previousChapter)
|
||||
: null,
|
||||
icon: const Icon(IconsaxOutline.forward),
|
||||
icon: const Icon(IconsaxPlusLinear.forward),
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
|
|
@ -296,13 +296,13 @@ class _BookViewerControlsState extends ConsumerState<BookViewerControls> {
|
|||
child: IconButton(
|
||||
onPressed: () => widget.controller
|
||||
.animateToPage(1, duration: pageAnimDuration, curve: pageAnimCurve),
|
||||
icon: const Icon(IconsaxOutline.backward)),
|
||||
icon: const Icon(IconsaxPlusLinear.backward)),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
showBookViewerSettings(context);
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.setting_2),
|
||||
icon: const Icon(IconsaxPlusLinear.setting_2),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: chapters.length > 1
|
||||
|
|
@ -317,7 +317,7 @@ class _BookViewerControlsState extends ConsumerState<BookViewerControls> {
|
|||
);
|
||||
}
|
||||
: () => fladderSnackbar(context, title: "No other chapters"),
|
||||
icon: const Icon(IconsaxOutline.bookmark_2),
|
||||
icon: const Icon(IconsaxPlusLinear.bookmark_2),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/item_base_model.dart';
|
||||
|
|
@ -60,7 +60,7 @@ class _AddToCollectionState extends ConsumerState<AddToCollection> {
|
|||
),
|
||||
IconButton(
|
||||
onPressed: () => ref.read(provider.notifier).setItems(widget.items),
|
||||
icon: const Icon(IconsaxOutline.refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/book_model.dart';
|
||||
|
|
@ -105,16 +105,16 @@ class _BookDetailScreenState extends ConsumerState<BookDetailScreen> {
|
|||
SelectableIconButton(
|
||||
onPressed: () async => await details.parentModel?.navigateTo(context),
|
||||
selected: false,
|
||||
selectedIcon: IconsaxBold.book,
|
||||
icon: IconsaxOutline.book,
|
||||
selectedIcon: IconsaxPlusBold.book,
|
||||
icon: IconsaxPlusLinear.book,
|
||||
),
|
||||
if (details.parentModel != null)
|
||||
SelectableIconButton(
|
||||
onPressed: () async => await ref.read(userProvider.notifier).setAsFavorite(
|
||||
!details.parentModel!.userData.isFavourite, details.parentModel!.id),
|
||||
selected: details.parentModel!.userData.isFavourite,
|
||||
selectedIcon: IconsaxBold.heart,
|
||||
icon: IconsaxOutline.heart,
|
||||
selectedIcon: IconsaxPlusBold.heart,
|
||||
icon: IconsaxPlusLinear.heart,
|
||||
)
|
||||
else
|
||||
SelectableIconButton(
|
||||
|
|
@ -122,8 +122,8 @@ class _BookDetailScreenState extends ConsumerState<BookDetailScreen> {
|
|||
.read(userProvider.notifier)
|
||||
.setAsFavorite(!details.book!.userData.isFavourite, details.book!.id),
|
||||
selected: details.book!.userData.isFavourite,
|
||||
selectedIcon: IconsaxBold.heart,
|
||||
icon: IconsaxOutline.heart,
|
||||
selectedIcon: IconsaxPlusBold.heart,
|
||||
icon: IconsaxPlusLinear.heart,
|
||||
),
|
||||
|
||||
//This one toggles all books in a collection
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/item_base_model.dart';
|
||||
|
|
@ -115,8 +115,8 @@ class _ItemDetailScreenState extends ConsumerState<EpisodeDetailScreen> {
|
|||
.setAsFavorite(!(episodeDetails.userData.isFavourite), episodeDetails.id);
|
||||
},
|
||||
selected: episodeDetails.userData.isFavourite,
|
||||
selectedIcon: IconsaxBold.heart,
|
||||
icon: IconsaxOutline.heart,
|
||||
selectedIcon: IconsaxPlusBold.heart,
|
||||
icon: IconsaxPlusLinear.heart,
|
||||
),
|
||||
SelectableIconButton(
|
||||
onPressed: () async {
|
||||
|
|
@ -125,8 +125,8 @@ class _ItemDetailScreenState extends ConsumerState<EpisodeDetailScreen> {
|
|||
.markAsPlayed(!(episodeDetails.userData.played), episodeDetails.id);
|
||||
},
|
||||
selected: episodeDetails.userData.played,
|
||||
selectedIcon: IconsaxBold.tick_circle,
|
||||
icon: IconsaxOutline.tick_circle,
|
||||
selectedIcon: IconsaxPlusBold.tick_circle,
|
||||
icon: IconsaxPlusLinear.tick_circle,
|
||||
),
|
||||
].addPadding(const EdgeInsets.symmetric(horizontal: 6)),
|
||||
).padding(padding),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/item_base_model.dart';
|
||||
|
|
@ -111,16 +111,16 @@ class _ItemDetailScreenState extends ConsumerState<MovieDetailScreen> {
|
|||
.setAsFavorite(!details.userData.isFavourite, details.id);
|
||||
},
|
||||
selected: details.userData.isFavourite,
|
||||
selectedIcon: IconsaxBold.heart,
|
||||
icon: IconsaxOutline.heart,
|
||||
selectedIcon: IconsaxPlusBold.heart,
|
||||
icon: IconsaxPlusLinear.heart,
|
||||
),
|
||||
SelectableIconButton(
|
||||
onPressed: () async {
|
||||
await ref.read(userProvider.notifier).markAsPlayed(!details.userData.played, details.id);
|
||||
},
|
||||
selected: details.userData.played,
|
||||
selectedIcon: IconsaxBold.tick_circle,
|
||||
icon: IconsaxOutline.tick_circle,
|
||||
selectedIcon: IconsaxPlusBold.tick_circle,
|
||||
icon: IconsaxPlusLinear.tick_circle,
|
||||
),
|
||||
],
|
||||
).padding(padding),
|
||||
|
|
|
|||
|
|
@ -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/item_base_model.dart';
|
||||
|
|
@ -83,16 +83,16 @@ class _SeasonDetailScreenState extends ConsumerState<SeasonDetailScreen> {
|
|||
.read(userProvider.notifier)
|
||||
.setAsFavorite(!details.userData.isFavourite, details.id),
|
||||
selected: details.userData.isFavourite,
|
||||
selectedIcon: IconsaxBold.heart,
|
||||
icon: IconsaxOutline.heart,
|
||||
selectedIcon: IconsaxPlusBold.heart,
|
||||
icon: IconsaxPlusLinear.heart,
|
||||
),
|
||||
SelectableIconButton(
|
||||
onPressed: () async => await ref
|
||||
.read(userProvider.notifier)
|
||||
.markAsPlayed(!details.userData.played, details.id),
|
||||
selected: details.userData.played,
|
||||
selectedIcon: IconsaxBold.tick_circle,
|
||||
icon: IconsaxOutline.tick_circle,
|
||||
selectedIcon: IconsaxPlusBold.tick_circle,
|
||||
icon: IconsaxPlusLinear.tick_circle,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/item_base_model.dart';
|
||||
|
|
@ -112,16 +112,16 @@ class _SeriesDetailScreenState extends ConsumerState<SeriesDetailScreen> {
|
|||
.setAsFavorite(!details.userData.isFavourite, details.id);
|
||||
},
|
||||
selected: details.userData.isFavourite,
|
||||
selectedIcon: IconsaxBold.heart,
|
||||
icon: IconsaxOutline.heart,
|
||||
selectedIcon: IconsaxPlusBold.heart,
|
||||
icon: IconsaxPlusLinear.heart,
|
||||
),
|
||||
SelectableIconButton(
|
||||
onPressed: () async {
|
||||
await ref.read(userProvider.notifier).markAsPlayed(!details.userData.played, details.id);
|
||||
},
|
||||
selected: details.userData.played,
|
||||
selectedIcon: IconsaxBold.tick_circle,
|
||||
icon: IconsaxOutline.tick_circle,
|
||||
selectedIcon: IconsaxPlusBold.tick_circle,
|
||||
icon: IconsaxPlusLinear.tick_circle,
|
||||
),
|
||||
],
|
||||
).padding(padding),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/providers/user_provider.dart';
|
||||
|
|
@ -31,8 +31,8 @@ class HomeScreen extends ConsumerWidget {
|
|||
case HomeTabs.dashboard:
|
||||
return DestinationModel(
|
||||
label: context.localized.navigationDashboard,
|
||||
icon: const Icon(IconsaxOutline.home),
|
||||
selectedIcon: const Icon(IconsaxBold.home),
|
||||
icon: const Icon(IconsaxPlusLinear.home),
|
||||
selectedIcon: const Icon(IconsaxPlusBold.home),
|
||||
route: const DashboardRoute(),
|
||||
action: () => context.router.navigate(const DashboardRoute()),
|
||||
floatingActionButton: AdaptiveFab(
|
||||
|
|
@ -40,21 +40,21 @@ class HomeScreen extends ConsumerWidget {
|
|||
title: context.localized.search,
|
||||
key: Key(e.name.capitalize()),
|
||||
onPressed: () => context.router.navigate(LibrarySearchRoute()),
|
||||
child: const Icon(IconsaxOutline.search_normal_1),
|
||||
child: const Icon(IconsaxPlusLinear.search_normal_1),
|
||||
),
|
||||
);
|
||||
case HomeTabs.favorites:
|
||||
return DestinationModel(
|
||||
label: context.localized.navigationFavorites,
|
||||
icon: const Icon(IconsaxOutline.heart),
|
||||
selectedIcon: const Icon(IconsaxBold.heart),
|
||||
icon: const Icon(IconsaxPlusLinear.heart),
|
||||
selectedIcon: const Icon(IconsaxPlusBold.heart),
|
||||
route: const FavouritesRoute(),
|
||||
floatingActionButton: AdaptiveFab(
|
||||
context: context,
|
||||
title: context.localized.filter(0),
|
||||
key: Key(e.name.capitalize()),
|
||||
onPressed: () => context.router.navigate(LibrarySearchRoute(favourites: true)),
|
||||
child: const Icon(IconsaxOutline.heart_search),
|
||||
child: const Icon(IconsaxPlusLinear.heart_search),
|
||||
),
|
||||
action: () => context.router.navigate(const FavouritesRoute()),
|
||||
);
|
||||
|
|
@ -62,8 +62,8 @@ class HomeScreen extends ConsumerWidget {
|
|||
if (canDownload) {
|
||||
return DestinationModel(
|
||||
label: context.localized.navigationSync,
|
||||
icon: const Icon(IconsaxOutline.cloud),
|
||||
selectedIcon: const Icon(IconsaxBold.cloud),
|
||||
icon: const Icon(IconsaxPlusLinear.cloud),
|
||||
selectedIcon: const Icon(IconsaxPlusBold.cloud),
|
||||
route: SyncedRoute(),
|
||||
action: () => context.router.navigate(SyncedRoute()),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -2,7 +2,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/account_model.dart';
|
||||
|
|
@ -107,7 +107,7 @@ class _LockScreenState extends ConsumerState<LockScreen> with WidgetsBindingObse
|
|||
ref.read(lockScreenActiveProvider.notifier).update((state) => false);
|
||||
context.router.push(const LoginRoute());
|
||||
},
|
||||
child: const Icon(IconsaxOutline.arrow_swap_horizontal),
|
||||
child: const Icon(IconsaxPlusLinear.arrow_swap_horizontal),
|
||||
),
|
||||
body: Center(
|
||||
child: Wrap(
|
||||
|
|
@ -117,7 +117,7 @@ class _LockScreenState extends ConsumerState<LockScreen> with WidgetsBindingObse
|
|||
direction: Axis.vertical,
|
||||
children: [
|
||||
const Icon(
|
||||
IconsaxOutline.lock_1,
|
||||
IconsaxPlusLinear.lock_1,
|
||||
size: 38,
|
||||
),
|
||||
if (user != null)
|
||||
|
|
|
|||
|
|
@ -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:intl/intl.dart';
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ class LoginEditUser extends ConsumerWidget {
|
|||
),
|
||||
Row(
|
||||
children: [
|
||||
const Icon(IconsaxBold.clock),
|
||||
const Icon(IconsaxPlusBold.clock),
|
||||
const SizedBox(width: 8),
|
||||
Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import 'dart:async';
|
|||
import 'package:flutter/material.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/account_model.dart';
|
||||
|
|
@ -90,12 +90,12 @@ class _LoginPageState extends ConsumerState<LoginScreen> {
|
|||
if (!AdaptiveLayout.of(context).isDesktop)
|
||||
FloatingActionButton(
|
||||
key: const Key("edit_button"),
|
||||
child: const Icon(IconsaxOutline.edit_2),
|
||||
child: const Icon(IconsaxPlusLinear.edit_2),
|
||||
onPressed: () => setState(() => editingUsers = !editingUsers),
|
||||
),
|
||||
FloatingActionButton(
|
||||
key: const Key("new_button"),
|
||||
child: const Icon(IconsaxOutline.add_square),
|
||||
child: const Icon(IconsaxPlusLinear.add_square),
|
||||
onPressed: startAddingNewUser,
|
||||
),
|
||||
].addInBetween(const SizedBox(width: 16)),
|
||||
|
|
@ -287,7 +287,7 @@ class _LoginPageState extends ConsumerState<LoginScreen> {
|
|||
ref.read(authProvider.notifier).setServer("");
|
||||
},
|
||||
icon: const Icon(
|
||||
IconsaxOutline.arrow_left_2,
|
||||
IconsaxPlusLinear.arrow_left_2,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -315,7 +315,7 @@ class _LoginPageState extends ConsumerState<LoginScreen> {
|
|||
child: IconButton.filled(
|
||||
onPressed: () => retrieveListOfUsers(),
|
||||
icon: const Icon(
|
||||
IconsaxOutline.refresh,
|
||||
IconsaxPlusLinear.refresh,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -381,7 +381,7 @@ class _LoginPageState extends ConsumerState<LoginScreen> {
|
|||
children: [
|
||||
Text(context.localized.login),
|
||||
const SizedBox(width: 8),
|
||||
const Icon(IconsaxBold.send_1),
|
||||
const Icon(IconsaxPlusBold.send_1),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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:reorderable_grid/reorderable_grid.dart';
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ class LoginUserGrid extends ConsumerWidget {
|
|||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
const Icon(
|
||||
IconsaxBold.driver_2,
|
||||
IconsaxPlusBold.driver_2,
|
||||
size: 14,
|
||||
),
|
||||
const SizedBox(width: 4),
|
||||
|
|
@ -107,7 +107,7 @@ class LoginUserGrid extends ConsumerWidget {
|
|||
child: const Padding(
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: Icon(
|
||||
IconsaxBold.edit_2,
|
||||
IconsaxPlusBold.edit_2,
|
||||
size: 14,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
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/credentials_model.dart';
|
||||
|
|
@ -46,7 +46,7 @@ class DiscoverServersWidget extends ConsumerWidget {
|
|||
style: context.textTheme.bodyLarge,
|
||||
),
|
||||
const Spacer(),
|
||||
const Opacity(opacity: 0.65, child: Icon(IconsaxOutline.bookmark, size: 16)),
|
||||
const Opacity(opacity: 0.65, child: Icon(IconsaxPlusLinear.bookmark, size: 16)),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
|
|
@ -69,7 +69,7 @@ class DiscoverServersWidget extends ConsumerWidget {
|
|||
style: context.textTheme.bodyLarge,
|
||||
),
|
||||
const Spacer(),
|
||||
const Opacity(opacity: 0.65, child: Icon(IconsaxBold.airdrop, size: 16)),
|
||||
const Opacity(opacity: 0.65, child: Icon(IconsaxPlusBold.airdrop, size: 16)),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
|
|
@ -135,7 +135,7 @@ class _ServerInfoCard extends StatelessWidget {
|
|||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Icon(
|
||||
IconsaxBold.driver,
|
||||
IconsaxPlusBold.driver,
|
||||
color: Theme.of(context).colorScheme.onPrimaryContainer,
|
||||
),
|
||||
),
|
||||
|
|
@ -158,7 +158,7 @@ class _ServerInfoCard extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
),
|
||||
const Icon(IconsaxOutline.edit_2, size: 16)
|
||||
const Icon(IconsaxPlusLinear.edit_2, size: 16)
|
||||
].addInBetween(const SizedBox(width: 12)),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
import 'package:fladder/providers/edit_item_provider.dart';
|
||||
|
|
@ -103,7 +103,7 @@ class _EditDialogSwitcherState extends ConsumerState<EditDialogSwitcher> with Ti
|
|||
style: Theme.of(context).textTheme.titleLarge,
|
||||
),
|
||||
),
|
||||
IconButton(onPressed: () => refreshEditor(), icon: const Icon(IconsaxOutline.refresh))
|
||||
IconButton(onPressed: () => refreshEditor(), icon: const Icon(IconsaxPlusLinear.refresh))
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:collection/collection.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/models/items/item_shared_models.dart';
|
||||
import 'package:fladder/providers/edit_item_provider.dart';
|
||||
|
|
@ -557,7 +557,7 @@ class _EditGeneralState extends ConsumerState<EditFields> {
|
|||
.read(editItemProvider.notifier)
|
||||
.updateField(MapEntry(e.key, newDate.toIso8601String()));
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.calendar_2))
|
||||
icon: const Icon(IconsaxPlusLinear.calendar_2))
|
||||
],
|
||||
),
|
||||
DisplayOrder _ => Builder(builder: (context) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
|
|
@ -67,7 +67,7 @@ class _IdentifyScreenState extends ConsumerState<IdentifyScreen> with TickerProv
|
|||
const Spacer(),
|
||||
IconButton(
|
||||
onPressed: () async => await ref.read(provider.notifier).fetchInformation(),
|
||||
icon: const Icon(IconsaxOutline.refresh)),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh)),
|
||||
],
|
||||
),
|
||||
TabBar(
|
||||
|
|
|
|||
|
|
@ -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/information_model.dart';
|
||||
|
|
@ -83,7 +83,7 @@ class ItemInfoScreenState extends ConsumerState<ItemInfoScreen> {
|
|||
const SizedBox(width: 6),
|
||||
IconButton(
|
||||
onPressed: () => ref.read(provider.notifier).getItemInformation(widget.item),
|
||||
icon: const Icon(IconsaxOutline.refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:extended_image/extended_image.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
|
|
@ -301,13 +301,13 @@ class _PhotoViewerControllsState extends ConsumerState<PhotoViewerControls> with
|
|||
children: [
|
||||
ElevatedIconButton(
|
||||
onPressed: widget.openOptions,
|
||||
icon: IconsaxOutline.more_2,
|
||||
icon: IconsaxPlusLinear.more_2,
|
||||
),
|
||||
const Spacer(),
|
||||
ElevatedIconButton(
|
||||
onPressed: markAsFavourite,
|
||||
color: widget.photo.userData.isFavourite ? Colors.red : null,
|
||||
icon: widget.photo.userData.isFavourite ? IconsaxBold.heart : IconsaxOutline.heart,
|
||||
icon: widget.photo.userData.isFavourite ? IconsaxPlusBold.heart : IconsaxPlusLinear.heart,
|
||||
),
|
||||
ProgressFloatingButton(
|
||||
controller: timerController,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import 'package:flutter/services.dart';
|
|||
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:extended_image/extended_image.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_blurhash/flutter_blurhash.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
|
|
@ -334,7 +334,7 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
IconButton.styleFrom(shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8))),
|
||||
onPressed: () =>
|
||||
controller.nextPage(duration: const Duration(milliseconds: 125), curve: Curves.easeInOut),
|
||||
icon: const Icon(IconsaxBold.arrow_right_1),
|
||||
icon: const Icon(IconsaxPlusBold.arrow_right_1),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -358,7 +358,7 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
IconButton.styleFrom(shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8))),
|
||||
onPressed: () =>
|
||||
controller.previousPage(duration: const Duration(milliseconds: 125), curve: Curves.easeInOut),
|
||||
icon: const Icon(IconsaxBold.arrow_left),
|
||||
icon: const Icon(IconsaxPlusBold.arrow_left),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -410,8 +410,8 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
child: AnimatedVisibilityIcon(
|
||||
key: Key(currentPhoto.id),
|
||||
isFilled: currentPhoto.userData.isFavourite,
|
||||
filledIcon: IconsaxBold.heart,
|
||||
outlinedIcon: IconsaxOutline.heart,
|
||||
filledIcon: IconsaxPlusBold.heart,
|
||||
outlinedIcon: IconsaxPlusLinear.heart,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
|
@ -441,8 +441,8 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
.read(photoViewSettingsProvider.notifier)
|
||||
.update((state) => state.copyWith(repeat: !state.repeat)),
|
||||
icon: ref.watch(photoViewSettingsProvider.select((value) => value.repeat))
|
||||
? IconsaxOutline.repeat
|
||||
: IconsaxOutline.repeate_one,
|
||||
? IconsaxPlusLinear.repeat
|
||||
: IconsaxPlusLinear.repeate_one,
|
||||
),
|
||||
ElevatedIconButtonLabel(
|
||||
label: context.localized.audio,
|
||||
|
|
@ -450,8 +450,8 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
.read(photoViewSettingsProvider.notifier)
|
||||
.update((state) => state.copyWith(mute: !state.mute)),
|
||||
icon: ref.watch(photoViewSettingsProvider.select((value) => value.mute))
|
||||
? IconsaxOutline.volume_slash
|
||||
: IconsaxOutline.volume_high,
|
||||
? IconsaxPlusLinear.volume_slash
|
||||
: IconsaxPlusLinear.volume_high,
|
||||
),
|
||||
ElevatedIconButtonLabel(
|
||||
label: context.localized.autoPlay,
|
||||
|
|
@ -459,8 +459,8 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
.read(photoViewSettingsProvider.notifier)
|
||||
.update((state) => state.copyWith(autoPlay: !state.autoPlay)),
|
||||
icon: ref.watch(photoViewSettingsProvider.select((value) => value.autoPlay))
|
||||
? IconsaxOutline.play_remove
|
||||
: IconsaxOutline.play,
|
||||
? IconsaxPlusLinear.play_remove
|
||||
: IconsaxPlusLinear.play,
|
||||
),
|
||||
ElevatedIconButtonLabel(
|
||||
label: context.localized.backgroundBlur,
|
||||
|
|
@ -468,8 +468,8 @@ class _PhotoViewerScreenState extends ConsumerState<PhotoViewerScreen> with Widg
|
|||
.read(photoViewSettingsProvider.notifier)
|
||||
.update((state) => state.copyWith(theaterMode: !state.theaterMode)),
|
||||
icon: ref.watch(photoViewSettingsProvider.select((value) => value.theaterMode))
|
||||
? IconsaxOutline.filter_remove
|
||||
: IconsaxOutline.filter,
|
||||
? IconsaxPlusLinear.filter_remove
|
||||
: IconsaxPlusLinear.filter,
|
||||
),
|
||||
].addInBetween(const SizedBox(width: 16)),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'dart:async';
|
|||
|
||||
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:path/path.dart';
|
||||
import 'package:wakelock_plus/wakelock_plus.dart';
|
||||
|
|
@ -222,7 +222,7 @@ class _SimpleVideoPlayerState extends ConsumerState<SimpleVideoPlayer> with Wind
|
|||
}
|
||||
},
|
||||
icon: Icon(
|
||||
player.lastState.playing ? IconsaxBold.pause_circle : IconsaxBold.play_circle,
|
||||
player.lastState.playing ? IconsaxPlusBold.pause_circle : IconsaxPlusBold.play_circle,
|
||||
),
|
||||
)
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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/item_base_model.dart';
|
||||
|
|
@ -55,7 +55,7 @@ class _AddToPlaylistState extends ConsumerState<AddToPlaylist> {
|
|||
),
|
||||
IconButton(
|
||||
onPressed: () => ref.read(provider.notifier).setItems(widget.items),
|
||||
icon: const Icon(IconsaxOutline.refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ const socials = [
|
|||
_Socials(
|
||||
'Weblate',
|
||||
'https://hosted.weblate.org/projects/fladder/',
|
||||
IconsaxOutline.global,
|
||||
IconsaxPlusLinear.global,
|
||||
),
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ List<Widget> buildClientSettingsDownload(BuildContext context, WidgetRef ref, Fu
|
|||
],
|
||||
),
|
||||
),
|
||||
icon: const Icon(IconsaxOutline.folder_minus),
|
||||
icon: const Icon(IconsaxPlusLinear.folder_minus),
|
||||
)
|
||||
: null,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/settings/home_settings_model.dart';
|
||||
|
|
@ -76,15 +76,15 @@ class _SettingsScreenState extends ConsumerState<SettingsScreen> {
|
|||
|
||||
IconData get deviceIcon {
|
||||
if (AdaptiveLayout.of(context).isDesktop) {
|
||||
return IconsaxOutline.monitor;
|
||||
return IconsaxPlusLinear.monitor;
|
||||
}
|
||||
switch (AdaptiveLayout.viewSizeOf(context)) {
|
||||
case ViewSize.phone:
|
||||
return IconsaxOutline.mobile;
|
||||
return IconsaxPlusLinear.mobile;
|
||||
case ViewSize.tablet:
|
||||
return IconsaxOutline.monitor;
|
||||
return IconsaxPlusLinear.monitor;
|
||||
case ViewSize.desktop:
|
||||
return IconsaxOutline.monitor;
|
||||
return IconsaxPlusLinear.monitor;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -115,21 +115,21 @@ class _SettingsScreenState extends ConsumerState<SettingsScreen> {
|
|||
if (quickConnectAvailable)
|
||||
SettingsListTile(
|
||||
label: Text(context.localized.settingsQuickConnectTitle),
|
||||
icon: IconsaxOutline.password_check,
|
||||
icon: IconsaxPlusLinear.password_check,
|
||||
onTap: () => openQuickConnectDialog(context),
|
||||
),
|
||||
SettingsListTile(
|
||||
label: Text(context.localized.settingsProfileTitle),
|
||||
subLabel: Text(context.localized.settingsProfileDesc),
|
||||
selected: containsRoute(const SecuritySettingsRoute()),
|
||||
icon: IconsaxOutline.security_user,
|
||||
icon: IconsaxPlusLinear.security_user,
|
||||
onTap: () => navigateTo(const SecuritySettingsRoute()),
|
||||
),
|
||||
SettingsListTile(
|
||||
label: Text(context.localized.settingsPlayerTitle),
|
||||
subLabel: Text(context.localized.settingsPlayerDesc),
|
||||
selected: containsRoute(const PlayerSettingsRoute()),
|
||||
icon: IconsaxOutline.video_play,
|
||||
icon: IconsaxPlusLinear.video_play,
|
||||
onTap: () => navigateTo(const PlayerSettingsRoute()),
|
||||
),
|
||||
SettingsListTile(
|
||||
|
|
@ -162,7 +162,7 @@ class _SettingsScreenState extends ConsumerState<SettingsScreen> {
|
|||
context.router.replaceAll([const LoginRoute()]);
|
||||
},
|
||||
child: const Icon(
|
||||
IconsaxOutline.arrow_swap_horizontal,
|
||||
IconsaxPlusLinear.arrow_swap_horizontal,
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 16),
|
||||
|
|
@ -205,7 +205,7 @@ class _SettingsScreenState extends ConsumerState<SettingsScreen> {
|
|||
);
|
||||
},
|
||||
child: Icon(
|
||||
IconsaxOutline.logout,
|
||||
IconsaxPlusLinear.logout,
|
||||
color: Theme.of(context).colorScheme.onErrorContainer,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/util/list_padding.dart';
|
||||
|
|
@ -41,9 +41,9 @@ class SettingsMessageBox extends ConsumerWidget {
|
|||
children: [
|
||||
Icon(
|
||||
switch (messageType) {
|
||||
MessageType.info => IconsaxOutline.information,
|
||||
MessageType.warning => IconsaxOutline.warning_2,
|
||||
MessageType.error => IconsaxOutline.danger,
|
||||
MessageType.info => IconsaxPlusLinear.information,
|
||||
MessageType.warning => IconsaxPlusLinear.warning_2,
|
||||
MessageType.error => IconsaxPlusLinear.danger,
|
||||
},
|
||||
),
|
||||
Flexible(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/models/account_model.dart';
|
||||
import 'package:fladder/screens/shared/fladder_snackbar.dart';
|
||||
import 'package:fladder/screens/shared/passcode_input.dart';
|
||||
|
|
@ -16,7 +16,7 @@ void showAuthOptionsDialogue(
|
|||
context: context,
|
||||
builder: (context) => AlertDialog(
|
||||
scrollable: true,
|
||||
icon: const Icon(IconsaxBold.lock_1),
|
||||
icon: const Icon(IconsaxPlusBold.lock_1),
|
||||
title: Text(context.localized.appLockTitle(currentUser.name)),
|
||||
actionsOverflowDirection: VerticalDirection.down,
|
||||
actions: Authentication.values
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
|
||||
import 'package:fladder/models/settings/home_settings_model.dart';
|
||||
import 'package:fladder/util/adaptive_layout.dart';
|
||||
|
|
@ -96,7 +96,7 @@ class CategoryChip<T> extends StatelessWidget {
|
|||
newEntry = null;
|
||||
onClear!();
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.back_square),
|
||||
icon: const Icon(IconsaxPlusLinear.back_square),
|
||||
label: Text(context.localized.clear),
|
||||
)
|
||||
].addInBetween(const SizedBox(width: 6));
|
||||
|
|
@ -123,7 +123,7 @@ class CategoryChip<T> extends StatelessWidget {
|
|||
newEntry = null;
|
||||
onClear!();
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.back_square),
|
||||
icon: const Icon(IconsaxPlusLinear.back_square),
|
||||
label: Text(context.localized.clear),
|
||||
)
|
||||
].addInBetween(const SizedBox(width: 6)),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/item_base_model.dart';
|
||||
|
|
@ -194,7 +194,7 @@ class _DetailScaffoldState extends ConsumerState<DetailScaffold> {
|
|||
onPressed: () => context.router.popBack(),
|
||||
icon: Padding(
|
||||
padding: EdgeInsets.all(AdaptiveLayout.of(context).inputDevice == InputDevice.pointer ? 0 : 4),
|
||||
child: const Icon(IconsaxOutline.arrow_left_2),
|
||||
child: const Icon(IconsaxPlusLinear.arrow_left_2),
|
||||
),
|
||||
),
|
||||
const Spacer(),
|
||||
|
|
@ -241,7 +241,7 @@ class _DetailScaffoldState extends ConsumerState<DetailScaffold> {
|
|||
message: context.localized.refresh,
|
||||
child: IconButton(
|
||||
onPressed: () => context.refreshData(),
|
||||
icon: const Icon(IconsaxOutline.refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -259,7 +259,7 @@ class _DetailScaffoldState extends ConsumerState<DetailScaffold> {
|
|||
message: context.localized.home,
|
||||
child: IconButton(
|
||||
onPressed: () => context.router.navigate(const DashboardRoute()),
|
||||
icon: const Icon(IconsaxOutline.home),
|
||||
icon: const Icon(IconsaxPlusLinear.home),
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:desktop_drop/desktop_drop.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/screens/shared/outlined_text_field.dart';
|
||||
import 'package:fladder/util/adaptive_layout.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
|
@ -131,7 +131,7 @@ class _FilePickerBarState extends ConsumerState<FilePickerBar> {
|
|||
),
|
||||
const SizedBox(width: 12),
|
||||
Icon(
|
||||
IconsaxBold.folder_add,
|
||||
IconsaxPlusBold.folder_add,
|
||||
color: contentColor,
|
||||
)
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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:square_progress_indicator/square_progress_indicator.dart';
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ class BannerPlayButton extends ConsumerWidget {
|
|||
IconButton(
|
||||
onPressed: () => item.play(context, ref),
|
||||
icon: const Icon(
|
||||
IconsaxBold.play,
|
||||
IconsaxPlusBold.play,
|
||||
size: 30,
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
|
|
@ -194,7 +194,7 @@ class _CarouselBannerState extends ConsumerState<CarouselBanner> {
|
|||
carouselController.animateTo(currentPos.pixels - itemExtent,
|
||||
curve: Curves.easeInOutCubic, duration: const Duration(milliseconds: 250));
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.arrow_left_2),
|
||||
icon: const Icon(IconsaxPlusLinear.arrow_left_2),
|
||||
),
|
||||
IconButton.filledTonal(
|
||||
onPressed: () {
|
||||
|
|
@ -202,7 +202,7 @@ class _CarouselBannerState extends ConsumerState<CarouselBanner> {
|
|||
carouselController.animateTo(currentPos.pixels + itemExtent,
|
||||
curve: Curves.easeInOutCubic, duration: const Duration(milliseconds: 250));
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.arrow_right_3),
|
||||
icon: const Icon(IconsaxPlusLinear.arrow_right_3),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/item_base_model.dart';
|
||||
|
|
@ -43,7 +43,7 @@ class MediaPlayButton extends ConsumerWidget {
|
|||
),
|
||||
const SizedBox(width: 4),
|
||||
const Icon(
|
||||
IconsaxBold.play,
|
||||
IconsaxPlusBold.play,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/book_model.dart';
|
||||
|
|
@ -171,7 +171,7 @@ class _PosterImageState extends ConsumerState<PosterImage> {
|
|||
StatusCard(
|
||||
color: Colors.red,
|
||||
child: Icon(
|
||||
IconsaxBold.heart,
|
||||
IconsaxPlusBold.heart,
|
||||
size: 21,
|
||||
color: Colors.red,
|
||||
),
|
||||
|
|
@ -252,7 +252,7 @@ class _PosterImageState extends ConsumerState<PosterImage> {
|
|||
child: IconButton.filledTonal(
|
||||
onPressed: () => widget.playVideo?.call(false),
|
||||
icon: const Icon(
|
||||
IconsaxBold.play,
|
||||
IconsaxPlusBold.play,
|
||||
size: 32,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/providers/settings/client_settings_provider.dart';
|
||||
import 'package:fladder/providers/sync_provider.dart';
|
||||
import 'package:fladder/screens/shared/media/episode_posters.dart';
|
||||
|
|
@ -13,8 +13,8 @@ import 'package:fladder/models/items/episode_model.dart';
|
|||
import 'package:fladder/util/humanize_duration.dart';
|
||||
|
||||
enum EpisodeDetailsViewType {
|
||||
list(icon: IconsaxBold.grid_6),
|
||||
grid(icon: IconsaxBold.grid_2);
|
||||
list(icon: IconsaxPlusBold.grid_6),
|
||||
grid(icon: IconsaxPlusBold.grid_2);
|
||||
|
||||
const EpisodeDetailsViewType({required this.icon});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/util/localization_helper.dart';
|
||||
import 'package:fladder/util/sticky_header_text.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
|
@ -68,11 +68,11 @@ class _ExpandingOverviewState extends ConsumerState<ExpandingOverview> {
|
|||
child: expanded
|
||||
? IconButton.filledTonal(
|
||||
onPressed: toggleState,
|
||||
icon: const Icon(IconsaxOutline.arrow_up_2),
|
||||
icon: const Icon(IconsaxPlusLinear.arrow_up_2),
|
||||
)
|
||||
: IconButton.filledTonal(
|
||||
onPressed: toggleState,
|
||||
icon: const Icon(IconsaxOutline.arrow_down_1),
|
||||
icon: const Icon(IconsaxPlusLinear.arrow_down_1),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:async/async.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
|
|
@ -253,7 +253,7 @@ class _MediaBannerState extends ConsumerState<MediaBanner> {
|
|||
children: [
|
||||
IconButton.filledTonal(
|
||||
onPressed: () => nextSlide(),
|
||||
icon: const Icon(IconsaxOutline.arrow_right_3),
|
||||
icon: const Icon(IconsaxPlusLinear.arrow_right_3),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/models/book_model.dart';
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
import 'package:fladder/models/items/item_shared_models.dart';
|
||||
|
|
@ -181,7 +181,7 @@ class PosterListItem extends ConsumerWidget {
|
|||
),
|
||||
if (poster.userData.isFavourite)
|
||||
const Icon(
|
||||
IconsaxBold.heart,
|
||||
IconsaxPlusBold.heart,
|
||||
color: Colors.red,
|
||||
),
|
||||
if (AdaptiveLayout.of(context).isDesktop)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/util/list_padding.dart';
|
||||
import 'package:fladder/util/localization_helper.dart';
|
||||
import 'package:fladder/widgets/navigation_scaffold/components/settings_user_icon.dart';
|
||||
|
|
@ -36,7 +36,7 @@ class NestedSliverAppBar extends ConsumerWidget {
|
|||
),
|
||||
onPressed: () => Scaffold.of(parent).openDrawer(),
|
||||
icon: const Icon(
|
||||
IconsaxBold.menu,
|
||||
IconsaxPlusBold.menu,
|
||||
size: 28,
|
||||
),
|
||||
),
|
||||
|
|
@ -59,7 +59,7 @@ class NestedSliverAppBar extends ConsumerWidget {
|
|||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
const Icon(IconsaxOutline.search_normal),
|
||||
const Icon(IconsaxPlusLinear.search_normal),
|
||||
const SizedBox(width: 16),
|
||||
Transform.translate(
|
||||
offset: const Offset(0, 2.5),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
import 'package:fladder/models/syncing/sync_item.dart';
|
||||
import 'package:fladder/providers/sync/sync_provider_helpers.dart';
|
||||
|
|
@ -45,10 +45,10 @@ class _SyncButtonState extends ConsumerState<SyncButton> {
|
|||
syncedItem != null
|
||||
? status == SyncStatus.partially
|
||||
? (progress?.progress ?? 0) > 0
|
||||
? IconsaxOutline.arrow_down
|
||||
: IconsaxOutline.more_circle
|
||||
: IconsaxOutline.tick_circle
|
||||
: IconsaxOutline.arrow_down_2,
|
||||
? IconsaxPlusLinear.arrow_down
|
||||
: IconsaxPlusLinear.more_circle
|
||||
: IconsaxPlusLinear.tick_circle
|
||||
: IconsaxPlusLinear.arrow_down_2,
|
||||
color: status?.color,
|
||||
size: (progress?.progress ?? 0) > 0 ? 16 : null,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:background_downloader/background_downloader.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/items/episode_model.dart';
|
||||
|
|
@ -73,7 +73,7 @@ class _SyncItemDetailsState extends ConsumerState<SyncItemDetails> {
|
|||
),
|
||||
IconButton(
|
||||
onPressed: () => Navigator.pop(context),
|
||||
icon: const Icon(IconsaxBold.close_circle),
|
||||
icon: const Icon(IconsaxPlusBold.close_circle),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
@ -126,19 +126,19 @@ class _SyncItemDetailsState extends ConsumerState<SyncItemDetails> {
|
|||
IconButton(
|
||||
onPressed: () =>
|
||||
ref.read(backgroundDownloaderProvider).pause(combinedStream!.task!),
|
||||
icon: const Icon(IconsaxBold.pause),
|
||||
icon: const Icon(IconsaxPlusBold.pause),
|
||||
),
|
||||
if (combinedStream?.status == TaskStatus.paused) ...[
|
||||
IconButton(
|
||||
onPressed: () =>
|
||||
ref.read(backgroundDownloaderProvider).resume(combinedStream!.task!),
|
||||
icon: const Icon(IconsaxBold.play),
|
||||
icon: const Icon(IconsaxPlusBold.play),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () => ref
|
||||
.read(syncProvider.notifier)
|
||||
.deleteFullSyncFiles(syncedItem, combinedStream?.task),
|
||||
icon: const Icon(IconsaxBold.stop),
|
||||
icon: const Icon(IconsaxPlusBold.stop),
|
||||
),
|
||||
],
|
||||
const SizedBox(width: 16)
|
||||
|
|
@ -168,7 +168,7 @@ class _SyncItemDetailsState extends ConsumerState<SyncItemDetails> {
|
|||
if (!hasFile && !downloadTask.hasDownload && syncedItem.hasVideoFile)
|
||||
IconButtonAwait(
|
||||
onPressed: () async => await ref.read(syncProvider.notifier).syncVideoFile(syncedItem, false),
|
||||
icon: const Icon(IconsaxOutline.cloud_change),
|
||||
icon: const Icon(IconsaxPlusLinear.cloud_change),
|
||||
)
|
||||
else if (hasFile)
|
||||
IconButtonAwait(
|
||||
|
|
@ -187,7 +187,7 @@ class _SyncItemDetailsState extends ConsumerState<SyncItemDetails> {
|
|||
context.localized.cancel,
|
||||
);
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.trash),
|
||||
icon: const Icon(IconsaxPlusLinear.trash),
|
||||
),
|
||||
].addInBetween(const SizedBox(width: 16)),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/syncing/sync_item.dart';
|
||||
|
|
@ -43,7 +43,7 @@ class SyncListItemState extends ConsumerState<SyncListItem> {
|
|||
child: const Padding(
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: Row(
|
||||
children: [Icon(IconsaxBold.trash)],
|
||||
children: [Icon(IconsaxPlusBold.trash)],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -132,7 +132,7 @@ class SyncListItemState extends ConsumerState<SyncListItem> {
|
|||
)),
|
||||
IconButton(
|
||||
onPressed: () => showSyncItemDetails(context, syncedItem, ref),
|
||||
icon: const Icon(IconsaxOutline.more_square),
|
||||
icon: const Icon(IconsaxPlusLinear.more_square),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:background_downloader/background_downloader.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/items/episode_model.dart';
|
||||
|
|
@ -75,17 +75,17 @@ class SyncProgressBar extends ConsumerWidget {
|
|||
if (downloadStatus != TaskStatus.paused)
|
||||
IconButton(
|
||||
onPressed: () => ref.read(backgroundDownloaderProvider).pause(downloadTask),
|
||||
icon: const Icon(IconsaxBold.pause),
|
||||
icon: const Icon(IconsaxPlusBold.pause),
|
||||
)
|
||||
},
|
||||
if (downloadStatus == TaskStatus.paused && downloadTask != null) ...[
|
||||
IconButton(
|
||||
onPressed: () => ref.read(backgroundDownloaderProvider).resume(downloadTask),
|
||||
icon: const Icon(IconsaxBold.play),
|
||||
icon: const Icon(IconsaxPlusBold.play),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () => ref.read(syncProvider.notifier).deleteFullSyncFiles(item, downloadTask),
|
||||
icon: const Icon(IconsaxBold.stop),
|
||||
icon: const Icon(IconsaxPlusBold.stop),
|
||||
)
|
||||
],
|
||||
].addInBetween(const SizedBox(width: 8)),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.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/settings/home_settings_model.dart';
|
||||
|
|
@ -83,7 +83,7 @@ class _SyncedScreenState extends ConsumerState<SyncedScreen> {
|
|||
),
|
||||
const SizedBox(width: 16),
|
||||
const Icon(
|
||||
IconsaxOutline.cloud_cross,
|
||||
IconsaxPlusLinear.cloud_cross,
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/syncing/sync_item.dart';
|
||||
|
|
@ -33,7 +33,7 @@ class SyncStatusOverlay extends ConsumerWidget {
|
|||
valueColor: AlwaysStoppedAnimation(Theme.of(context).colorScheme.error),
|
||||
),
|
||||
Text(context.localized.syncOverlayDeleting),
|
||||
const Icon(IconsaxOutline.trash)
|
||||
const Icon(IconsaxPlusLinear.trash)
|
||||
].addPadding(const EdgeInsets.symmetric(horizontal: 16)),
|
||||
),
|
||||
),
|
||||
|
|
@ -55,7 +55,7 @@ class SyncStatusOverlay extends ConsumerWidget {
|
|||
valueColor: AlwaysStoppedAnimation(Theme.of(context).colorScheme.error),
|
||||
),
|
||||
Text(context.localized.syncOverlaySyncing),
|
||||
const Icon(IconsaxOutline.cloud_notif)
|
||||
const Icon(IconsaxPlusLinear.cloud_notif)
|
||||
].addPadding(const EdgeInsets.symmetric(horizontal: 16)),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/items/episode_model.dart';
|
||||
|
|
@ -97,7 +97,7 @@ class _SyncedEpisodeItemState extends ConsumerState<SyncedEpisodeItem> {
|
|||
if (!hasFile && !downloadTask.hasDownload)
|
||||
IconButtonAwait(
|
||||
onPressed: () async => await ref.read(syncProvider.notifier).syncVideoFile(syncedItem, false),
|
||||
icon: const Icon(IconsaxOutline.cloud_change),
|
||||
icon: const Icon(IconsaxPlusLinear.cloud_change),
|
||||
)
|
||||
else if (hasFile)
|
||||
IconButtonAwait(
|
||||
|
|
@ -116,7 +116,7 @@ class _SyncedEpisodeItemState extends ConsumerState<SyncedEpisodeItem> {
|
|||
context.localized.cancel,
|
||||
);
|
||||
},
|
||||
icon: const Icon(IconsaxOutline.trash),
|
||||
icon: const Icon(IconsaxPlusLinear.trash),
|
||||
)
|
||||
].addInBetween(const SizedBox(width: 16)),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'dart:ui';
|
|||
|
||||
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/playback/playback_model.dart';
|
||||
|
|
@ -70,7 +70,7 @@ class _VideoPlaybackInformation extends ConsumerWidget {
|
|||
),
|
||||
IconButton.filled(
|
||||
onPressed: () => context.copyToClipboard(playbackModel?.media?.url ?? "No url"),
|
||||
icon: const Icon(IconsaxOutline.copy),
|
||||
icon: const Icon(IconsaxPlusLinear.copy),
|
||||
)
|
||||
],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:screen_brightness/screen_brightness.dart';
|
||||
|
||||
|
|
@ -276,13 +276,13 @@ class _VideoPlayerNextWrapperState extends ConsumerState<VideoPlayerNextWrapper>
|
|||
IconButton.filledTonal(
|
||||
onPressed: () => hideNextUp(),
|
||||
tooltip: context.localized.resumeVideo,
|
||||
icon: const Icon(IconsaxBold.maximize_4),
|
||||
icon: const Icon(IconsaxPlusBold.maximize_4),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
IconButton.filledTonal(
|
||||
onPressed: () => closePlayer(),
|
||||
tooltip: context.localized.closeVideo,
|
||||
icon: const Icon(IconsaxBold.close_square),
|
||||
icon: const Icon(IconsaxPlusBold.close_square),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
@ -454,13 +454,13 @@ class _SimpleControls extends ConsumerWidget {
|
|||
children: [
|
||||
IconButton.filledTonal(
|
||||
onPressed: () => player.playOrPause(),
|
||||
icon: Icon(isPlaying ? IconsaxBold.pause : IconsaxBold.play),
|
||||
icon: Icon(isPlaying ? IconsaxPlusBold.pause : IconsaxPlusBold.play),
|
||||
),
|
||||
if (skip != null)
|
||||
IconButton.filledTonal(
|
||||
onPressed: skip,
|
||||
tooltip: context.localized.playNextVideo,
|
||||
icon: const Icon(IconsaxBold.next),
|
||||
icon: const Icon(IconsaxPlusBold.next),
|
||||
)
|
||||
].addInBetween(const SizedBox(width: 4)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
|
|
@ -124,7 +124,7 @@ class _VideoOptionsMobileState extends ConsumerState<VideoOptions> {
|
|||
icon: Opacity(
|
||||
opacity: videoSettings.screenBrightness != null ? 0.5 : 1,
|
||||
child: Icon(
|
||||
IconsaxBold.autobrightness,
|
||||
IconsaxPlusBold.autobrightness,
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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/providers/settings/video_player_settings_provider.dart';
|
||||
|
|
@ -70,10 +70,10 @@ class _VideoVolumeSliderState extends ConsumerState<VideoVolumeSlider> {
|
|||
|
||||
IconData volumeIcon(double value) {
|
||||
if (value <= 0) {
|
||||
return IconsaxOutline.volume_mute;
|
||||
return IconsaxPlusLinear.volume_mute;
|
||||
}
|
||||
if (value < 50) {
|
||||
return IconsaxOutline.volume_low;
|
||||
return IconsaxPlusLinear.volume_low;
|
||||
}
|
||||
return IconsaxOutline.volume_high;
|
||||
return IconsaxPlusLinear.volume_high;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:async/async.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:screen_brightness/screen_brightness.dart';
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
isSelected: true,
|
||||
iconSize: 65,
|
||||
tooltip: "Resume video",
|
||||
icon: const Icon(IconsaxBold.play),
|
||||
icon: const Icon(IconsaxPlusBold.play),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
@ -253,7 +253,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
IconButton(
|
||||
onPressed: () => minimizePlayer(context),
|
||||
icon: const Icon(
|
||||
IconsaxOutline.arrow_down_1,
|
||||
IconsaxPlusLinear.arrow_down_1,
|
||||
size: 24,
|
||||
),
|
||||
),
|
||||
|
|
@ -276,7 +276,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
Tooltip(
|
||||
message: context.localized.stop,
|
||||
child: IconButton(
|
||||
onPressed: () => closePlayer(), icon: const Icon(IconsaxOutline.close_square))),
|
||||
onPressed: () => closePlayer(), icon: const Icon(IconsaxPlusLinear.close_square))),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
@ -321,22 +321,22 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
children: <Widget>[
|
||||
IconButton(
|
||||
onPressed: () => showVideoPlayerOptions(context, () => minimizePlayer(context)),
|
||||
icon: const Icon(IconsaxOutline.more)),
|
||||
icon: const Icon(IconsaxPlusLinear.more)),
|
||||
if (AdaptiveLayout.layoutOf(context) == ViewSize.tablet) ...[
|
||||
IconButton(
|
||||
onPressed: () => showSubSelection(context),
|
||||
icon: const Icon(IconsaxOutline.subtitle),
|
||||
icon: const Icon(IconsaxPlusLinear.subtitle),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () => showAudioSelection(context),
|
||||
icon: const Icon(IconsaxOutline.audio_square),
|
||||
icon: const Icon(IconsaxPlusLinear.audio_square),
|
||||
),
|
||||
],
|
||||
if (AdaptiveLayout.layoutOf(context) == ViewSize.desktop) ...[
|
||||
Flexible(
|
||||
child: ElevatedButton.icon(
|
||||
onPressed: () => showSubSelection(context),
|
||||
icon: const Icon(IconsaxOutline.subtitle),
|
||||
icon: const Icon(IconsaxPlusLinear.subtitle),
|
||||
label: Text(
|
||||
ref.watch(playBackModel.select((value) {
|
||||
final language = value?.mediaStreams?.currentSubStream?.language;
|
||||
|
|
@ -350,7 +350,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
Flexible(
|
||||
child: ElevatedButton.icon(
|
||||
onPressed: () => showAudioSelection(context),
|
||||
icon: const Icon(IconsaxOutline.audio_square),
|
||||
icon: const Icon(IconsaxPlusLinear.audio_square),
|
||||
label: Text(
|
||||
ref.watch(playBackModel.select((value) {
|
||||
final language = value?.mediaStreams?.currentAudioStream?.language;
|
||||
|
|
@ -375,7 +375,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
ref.read(videoPlayerProvider).playOrPause();
|
||||
},
|
||||
icon: Icon(
|
||||
mediaPlayback.playing ? IconsaxBold.pause : IconsaxBold.play,
|
||||
mediaPlayback.playing ? IconsaxPlusBold.pause : IconsaxPlusBold.play,
|
||||
),
|
||||
),
|
||||
seekForwardButton(ref),
|
||||
|
|
@ -389,7 +389,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
Tooltip(
|
||||
message: context.localized.stop,
|
||||
child: IconButton(
|
||||
onPressed: () => closePlayer(), icon: const Icon(IconsaxOutline.close_square))),
|
||||
onPressed: () => closePlayer(), icon: const Icon(IconsaxPlusLinear.close_square))),
|
||||
const Spacer(),
|
||||
if (AdaptiveLayout.viewSizeOf(context) >= ViewSize.tablet &&
|
||||
ref.read(videoPlayerProvider).hasPlayer) ...{
|
||||
|
|
@ -398,7 +398,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
message: context.localized.qualityOptionsTitle,
|
||||
child: IconButton(
|
||||
onPressed: () => openQualityOptions(context),
|
||||
icon: const Icon(IconsaxOutline.speedometer),
|
||||
icon: const Icon(IconsaxPlusLinear.speedometer),
|
||||
),
|
||||
),
|
||||
},
|
||||
|
|
@ -537,7 +537,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
: null,
|
||||
iconSize: 30,
|
||||
icon: const Icon(
|
||||
IconsaxOutline.backward,
|
||||
IconsaxPlusLinear.backward,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
@ -563,7 +563,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
nextVideo != null && !buffering ? () => ref.read(playbackModelHelper).loadNewVideo(nextVideo) : null,
|
||||
iconSize: 30,
|
||||
icon: const Icon(
|
||||
IconsaxOutline.forward,
|
||||
IconsaxPlusLinear.forward,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
@ -577,7 +577,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
tooltip: "-10",
|
||||
iconSize: 40,
|
||||
icon: const Icon(
|
||||
IconsaxOutline.backward_10_seconds,
|
||||
IconsaxPlusLinear.backward_10_seconds,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
@ -589,7 +589,7 @@ class _DesktopControlsState extends ConsumerState<DesktopControls> {
|
|||
iconSize: 40,
|
||||
icon: const Stack(
|
||||
children: [
|
||||
Icon(IconsaxOutline.forward_15_seconds),
|
||||
Icon(IconsaxPlusLinear.forward_15_seconds),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
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/book_model.dart';
|
||||
|
|
@ -85,7 +85,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
if (playAble)
|
||||
ItemActionButton(
|
||||
action: () => play(context, ref),
|
||||
icon: const Icon(IconsaxOutline.play),
|
||||
icon: const Icon(IconsaxPlusLinear.play),
|
||||
label: Text(playButtonLabel(context)),
|
||||
),
|
||||
if (parentId?.isNotEmpty == true) ...[
|
||||
|
|
@ -105,7 +105,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
if (!galleryItem && !exclude.contains(ItemActions.details))
|
||||
ItemActionButton(
|
||||
action: () async => await navigateTo(context),
|
||||
icon: const Icon(IconsaxOutline.main_component),
|
||||
icon: const Icon(IconsaxPlusLinear.main_component),
|
||||
label: Text(context.localized.showDetails),
|
||||
)
|
||||
else if (!exclude.contains(ItemActions.showAlbum) && galleryItem)
|
||||
|
|
@ -117,7 +117,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
if (!exclude.contains(ItemActions.playFromStart))
|
||||
if ((userData.progress) > 0)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh),
|
||||
action: (this is BookModel)
|
||||
? () => ((this as BookModel).play(context, ref, currentPage: 0))
|
||||
: () => play(context, ref, startPosition: Duration.zero),
|
||||
|
|
@ -129,7 +129,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
if (!exclude.contains(ItemActions.addCollection) && isAdmin)
|
||||
if (type != FladderItemType.boxset)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.archive_add),
|
||||
icon: const Icon(IconsaxPlusLinear.archive_add),
|
||||
action: () async {
|
||||
await addItemToCollection(context, [this]);
|
||||
if (context.mounted) {
|
||||
|
|
@ -141,7 +141,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
if (!exclude.contains(ItemActions.addPlaylist))
|
||||
if (type != FladderItemType.playlist)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.archive_add),
|
||||
icon: const Icon(IconsaxPlusLinear.archive_add),
|
||||
action: () async {
|
||||
await addItemToPlaylist(context, [this]);
|
||||
if (context.mounted) {
|
||||
|
|
@ -152,7 +152,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
),
|
||||
if (!exclude.contains(ItemActions.markPlayed))
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.eye),
|
||||
icon: const Icon(IconsaxPlusLinear.eye),
|
||||
action: () async {
|
||||
final userData = await ref.read(userProvider.notifier).markAsPlayed(true, id);
|
||||
onUserDataChanged?.call(userData?.bodyOrThrow);
|
||||
|
|
@ -162,7 +162,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
),
|
||||
if (!exclude.contains(ItemActions.markUnplayed))
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.eye_slash),
|
||||
icon: const Icon(IconsaxPlusLinear.eye_slash),
|
||||
label: Text(context.localized.markAsUnwatched),
|
||||
action: () async {
|
||||
final userData = await ref.read(userProvider.notifier).markAsPlayed(false, id);
|
||||
|
|
@ -172,7 +172,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
),
|
||||
if (!exclude.contains(ItemActions.setFavorite))
|
||||
ItemActionButton(
|
||||
icon: Icon(userData.isFavourite ? IconsaxOutline.heart_remove : IconsaxOutline.heart_add),
|
||||
icon: Icon(userData.isFavourite ? IconsaxPlusLinear.heart_remove : IconsaxPlusLinear.heart_add),
|
||||
action: () async {
|
||||
final newData = await ref.read(userProvider.notifier).setAsFavorite(!userData.isFavourite, id);
|
||||
onUserDataChanged?.call(newData?.bodyOrThrow);
|
||||
|
|
@ -184,7 +184,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
ItemActionDivider(),
|
||||
if (!exclude.contains(ItemActions.editMetaData) && isAdmin)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.edit),
|
||||
icon: const Icon(IconsaxPlusLinear.edit),
|
||||
action: () async {
|
||||
final newItem = await showEditItemPopup(context, id);
|
||||
if (newItem != null) {
|
||||
|
|
@ -195,7 +195,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
),
|
||||
if (!exclude.contains(ItemActions.refreshMetaData) && isAdmin)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.global_refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.global_refresh),
|
||||
action: () async {
|
||||
showRefreshPopup(context, id, detailedName(context) ?? name);
|
||||
},
|
||||
|
|
@ -205,7 +205,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
if (!kIsWeb)
|
||||
if (syncedItem == null)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.arrow_down_2),
|
||||
icon: const Icon(IconsaxPlusLinear.arrow_down_2),
|
||||
label: Text(context.localized.sync),
|
||||
action: () => ref.read(syncProvider.notifier).addSyncItem(context, this),
|
||||
)
|
||||
|
|
@ -217,12 +217,12 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
)
|
||||
else if (downloadUrl != null) ...[
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.document_download),
|
||||
icon: const Icon(IconsaxPlusLinear.document_download),
|
||||
action: () => downloadFile(downloadUrl),
|
||||
label: Text(context.localized.downloadFile(type.label(context).toLowerCase())),
|
||||
),
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.link_21),
|
||||
icon: const Icon(IconsaxPlusLinear.link_21),
|
||||
action: () => context.copyToClipboard(downloadUrl),
|
||||
label: Text(context.localized.copyStreamUrl),
|
||||
)
|
||||
|
|
@ -232,7 +232,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
ItemActionButton(
|
||||
icon: Container(
|
||||
child: const Icon(
|
||||
IconsaxOutline.trash,
|
||||
IconsaxPlusLinear.trash,
|
||||
),
|
||||
),
|
||||
action: () async {
|
||||
|
|
@ -250,7 +250,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
),
|
||||
if (!exclude.contains(ItemActions.identify) && identifiable && isAdmin)
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.search_normal),
|
||||
icon: const Icon(IconsaxPlusLinear.search_normal),
|
||||
action: () async {
|
||||
showIdentifyScreen(context, this);
|
||||
},
|
||||
|
|
@ -258,7 +258,7 @@ extension ItemBaseModelExtensions on ItemBaseModel {
|
|||
),
|
||||
if (!exclude.contains(ItemActions.mediaInfo))
|
||||
ItemActionButton(
|
||||
icon: const Icon(IconsaxOutline.info_circle),
|
||||
icon: const Icon(IconsaxPlusLinear.info_circle),
|
||||
action: () async {
|
||||
showInfoScreen(context, this);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/screens/shared/flat_button.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
|
@ -36,7 +36,7 @@ class StickyHeaderTextState extends ConsumerState<StickyHeaderText> {
|
|||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8).copyWith(bottom: 4),
|
||||
child: Icon(
|
||||
IconsaxOutline.arrow_right_3,
|
||||
IconsaxPlusLinear.arrow_right_3,
|
||||
size: 18,
|
||||
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
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:window_manager/window_manager.dart';
|
||||
|
||||
|
|
@ -173,8 +173,8 @@ class _CurrentlyPlayingBarState extends ConsumerState<FloatingPlayerBar> {
|
|||
},
|
||||
icon: Icon(
|
||||
ref.watch(videoPlayerSettingsProvider.select((value) => value.volume)) <= 0
|
||||
? IconsaxBold.volume_cross
|
||||
: IconsaxBold.volume_high,
|
||||
? IconsaxPlusBold.volume_cross
|
||||
: IconsaxPlusBold.volume_high,
|
||||
),
|
||||
),
|
||||
},
|
||||
|
|
@ -183,7 +183,7 @@ class _CurrentlyPlayingBarState extends ConsumerState<FloatingPlayerBar> {
|
|||
waitDuration: const Duration(milliseconds: 500),
|
||||
child: IconButton(
|
||||
onPressed: () async => stopPlayer(),
|
||||
icon: const Icon(IconsaxBold.stop),
|
||||
icon: const Icon(IconsaxPlusBold.stop),
|
||||
),
|
||||
),
|
||||
].addInBetween(const SizedBox(width: 6)),
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import 'package:flutter/services.dart';
|
|||
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/settings/home_settings_model.dart';
|
||||
|
|
@ -162,7 +162,7 @@ class _NavigationBodyState extends ConsumerState<NavigationBody> {
|
|||
});
|
||||
}
|
||||
},
|
||||
icon: const Icon(IconsaxBold.menu),
|
||||
icon: const Icon(IconsaxPlusBold.menu),
|
||||
),
|
||||
if (AdaptiveLayout.layoutModeOf(context) == LayoutMode.dual) ...[
|
||||
const SizedBox(height: 8),
|
||||
|
|
@ -198,7 +198,7 @@ class _NavigationBodyState extends ConsumerState<NavigationBody> {
|
|||
color: Theme.of(context).colorScheme.primaryContainer,
|
||||
child: const Padding(
|
||||
padding: EdgeInsets.all(10),
|
||||
child: Icon(IconsaxBold.setting_3),
|
||||
child: Icon(IconsaxPlusBold.setting_3),
|
||||
),
|
||||
)
|
||||
: const SettingsUserIcon()),
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.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/collection_types.dart';
|
||||
|
|
@ -54,7 +54,7 @@ class NestedNavigationDrawer extends ConsumerWidget {
|
|||
),
|
||||
IconButton(
|
||||
onPressed: () => toggleExpanded(false),
|
||||
icon: const Icon(IconsaxOutline.menu),
|
||||
icon: const Icon(IconsaxPlusLinear.menu),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
@ -96,7 +96,7 @@ class NestedNavigationDrawer extends ConsumerWidget {
|
|||
actions: [
|
||||
ItemActionButton(
|
||||
label: Text(context.localized.scanLibrary),
|
||||
icon: const Icon(IconsaxOutline.refresh),
|
||||
icon: const Icon(IconsaxPlusLinear.refresh),
|
||||
action: () => showRefreshPopup(context, library.id, library.name),
|
||||
),
|
||||
],
|
||||
|
|
@ -113,7 +113,7 @@ class NestedNavigationDrawer extends ConsumerWidget {
|
|||
offset: const Offset(-8, 0),
|
||||
child: DrawerListButton(
|
||||
label: context.localized.settings,
|
||||
selectedIcon: const Icon(IconsaxBold.setting_3),
|
||||
selectedIcon: const Icon(IconsaxPlusBold.setting_3),
|
||||
selected: currentLocation.contains(const SettingsRoute().routeName),
|
||||
icon: const SizedBox(width: 35, height: 35, child: SettingsUserIcon()),
|
||||
onPressed: () {
|
||||
|
|
@ -132,8 +132,8 @@ class NestedNavigationDrawer extends ConsumerWidget {
|
|||
else
|
||||
DrawerListButton(
|
||||
label: context.localized.settings,
|
||||
selectedIcon: const Icon(IconsaxBold.setting_2),
|
||||
icon: const Icon(IconsaxOutline.setting_2),
|
||||
selectedIcon: const Icon(IconsaxPlusBold.setting_2),
|
||||
icon: const Icon(IconsaxPlusLinear.setting_2),
|
||||
selected: currentLocation.contains(const SettingsRoute().routeName),
|
||||
onPressed: () {
|
||||
switch (AdaptiveLayout.layoutModeOf(context)) {
|
||||
|
|
|
|||
|
|
@ -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:window_manager/window_manager.dart';
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ class FullScreenButton extends ConsumerWidget {
|
|||
return IconButton(
|
||||
onPressed: () => toggleFullScreen(ref),
|
||||
icon: Icon(
|
||||
fullScreen ? IconsaxOutline.screenmirroring : IconsaxOutline.maximize_4,
|
||||
fullScreen ? IconsaxPlusLinear.screenmirroring : IconsaxPlusLinear.maximize_4,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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:universal_html/html.dart' as html;
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ class FullScreenButton extends ConsumerWidget {
|
|||
return IconButton(
|
||||
onPressed: () => toggleFullScreen(ref),
|
||||
icon: Icon(
|
||||
fullScreen ? IconsaxOutline.screenmirroring : IconsaxOutline.maximize_4,
|
||||
fullScreen ? IconsaxPlusLinear.screenmirroring : IconsaxPlusLinear.maximize_4,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:fladder/providers/settings/client_settings_provider.dart';
|
||||
import 'package:fladder/util/adaptive_layout.dart';
|
||||
import 'package:fladder/util/disable_keypad_focus.dart';
|
||||
|
|
@ -124,7 +124,7 @@ class _HorizontalListState extends ConsumerState<HorizontalList> {
|
|||
curve: Curves.easeInOut);
|
||||
},
|
||||
icon: const Icon(
|
||||
IconsaxOutline.arrow_left_2,
|
||||
IconsaxPlusLinear.arrow_left_2,
|
||||
size: 20,
|
||||
)),
|
||||
),
|
||||
|
|
@ -155,7 +155,7 @@ class _HorizontalListState extends ConsumerState<HorizontalList> {
|
|||
curve: Curves.easeInOut);
|
||||
},
|
||||
icon: const Icon(
|
||||
IconsaxOutline.arrow_right_3,
|
||||
IconsaxPlusLinear.arrow_right_3,
|
||||
size: 20,
|
||||
)),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:async/async.dart';
|
||||
import 'package:ficonsax/ficonsax.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:square_progress_indicator/square_progress_indicator.dart';
|
||||
|
||||
|
|
@ -160,7 +160,7 @@ class _ProgressFloatingButtonState extends ConsumerState<ProgressFloatingButton>
|
|||
strokeWidth: 4,
|
||||
value: timeLeft.inMilliseconds / timer._duration.inMilliseconds,
|
||||
),
|
||||
Icon(isActive ? IconsaxBold.pause : IconsaxBold.play)
|
||||
Icon(isActive ? IconsaxPlusBold.pause : IconsaxPlusBold.play)
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
|||
16
pubspec.lock
16
pubspec.lock
|
|
@ -502,14 +502,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
ficonsax:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: ficonsax
|
||||
sha256: f7c69817fb4a9a8545ed66656990d4634adad61b2b8d601fb91ba99d389fad47
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.0.3"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -890,6 +882,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
iconsax_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: iconsax_plus
|
||||
sha256: e9e51b0652a1d3ceea5fedbfc2c1bb4ad432c2ceb7be7de2e30caf085678933c
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ dependencies:
|
|||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
# Icons
|
||||
cupertino_icons: ^1.0.8
|
||||
ficonsax: ^0.0.3
|
||||
iconsax_plus: ^1.0.0
|
||||
|
||||
# Network and HTTP
|
||||
chopper: ^8.0.4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue