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)
Padding(
padding: const EdgeInsets.only(bottom: 3),
child: CircleAvatar(
child: Badge(
backgroundColor: Theme.of(context).focusColor,
radius: 10,
child: Text(
label: Text(
numberOfItems.toString(),
style: TextStyle(
fontSize: 12,

View file

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

View file

@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.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/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/utils/extensions/build_context_extensions.dart';
import 'package:mangayomi/utils/date.dart';
@ -27,6 +28,9 @@ class AppearanceScreen extends ConsumerWidget {
final isDarkTheme = ref.watch(themeModeStateProvider);
final l10nLocale = ref.watch(l10nLocaleStateProvider);
final appFontFamily = ref.watch(appFontFamilyProvider);
final hideAnime = ref.watch(hideAnimeStateProvider);
final hideManga = ref.watch(hideMangaStateProvider);
final hideNovel = ref.watch(hideNovelStateProvider);
final appFontFamilySub = appFontFamily == null
? context.l10n.default0
: GoogleFonts.asMap()
@ -295,6 +299,24 @@ class AppearanceScreen extends ConsumerWidget {
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_riverpod/flutter_riverpod.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/utils/extensions/build_context_extensions.dart';
import 'package:numberpicker/numberpicker.dart';
@ -21,7 +20,7 @@ class PlayerScreen extends ConsumerWidget {
final enableAutoSkip = ref.watch(enableAutoSkipStateProvider);
final aniSkipTimeoutLength = ref.watch(aniSkipTimeoutLengthStateProvider);
final useLibass = ref.watch(useLibassStateProvider);
final hideAnime = ref.watch(hideAnimeStateProvider);
final fullScreenPlayer = ref.watch(fullScreenPlayerStateProvider);
return Scaffold(
appBar: AppBar(
@ -30,12 +29,6 @@ class PlayerScreen extends ConsumerWidget {
body: SingleChildScrollView(
child: Column(
children: [
SwitchListTile(
value: hideAnime,
title: Text(context.l10n.hide_anime),
onChanged: (value) {
ref.read(hideAnimeStateProvider.notifier).set(value);
}),
ListTile(
onTap: () {
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 usePageTapZones = ref.watch(usePageTapZonesStateProvider);
final fullScreenReader = ref.watch(fullScreenReaderStateProvider);
final hideManga = ref.watch(hideMangaStateProvider);
final hideNovel = ref.watch(hideNovelStateProvider);
final cropBorders = ref.watch(cropBordersStateProvider);
return Scaffold(
appBar: AppBar(
@ -330,18 +329,6 @@ class ReaderScreen extends ConsumerWidget {
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(
value: fullScreenReader,
title: Text(context.l10n.fullscreen),

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