This commit is contained in:
kodjomoustapha 2024-09-22 00:51:50 +01:00
parent ccb5b46d0b
commit 85d58da1f5
12 changed files with 52 additions and 226 deletions

View file

@ -72,8 +72,6 @@ class Settings {
int? doubleTapAnimationSpeed;
bool? showNSFW;
bool? onlyIncludePinnedSources;
bool? pureBlackDarkMode;
@ -222,7 +220,6 @@ class Settings {
this.personalReaderModeList,
this.animatePageTransitions = true,
this.doubleTapAnimationSpeed = 1,
this.showNSFW = true,
this.onlyIncludePinnedSources = false,
this.pureBlackDarkMode = false,
this.downloadOnlyOnWifi = false,
@ -376,7 +373,6 @@ class Settings {
saveAsCBZArchive = json['saveAsCBZArchive'];
scaleType =
ScaleType.values[json['scaleType'] ?? ScaleType.fitScreen.index];
showNSFW = json['showNSFW'];
showPagesNumber = json['showPagesNumber'];
if (json['sortChapterList'] != null) {
sortChapterList = (json['sortChapterList'] as List)
@ -495,7 +491,6 @@ class Settings {
'relativeTimesTamps': relativeTimesTamps,
'saveAsCBZArchive': saveAsCBZArchive,
'scaleType': scaleType.index,
'showNSFW': showNSFW,
'showPagesNumber': showPagesNumber,
'sortChapterList': sortChapterList?.map((v) => v.toJson()).toList(),
'autoScrollPages': autoScrollPages?.map((v) => v.toJson()).toList(),

View file

@ -408,71 +408,66 @@ const SettingsSchema = CollectionSchema(
type: IsarType.byte,
enumMap: _SettingsscaleTypeEnumValueMap,
),
r'showNSFW': PropertySchema(
id: 74,
name: r'showNSFW',
type: IsarType.bool,
),
r'showPagesNumber': PropertySchema(
id: 75,
id: 74,
name: r'showPagesNumber',
type: IsarType.bool,
),
r'sortChapterList': PropertySchema(
id: 76,
id: 75,
name: r'sortChapterList',
type: IsarType.objectList,
target: r'SortChapter',
),
r'sortLibraryAnime': PropertySchema(
id: 77,
id: 76,
name: r'sortLibraryAnime',
type: IsarType.object,
target: r'SortLibraryManga',
),
r'sortLibraryManga': PropertySchema(
id: 78,
id: 77,
name: r'sortLibraryManga',
type: IsarType.object,
target: r'SortLibraryManga',
),
r'startDatebackup': PropertySchema(
id: 79,
id: 78,
name: r'startDatebackup',
type: IsarType.long,
),
r'syncAfterReading': PropertySchema(
id: 80,
id: 79,
name: r'syncAfterReading',
type: IsarType.bool,
),
r'syncOnAppLaunch': PropertySchema(
id: 81,
id: 80,
name: r'syncOnAppLaunch',
type: IsarType.bool,
),
r'themeIsDark': PropertySchema(
id: 82,
id: 81,
name: r'themeIsDark',
type: IsarType.bool,
),
r'updateProgressAfterReading': PropertySchema(
id: 83,
id: 82,
name: r'updateProgressAfterReading',
type: IsarType.bool,
),
r'useLibass': PropertySchema(
id: 84,
id: 83,
name: r'useLibass',
type: IsarType.bool,
),
r'usePageTapZones': PropertySchema(
id: 85,
id: 84,
name: r'usePageTapZones',
type: IsarType.bool,
),
r'userAgent': PropertySchema(
id: 86,
id: 85,
name: r'userAgent',
type: IsarType.string,
)
@ -903,34 +898,33 @@ void _settingsSerialize(
writer.writeLong(offsets[71], object.relativeTimesTamps);
writer.writeBool(offsets[72], object.saveAsCBZArchive);
writer.writeByte(offsets[73], object.scaleType.index);
writer.writeBool(offsets[74], object.showNSFW);
writer.writeBool(offsets[75], object.showPagesNumber);
writer.writeBool(offsets[74], object.showPagesNumber);
writer.writeObjectList<SortChapter>(
offsets[76],
offsets[75],
allOffsets,
SortChapterSchema.serialize,
object.sortChapterList,
);
writer.writeObject<SortLibraryManga>(
offsets[77],
offsets[76],
allOffsets,
SortLibraryMangaSchema.serialize,
object.sortLibraryAnime,
);
writer.writeObject<SortLibraryManga>(
offsets[78],
offsets[77],
allOffsets,
SortLibraryMangaSchema.serialize,
object.sortLibraryManga,
);
writer.writeLong(offsets[79], object.startDatebackup);
writer.writeBool(offsets[80], object.syncAfterReading);
writer.writeBool(offsets[81], object.syncOnAppLaunch);
writer.writeBool(offsets[82], object.themeIsDark);
writer.writeBool(offsets[83], object.updateProgressAfterReading);
writer.writeBool(offsets[84], object.useLibass);
writer.writeBool(offsets[85], object.usePageTapZones);
writer.writeString(offsets[86], object.userAgent);
writer.writeLong(offsets[78], object.startDatebackup);
writer.writeBool(offsets[79], object.syncAfterReading);
writer.writeBool(offsets[80], object.syncOnAppLaunch);
writer.writeBool(offsets[81], object.themeIsDark);
writer.writeBool(offsets[82], object.updateProgressAfterReading);
writer.writeBool(offsets[83], object.useLibass);
writer.writeBool(offsets[84], object.usePageTapZones);
writer.writeString(offsets[85], object.userAgent);
}
Settings _settingsDeserialize(
@ -1070,32 +1064,31 @@ Settings _settingsDeserialize(
scaleType:
_SettingsscaleTypeValueEnumMap[reader.readByteOrNull(offsets[73])] ??
ScaleType.fitScreen,
showNSFW: reader.readBoolOrNull(offsets[74]),
showPagesNumber: reader.readBoolOrNull(offsets[75]),
showPagesNumber: reader.readBoolOrNull(offsets[74]),
sortChapterList: reader.readObjectList<SortChapter>(
offsets[76],
offsets[75],
SortChapterSchema.deserialize,
allOffsets,
SortChapter(),
),
sortLibraryAnime: reader.readObjectOrNull<SortLibraryManga>(
offsets[77],
offsets[76],
SortLibraryMangaSchema.deserialize,
allOffsets,
),
sortLibraryManga: reader.readObjectOrNull<SortLibraryManga>(
offsets[78],
offsets[77],
SortLibraryMangaSchema.deserialize,
allOffsets,
),
startDatebackup: reader.readLongOrNull(offsets[79]),
syncAfterReading: reader.readBoolOrNull(offsets[80]),
syncOnAppLaunch: reader.readBoolOrNull(offsets[81]),
themeIsDark: reader.readBoolOrNull(offsets[82]),
updateProgressAfterReading: reader.readBoolOrNull(offsets[83]),
useLibass: reader.readBoolOrNull(offsets[84]),
usePageTapZones: reader.readBoolOrNull(offsets[85]),
userAgent: reader.readStringOrNull(offsets[86]),
startDatebackup: reader.readLongOrNull(offsets[78]),
syncAfterReading: reader.readBoolOrNull(offsets[79]),
syncOnAppLaunch: reader.readBoolOrNull(offsets[80]),
themeIsDark: reader.readBoolOrNull(offsets[81]),
updateProgressAfterReading: reader.readBoolOrNull(offsets[82]),
useLibass: reader.readBoolOrNull(offsets[83]),
usePageTapZones: reader.readBoolOrNull(offsets[84]),
userAgent: reader.readStringOrNull(offsets[85]),
);
object.chapterFilterBookmarkedList =
reader.readObjectList<ChapterFilterBookmarked>(
@ -1358,14 +1351,18 @@ P _settingsDeserializeProp<P>(
case 74:
return (reader.readBoolOrNull(offset)) as P;
case 75:
return (reader.readBoolOrNull(offset)) as P;
case 76:
return (reader.readObjectList<SortChapter>(
offset,
SortChapterSchema.deserialize,
allOffsets,
SortChapter(),
)) as P;
case 76:
return (reader.readObjectOrNull<SortLibraryManga>(
offset,
SortLibraryMangaSchema.deserialize,
allOffsets,
)) as P;
case 77:
return (reader.readObjectOrNull<SortLibraryManga>(
offset,
@ -1373,13 +1370,9 @@ P _settingsDeserializeProp<P>(
allOffsets,
)) as P;
case 78:
return (reader.readObjectOrNull<SortLibraryManga>(
offset,
SortLibraryMangaSchema.deserialize,
allOffsets,
)) as P;
case 79:
return (reader.readLongOrNull(offset)) as P;
case 79:
return (reader.readBoolOrNull(offset)) as P;
case 80:
return (reader.readBoolOrNull(offset)) as P;
case 81:
@ -1391,8 +1384,6 @@ P _settingsDeserializeProp<P>(
case 84:
return (reader.readBoolOrNull(offset)) as P;
case 85:
return (reader.readBoolOrNull(offset)) as P;
case 86:
return (reader.readStringOrNull(offset)) as P;
default:
throw IsarError('Unknown property with id $propertyId');
@ -6506,32 +6497,6 @@ extension SettingsQueryFilter
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> showNSFWIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull(
property: r'showNSFW',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> showNSFWIsNotNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNotNull(
property: r'showNSFW',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> showNSFWEqualTo(
bool? value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'showNSFW',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition>
showPagesNumberIsNull() {
return QueryBuilder.apply(this, (query) {
@ -8055,18 +8020,6 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByShowNSFW() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'showNSFW', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByShowNSFWDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'showNSFW', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByShowPagesNumber() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'showPagesNumber', Sort.asc);
@ -8979,18 +8932,6 @@ extension SettingsQuerySortThenBy
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByShowNSFW() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'showNSFW', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByShowNSFWDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'showNSFW', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByShowPagesNumber() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'showPagesNumber', Sort.asc);
@ -9508,12 +9449,6 @@ extension SettingsQueryWhereDistinct
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByShowNSFW() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'showNSFW');
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByShowPagesNumber() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'showPagesNumber');
@ -10075,12 +10010,6 @@ extension SettingsQueryProperty
});
}
QueryBuilder<Settings, bool?, QQueryOperations> showNSFWProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'showNSFW');
});
}
QueryBuilder<Settings, bool?, QQueryOperations> showPagesNumberProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'showPagesNumber');

View file

@ -4,7 +4,6 @@ import 'package:go_router/go_router.dart';
import 'package:isar/isar.dart';
import 'package:mangayomi/main.dart';
import 'package:mangayomi/models/source.dart';
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/providers/storage_provider.dart';
import 'package:mangayomi/modules/browse/extension/extension_screen.dart';
@ -202,9 +201,6 @@ Widget _extensionUpdateNumbers(WidgetRef ref, bool isManga) {
builder: (context, snapshot) {
if (snapshot.hasData && snapshot.data!.isNotEmpty) {
final entries = snapshot.data!
.where((element) => ref.watch(showNSFWStateProvider)
? true
: element.isNsfw == false)
.where((element) =>
compareVersions(element.version!, element.versionLast!) < 0)
.toList();

View file

@ -10,7 +10,6 @@ import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/services/fetch_sources_list.dart';
import 'package:mangayomi/utils/language.dart';
import 'package:mangayomi/modules/browse/extension/widgets/extension_list_tile_widget.dart';
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
class ExtensionScreen extends ConsumerStatefulWidget {
final bool isManga;
@ -51,11 +50,7 @@ class _ExtensionScreenState extends ConsumerState<ExtensionScreen> {
.toLowerCase()
.contains(widget.query.toLowerCase()))
.toList();
data = data
.where((element) => ref.watch(showNSFWStateProvider)
? true
: element.isNsfw == false)
.toList();
final notInstalledEntries = data
.where((element) => element.version == element.versionLast!)
.where((element) => !element.isAdded!)

View file

@ -52,12 +52,7 @@ class _GlobalSearchScreenState extends ConsumerState<GlobalSearchScreen> {
.and()
.isMangaEqualTo(widget.isManga)
.findAllSync();
sourceList = sourceList
.where(
(element) =>
ref.watch(showNSFWStateProvider) ? true : element.isNsfw == false,
)
.toList();
return Scaffold(
appBar: AppBar(
leading: Container(),

View file

@ -4,7 +4,6 @@ import 'package:grouped_list/sliver_grouped_list.dart';
import 'package:isar/isar.dart';
import 'package:mangayomi/main.dart';
import 'package:mangayomi/models/source.dart';
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/utils/cached_network.dart';
import 'package:mangayomi/utils/language.dart';
@ -33,12 +32,7 @@ class SourcesFilterScreen extends ConsumerWidget {
.watch(fireImmediately: true),
builder: (context, snapshot) {
if (snapshot.hasData && snapshot.data!.isNotEmpty) {
final entries = snapshot.data!
.where((element) => ref.watch(showNSFWStateProvider)
? true
: element.isNsfw == false)
.toList();
final entries = snapshot.data!;
return CustomScrollView(
slivers: [
SliverGroupedListView<Source, String>(

View file

@ -7,7 +7,6 @@ import 'package:mangayomi/models/source.dart';
import 'package:mangayomi/modules/browse/sources/widgets/source_list_tile.dart';
import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/utils/language.dart';
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
class SourcesScreen extends ConsumerStatefulWidget {
final Function(int) tabIndex;
@ -23,7 +22,6 @@ class _SourcesScreenState extends ConsumerState<SourcesScreen> {
final controller = ScrollController();
@override
Widget build(BuildContext context) {
final showNSFW = ref.watch(showNSFWStateProvider);
final l10n = l10nLocalizations(context)!;
return Padding(
padding: const EdgeInsets.only(top: 10),
@ -41,9 +39,7 @@ class _SourcesScreenState extends ConsumerState<SourcesScreen> {
if (!snapshot.hasData) {
return const SizedBox.shrink();
}
List<Source> sources = snapshot.data!
.where((element) => showNSFW ? true : element.isNsfw == false)
.toList();
List<Source> sources = snapshot.data!;
if (sources.isEmpty) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,

View file

@ -13,7 +13,6 @@ import 'package:mangayomi/services/fetch_manga_sources.dart';
import 'package:mangayomi/modules/main_view/providers/migration.dart';
import 'package:mangayomi/modules/more/about/providers/check_for_update.dart';
import 'package:mangayomi/modules/more/backup_and_restore/providers/auto_backup.dart';
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/router/router.dart';
import 'package:mangayomi/services/fetch_sources_list.dart';
@ -320,9 +319,6 @@ Widget _extensionUpdateTotalNumbers(WidgetRef ref) {
builder: (context, snapshot) {
if (snapshot.hasData && snapshot.data!.isNotEmpty) {
final entries = snapshot.data!
.where((element) => ref.watch(showNSFWStateProvider)
? true
: element.isNsfw == false)
.where((element) =>
compareVersions(element.version!, element.versionLast!) < 0)
.toList();

View file

@ -6,7 +6,7 @@ part of 'download_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$downloadChapterHash() => r'3209fc6c18197b4b2337d6fa9859474ec144694b';
String _$downloadChapterHash() => r'ef2852f888f93e5f344241bc6b486c9dd9037251';
/// Copied from Dart SDK
class _SystemHash {

View file

@ -9,7 +9,6 @@ class BrowseSScreen extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final showNSFWS = ref.watch(showNSFWStateProvider);
final onlyIncludePinnedSource =
ref.watch(onlyIncludePinnedSourceStateProvider);
final checkForExtensionUpdates =
@ -42,15 +41,15 @@ class BrowseSScreen extends ConsumerWidget {
title: Text(l10n.check_for_extension_updates),
onChanged: (value) {
ref
.read(checkForExtensionsUpdateStateProvider.notifier)
.read(
checkForExtensionsUpdateStateProvider.notifier)
.set(value);
}),
if (checkForExtensionUpdates)
SwitchListTile(
value: autoUpdateExtensions,
title: Text(l10n.auto_extensions_updates),
subtitle: Text(
l10n.auto_extensions_updates_subtitle,
subtitle: Text(l10n.auto_extensions_updates_subtitle,
style: TextStyle(
fontSize: 11, color: context.secondaryColor)),
onChanged: (value) {
@ -86,45 +85,6 @@ class BrowseSScreen extends ConsumerWidget {
],
),
),
Padding(
padding: const EdgeInsets.only(bottom: 10),
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15),
child: Row(
children: [
Text(l10n.nsfw_sources,
style: TextStyle(
fontSize: 13, color: context.primaryColor)),
],
),
),
SwitchListTile(
value: showNSFWS,
title: Text(l10n.nsfw_sources_show),
onChanged: (value) {
ref.read(showNSFWStateProvider.notifier).set(value);
}),
ListTile(
title: Padding(
padding: const EdgeInsets.only(bottom: 8),
child: Row(
children: [
Icon(
Icons.info_outline_rounded,
color: context.secondaryColor,
),
],
),
),
subtitle: Text(l10n.nsfw_sources_info,
style: TextStyle(
fontSize: 11, color: context.secondaryColor)),
)
],
),
),
],
),
),

View file

@ -18,20 +18,6 @@ class OnlyIncludePinnedSourceState extends _$OnlyIncludePinnedSourceState {
}
}
@riverpod
class ShowNSFWState extends _$ShowNSFWState {
@override
bool build() {
return isar.settings.getSync(227)!.showNSFW!;
}
void set(bool value) {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(() => isar.settings.putSync(settings!..showNSFW = value));
}
}
@riverpod
class AutoUpdateExtensionsState extends _$AutoUpdateExtensionsState {
@override

View file

@ -23,22 +23,6 @@ final onlyIncludePinnedSourceStateProvider =
);
typedef _$OnlyIncludePinnedSourceState = AutoDisposeNotifier<bool>;
String _$showNSFWStateHash() => r'fdb147ceef80a95066adc64ee63237fbdb3de81e';
/// See also [ShowNSFWState].
@ProviderFor(ShowNSFWState)
final showNSFWStateProvider =
AutoDisposeNotifierProvider<ShowNSFWState, bool>.internal(
ShowNSFWState.new,
name: r'showNSFWStateProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$showNSFWStateHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$ShowNSFWState = AutoDisposeNotifier<bool>;
String _$autoUpdateExtensionsStateHash() =>
r'30ce3c558504e005f9c85e2fc969ab7a581510cd';