refactor: replace Container with Badge for item count display and move hide items in appearance settings

This commit is contained in:
Moustapha Kodjo Amadou 2025-01-17 17:57:43 +01:00
parent 500713fc86
commit c4b153f60c
6 changed files with 38 additions and 39 deletions

View file

@ -1731,10 +1731,9 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
if (showNumbersOfItems) if (showNumbersOfItems)
Padding( Padding(
padding: const EdgeInsets.only(bottom: 3), padding: const EdgeInsets.only(bottom: 3),
child: CircleAvatar( child: Badge(
backgroundColor: Theme.of(context).focusColor, backgroundColor: Theme.of(context).focusColor,
radius: 10, label: Text(
child: Text(
numberOfItems.toString(), numberOfItems.toString(),
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,

View file

@ -36,20 +36,18 @@ class DownloadQueueScreen extends ConsumerWidget {
width: 10, width: 10,
), ),
Padding( Padding(
padding: const EdgeInsets.only(bottom: 3), padding: const EdgeInsets.only(bottom: 3),
child: Container( child: Badge(
decoration: BoxDecoration( backgroundColor: Theme.of(context).focusColor,
borderRadius: BorderRadius.circular(20), label: Text(
color: Theme.of(context).focusColor), allQueueLength.toString(),
child: Text( style: TextStyle(
allQueueLength.toString(), fontSize: 12,
style: TextStyle( color: Theme.of(context)
fontSize: 12, .textTheme
color: .bodySmall!
Theme.of(context).textTheme.bodySmall!.color), .color),
), ))),
),
),
], ],
), ),
), ),

View file

@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
import 'package:mangayomi/modules/more/settings/appearance/providers/app_font_family.dart'; import 'package:mangayomi/modules/more/settings/appearance/providers/app_font_family.dart';
import 'package:mangayomi/modules/more/settings/appearance/providers/theme_mode_state_provider.dart'; import 'package:mangayomi/modules/more/settings/appearance/providers/theme_mode_state_provider.dart';
import 'package:mangayomi/modules/more/settings/reader/providers/reader_state_provider.dart';
import 'package:mangayomi/providers/l10n_providers.dart'; import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/utils/extensions/build_context_extensions.dart'; import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
import 'package:mangayomi/utils/date.dart'; import 'package:mangayomi/utils/date.dart';
@ -27,6 +28,9 @@ class AppearanceScreen extends ConsumerWidget {
final isDarkTheme = ref.watch(themeModeStateProvider); final isDarkTheme = ref.watch(themeModeStateProvider);
final l10nLocale = ref.watch(l10nLocaleStateProvider); final l10nLocale = ref.watch(l10nLocaleStateProvider);
final appFontFamily = ref.watch(appFontFamilyProvider); final appFontFamily = ref.watch(appFontFamilyProvider);
final hideAnime = ref.watch(hideAnimeStateProvider);
final hideManga = ref.watch(hideMangaStateProvider);
final hideNovel = ref.watch(hideNovelStateProvider);
final appFontFamilySub = appFontFamily == null final appFontFamilySub = appFontFamily == null
? context.l10n.default0 ? context.l10n.default0
: GoogleFonts.asMap() : GoogleFonts.asMap()
@ -295,6 +299,24 @@ class AppearanceScreen extends ConsumerWidget {
fontSize: 11, color: context.secondaryColor), fontSize: 11, color: context.secondaryColor),
), ),
), ),
SwitchListTile(
value: hideAnime,
title: Text(context.l10n.hide_anime),
onChanged: (value) {
ref.read(hideAnimeStateProvider.notifier).set(value);
}),
SwitchListTile(
value: hideManga,
title: Text(context.l10n.hide_manga),
onChanged: (value) {
ref.read(hideMangaStateProvider.notifier).set(value);
}),
SwitchListTile(
value: hideNovel,
title: Text(context.l10n.hide_novel),
onChanged: (value) {
ref.read(hideNovelStateProvider.notifier).set(value);
}),
], ],
), ),
), ),

View file

@ -1,7 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:mangayomi/modules/more/settings/player/providers/player_state_provider.dart'; import 'package:mangayomi/modules/more/settings/player/providers/player_state_provider.dart';
import 'package:mangayomi/modules/more/settings/reader/providers/reader_state_provider.dart';
import 'package:mangayomi/providers/l10n_providers.dart'; import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/utils/extensions/build_context_extensions.dart'; import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
import 'package:numberpicker/numberpicker.dart'; import 'package:numberpicker/numberpicker.dart';
@ -21,7 +20,7 @@ class PlayerScreen extends ConsumerWidget {
final enableAutoSkip = ref.watch(enableAutoSkipStateProvider); final enableAutoSkip = ref.watch(enableAutoSkipStateProvider);
final aniSkipTimeoutLength = ref.watch(aniSkipTimeoutLengthStateProvider); final aniSkipTimeoutLength = ref.watch(aniSkipTimeoutLengthStateProvider);
final useLibass = ref.watch(useLibassStateProvider); final useLibass = ref.watch(useLibassStateProvider);
final hideAnime = ref.watch(hideAnimeStateProvider);
final fullScreenPlayer = ref.watch(fullScreenPlayerStateProvider); final fullScreenPlayer = ref.watch(fullScreenPlayerStateProvider);
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
@ -30,12 +29,6 @@ class PlayerScreen extends ConsumerWidget {
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column( child: Column(
children: [ children: [
SwitchListTile(
value: hideAnime,
title: Text(context.l10n.hide_anime),
onChanged: (value) {
ref.read(hideAnimeStateProvider.notifier).set(value);
}),
ListTile( ListTile(
onTap: () { onTap: () {
final values = [100, 95, 90, 85, 80, 75, 70]; final values = [100, 95, 90, 85, 80, 75, 70];

View file

@ -20,8 +20,7 @@ class ReaderScreen extends ConsumerWidget {
final backgroundColor = ref.watch(backgroundColorStateProvider); final backgroundColor = ref.watch(backgroundColorStateProvider);
final usePageTapZones = ref.watch(usePageTapZonesStateProvider); final usePageTapZones = ref.watch(usePageTapZonesStateProvider);
final fullScreenReader = ref.watch(fullScreenReaderStateProvider); final fullScreenReader = ref.watch(fullScreenReaderStateProvider);
final hideManga = ref.watch(hideMangaStateProvider);
final hideNovel = ref.watch(hideNovelStateProvider);
final cropBorders = ref.watch(cropBordersStateProvider); final cropBorders = ref.watch(cropBordersStateProvider);
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
@ -330,18 +329,6 @@ class ReaderScreen extends ConsumerWidget {
style: TextStyle(fontSize: 11, color: context.secondaryColor), style: TextStyle(fontSize: 11, color: context.secondaryColor),
), ),
), ),
SwitchListTile(
value: hideManga,
title: Text(context.l10n.hide_manga),
onChanged: (value) {
ref.read(hideMangaStateProvider.notifier).set(value);
}),
SwitchListTile(
value: hideNovel,
title: Text(context.l10n.hide_novel),
onChanged: (value) {
ref.read(hideNovelStateProvider.notifier).set(value);
}),
SwitchListTile( SwitchListTile(
value: fullScreenReader, value: fullScreenReader,
title: Text(context.l10n.fullscreen), title: Text(context.l10n.fullscreen),

0
rust_builder/cargokit/run_build_tool.sh Normal file → Executable file
View file