mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-03-11 17:25:32 +00:00
Hide items in Calendar
When the user has hidden Manga or Anime or Novel, hide the buttons in the calendar.
This commit is contained in:
parent
ba77c5baea
commit
a2a10a799d
1 changed files with 11 additions and 20 deletions
|
|
@ -7,6 +7,7 @@ import 'package:isar_community/isar.dart';
|
||||||
import 'package:mangayomi/models/chapter.dart';
|
import 'package:mangayomi/models/chapter.dart';
|
||||||
import 'package:mangayomi/models/manga.dart';
|
import 'package:mangayomi/models/manga.dart';
|
||||||
import 'package:mangayomi/modules/calendar/providers/calendar_provider.dart';
|
import 'package:mangayomi/modules/calendar/providers/calendar_provider.dart';
|
||||||
|
import 'package:mangayomi/modules/more/settings/reader/providers/reader_state_provider.dart';
|
||||||
import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart';
|
import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart';
|
||||||
import 'package:mangayomi/modules/widgets/custom_sliver_grouped_list_view.dart';
|
import 'package:mangayomi/modules/widgets/custom_sliver_grouped_list_view.dart';
|
||||||
import 'package:mangayomi/modules/widgets/progress_center.dart';
|
import 'package:mangayomi/modules/widgets/progress_center.dart';
|
||||||
|
|
@ -15,6 +16,8 @@ import 'package:mangayomi/utils/constant.dart';
|
||||||
import 'package:mangayomi/utils/date.dart';
|
import 'package:mangayomi/utils/date.dart';
|
||||||
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
||||||
import 'package:mangayomi/utils/headers.dart';
|
import 'package:mangayomi/utils/headers.dart';
|
||||||
|
import 'package:mangayomi/utils/item_type_filters.dart';
|
||||||
|
import 'package:mangayomi/utils/item_type_localization.dart';
|
||||||
import 'package:table_calendar/table_calendar.dart';
|
import 'package:table_calendar/table_calendar.dart';
|
||||||
|
|
||||||
class CalendarScreen extends ConsumerStatefulWidget {
|
class CalendarScreen extends ConsumerStatefulWidget {
|
||||||
|
|
@ -36,12 +39,14 @@ class _CalendarScreenState extends ConsumerState<CalendarScreen> {
|
||||||
DateTime? _rangeStart;
|
DateTime? _rangeStart;
|
||||||
DateTime? _rangeEnd;
|
DateTime? _rangeEnd;
|
||||||
late ItemType? itemType = widget.itemType ?? ItemType.manga;
|
late ItemType? itemType = widget.itemType ?? ItemType.manga;
|
||||||
|
late List<ItemType> _visibleTypes;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_selectedDay = _focusedDay;
|
_selectedDay = _focusedDay;
|
||||||
_selectedEntries = ValueNotifier([]);
|
_selectedEntries = ValueNotifier([]);
|
||||||
|
_visibleTypes = hiddenItemTypes(ref.read(hideItemsStateProvider));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -107,29 +112,15 @@ class _CalendarScreenState extends ConsumerState<CalendarScreen> {
|
||||||
borderRadius: BorderRadius.circular(50),
|
borderRadius: BorderRadius.circular(50),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
segments: [
|
segments: _visibleTypes.map((type) {
|
||||||
ButtonSegment(
|
return ButtonSegment(
|
||||||
value: ItemType.manga.index,
|
value: type.index,
|
||||||
label: Padding(
|
label: Padding(
|
||||||
padding: const EdgeInsets.all(12),
|
padding: const EdgeInsets.all(12),
|
||||||
child: Text(l10n.manga),
|
child: Text(type.localized(l10n)),
|
||||||
),
|
),
|
||||||
),
|
);
|
||||||
ButtonSegment(
|
}).toList(),
|
||||||
value: ItemType.anime.index,
|
|
||||||
label: Padding(
|
|
||||||
padding: const EdgeInsets.all(12),
|
|
||||||
child: Text(l10n.anime),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ButtonSegment(
|
|
||||||
value: ItemType.novel.index,
|
|
||||||
label: Padding(
|
|
||||||
padding: const EdgeInsets.all(12),
|
|
||||||
child: Text(l10n.novel),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
selected: {itemType?.index},
|
selected: {itemType?.index},
|
||||||
onSelectionChanged: (newSelection) {
|
onSelectionChanged: (newSelection) {
|
||||||
if (newSelection.isNotEmpty &&
|
if (newSelection.isNotEmpty &&
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue