added sync for settings

- added option to toggle sync for history, update and settings
This commit is contained in:
Schnitzel5 2025-07-21 23:37:51 +02:00
parent 25f7402f35
commit 5932cf44f2
78 changed files with 1058 additions and 209 deletions

View file

@ -468,5 +468,8 @@
"hide_discord_rpc_incognito": "Hide Discord RPC while in Incognito",
"rpc_show_reading_watching_progress": "Show current chapter in Discord (requires a restart)",
"rpc_show_title": "Show current title in Discord",
"rpc_show_cover_image": "Show current cover image in Discord"
"rpc_show_cover_image": "Show current cover image in Discord",
"sync_enable_histories": "Sync history data",
"sync_enable_updates": "Sync update data",
"sync_enable_settings": "Sync settings"
}

View file

@ -2884,6 +2884,24 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Show current cover image in Discord'**
String get rpc_show_cover_image;
/// No description provided for @sync_enable_histories.
///
/// In en, this message translates to:
/// **'Sync history data'**
String get sync_enable_histories;
/// No description provided for @sync_enable_updates.
///
/// In en, this message translates to:
/// **'Sync update data'**
String get sync_enable_updates;
/// No description provided for @sync_enable_settings.
///
/// In en, this message translates to:
/// **'Sync settings'**
String get sync_enable_settings;
}
class _AppLocalizationsDelegate

View file

@ -1485,4 +1485,13 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1498,4 +1498,13 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1486,4 +1486,13 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1503,6 +1503,15 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}
/// The translations for Spanish Castilian, as used in Latin America and the Caribbean (`es_419`).

View file

@ -1504,4 +1504,13 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1492,4 +1492,13 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1501,4 +1501,13 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1500,6 +1500,15 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}
/// The translations for Portuguese, as used in Brazil (`pt_BR`).

View file

@ -1502,4 +1502,13 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1486,4 +1486,13 @@ class AppLocalizationsTh extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1492,4 +1492,13 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -1457,4 +1457,13 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get rpc_show_cover_image => 'Show current cover image in Discord';
@override
String get sync_enable_histories => 'Sync history data';
@override
String get sync_enable_updates => 'Sync update data';
@override
String get sync_enable_settings => 'Sync settings';
}

View file

@ -8,6 +8,8 @@ part 'settings.g.dart';
class Settings {
Id? id;
int? updatedAt;
@enumerated
late DisplayType displayType;
@ -258,6 +260,7 @@ class Settings {
Settings({
this.id = 227,
this.updatedAt = 0,
this.displayType = DisplayType.compactGrid,
this.libraryFilterMangasDownloadType = 0,
this.libraryFilterMangasUnreadType = 0,
@ -373,6 +376,7 @@ class Settings {
});
Settings.fromJson(Map<String, dynamic> json) {
updatedAt = json["updatedAt"];
animatePageTransitions = json['animatePageTransitions'];
animeDisplayType = DisplayType
.values[json['animeDisplayType'] ?? DisplayType.compactGrid.index];
@ -593,6 +597,7 @@ class Settings {
}
Map<String, dynamic> toJson() => {
'updatedAt': updatedAt,
'animatePageTransitions': animatePageTransitions,
'animeDisplayType': animeDisplayType.index,
'animeLibraryDownloadedChapters': animeLibraryDownloadedChapters,

View file

@ -623,18 +623,23 @@ const SettingsSchema = CollectionSchema(
name: r'updateProgressAfterReading',
type: IsarType.bool,
),
r'useLibass': PropertySchema(
r'updatedAt': PropertySchema(
id: 115,
name: r'updatedAt',
type: IsarType.long,
),
r'useLibass': PropertySchema(
id: 116,
name: r'useLibass',
type: IsarType.bool,
),
r'usePageTapZones': PropertySchema(
id: 116,
id: 117,
name: r'usePageTapZones',
type: IsarType.bool,
),
r'userAgent': PropertySchema(
id: 117,
id: 118,
name: r'userAgent',
type: IsarType.string,
)
@ -1238,9 +1243,10 @@ void _settingsSerialize(
writer.writeLong(offsets[112], object.startDatebackup);
writer.writeBool(offsets[113], object.themeIsDark);
writer.writeBool(offsets[114], object.updateProgressAfterReading);
writer.writeBool(offsets[115], object.useLibass);
writer.writeBool(offsets[116], object.usePageTapZones);
writer.writeString(offsets[117], object.userAgent);
writer.writeLong(offsets[115], object.updatedAt);
writer.writeBool(offsets[116], object.useLibass);
writer.writeBool(offsets[117], object.usePageTapZones);
writer.writeString(offsets[118], object.userAgent);
}
Settings _settingsDeserialize(
@ -1455,9 +1461,10 @@ Settings _settingsDeserialize(
startDatebackup: reader.readLongOrNull(offsets[112]),
themeIsDark: reader.readBoolOrNull(offsets[113]),
updateProgressAfterReading: reader.readBoolOrNull(offsets[114]),
useLibass: reader.readBoolOrNull(offsets[115]),
usePageTapZones: reader.readBoolOrNull(offsets[116]),
userAgent: reader.readStringOrNull(offsets[117]),
updatedAt: reader.readLongOrNull(offsets[115]),
useLibass: reader.readBoolOrNull(offsets[116]),
usePageTapZones: reader.readBoolOrNull(offsets[117]),
userAgent: reader.readStringOrNull(offsets[118]),
);
object.chapterFilterBookmarkedList =
reader.readObjectList<ChapterFilterBookmarked>(
@ -1846,10 +1853,12 @@ P _settingsDeserializeProp<P>(
case 114:
return (reader.readBoolOrNull(offset)) as P;
case 115:
return (reader.readBoolOrNull(offset)) as P;
return (reader.readLongOrNull(offset)) as P;
case 116:
return (reader.readBoolOrNull(offset)) as P;
case 117:
return (reader.readBoolOrNull(offset)) as P;
case 118:
return (reader.readStringOrNull(offset)) as P;
default:
throw IsarError('Unknown property with id $propertyId');
@ -9504,6 +9513,75 @@ extension SettingsQueryFilter
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> updatedAtIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull(
property: r'updatedAt',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> updatedAtIsNotNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNotNull(
property: r'updatedAt',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> updatedAtEqualTo(
int? value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'updatedAt',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> updatedAtGreaterThan(
int? value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
include: include,
property: r'updatedAt',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> updatedAtLessThan(
int? value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.lessThan(
include: include,
property: r'updatedAt',
value: value,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> updatedAtBetween(
int? lower,
int? upper, {
bool includeLower = true,
bool includeUpper = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.between(
property: r'updatedAt',
lower: lower,
includeLower: includeLower,
upper: upper,
includeUpper: includeUpper,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> useLibassIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull(
@ -11113,6 +11191,18 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByUpdatedAt() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'updatedAt', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByUpdatedAtDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'updatedAt', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByUseLibass() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'useLibass', Sort.asc);
@ -12358,6 +12448,18 @@ extension SettingsQuerySortThenBy
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByUpdatedAt() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'updatedAt', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByUpdatedAtDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'updatedAt', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByUseLibass() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'useLibass', Sort.asc);
@ -13016,6 +13118,12 @@ extension SettingsQueryWhereDistinct
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByUpdatedAt() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'updatedAt');
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByUseLibass() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'useLibass');
@ -13813,6 +13921,12 @@ extension SettingsQueryProperty
});
}
QueryBuilder<Settings, int?, QQueryOperations> updatedAtProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'updatedAt');
});
}
QueryBuilder<Settings, bool?, QQueryOperations> useLibassProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'useLibass');

View file

@ -22,6 +22,12 @@ class SyncPreference {
int autoSyncFrequency = 0;
bool syncHistories = false;
bool syncUpdates = false;
bool syncSettings = false;
SyncPreference({
this.syncId,
this.email,
@ -43,7 +49,10 @@ class SyncPreference {
lastSyncUpdate = json['lastSyncUpdate'];
server = json['server'];
syncOn = json['syncOn'] ?? false;
syncOn = json['autoSyncFrequency'] ?? 0;
autoSyncFrequency = json['autoSyncFrequency'] ?? 0;
syncHistories = json['syncHistories'] ?? false;
syncUpdates = json['syncUpdates'] ?? false;
syncSettings = json['syncSettings'] ?? false;
}
Map<String, dynamic> toJson() => {
@ -55,5 +64,8 @@ class SyncPreference {
'lastSyncUpdate': lastSyncUpdate,
'syncOn': syncOn,
'autoSyncFrequency': autoSyncFrequency,
'syncHistories': syncHistories,
'syncUpdates': syncUpdates,
'syncSettings': syncSettings,
};
}

View file

@ -52,10 +52,25 @@ const SyncPreferenceSchema = CollectionSchema(
name: r'server',
type: IsarType.string,
),
r'syncOn': PropertySchema(
r'syncHistories': PropertySchema(
id: 7,
name: r'syncHistories',
type: IsarType.bool,
),
r'syncOn': PropertySchema(
id: 8,
name: r'syncOn',
type: IsarType.bool,
),
r'syncSettings': PropertySchema(
id: 9,
name: r'syncSettings',
type: IsarType.bool,
),
r'syncUpdates': PropertySchema(
id: 10,
name: r'syncUpdates',
type: IsarType.bool,
)
},
estimateSize: _syncPreferenceEstimateSize,
@ -112,7 +127,10 @@ void _syncPreferenceSerialize(
writer.writeLong(offsets[4], object.lastSyncManga);
writer.writeLong(offsets[5], object.lastSyncUpdate);
writer.writeString(offsets[6], object.server);
writer.writeBool(offsets[7], object.syncOn);
writer.writeBool(offsets[7], object.syncHistories);
writer.writeBool(offsets[8], object.syncOn);
writer.writeBool(offsets[9], object.syncSettings);
writer.writeBool(offsets[10], object.syncUpdates);
}
SyncPreference _syncPreferenceDeserialize(
@ -130,8 +148,11 @@ SyncPreference _syncPreferenceDeserialize(
lastSyncUpdate: reader.readLongOrNull(offsets[5]),
server: reader.readStringOrNull(offsets[6]),
syncId: id,
syncOn: reader.readBoolOrNull(offsets[7]) ?? false,
syncOn: reader.readBoolOrNull(offsets[8]) ?? false,
);
object.syncHistories = reader.readBool(offsets[7]);
object.syncSettings = reader.readBool(offsets[9]);
object.syncUpdates = reader.readBool(offsets[10]);
return object;
}
@ -157,7 +178,13 @@ P _syncPreferenceDeserializeProp<P>(
case 6:
return (reader.readStringOrNull(offset)) as P;
case 7:
return (reader.readBool(offset)) as P;
case 8:
return (reader.readBoolOrNull(offset) ?? false) as P;
case 9:
return (reader.readBool(offset)) as P;
case 10:
return (reader.readBool(offset)) as P;
default:
throw IsarError('Unknown property with id $propertyId');
}
@ -997,6 +1024,16 @@ extension SyncPreferenceQueryFilter
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterFilterCondition>
syncHistoriesEqualTo(bool value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'syncHistories',
value: value,
));
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterFilterCondition>
syncIdIsNull() {
return QueryBuilder.apply(this, (query) {
@ -1080,6 +1117,26 @@ extension SyncPreferenceQueryFilter
));
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterFilterCondition>
syncSettingsEqualTo(bool value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'syncSettings',
value: value,
));
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterFilterCondition>
syncUpdatesEqualTo(bool value) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'syncUpdates',
value: value,
));
});
}
}
extension SyncPreferenceQueryObject
@ -1184,6 +1241,20 @@ extension SyncPreferenceQuerySortBy
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
sortBySyncHistories() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncHistories', Sort.asc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
sortBySyncHistoriesDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncHistories', Sort.desc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy> sortBySyncOn() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncOn', Sort.asc);
@ -1196,6 +1267,34 @@ extension SyncPreferenceQuerySortBy
return query.addSortBy(r'syncOn', Sort.desc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
sortBySyncSettings() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncSettings', Sort.asc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
sortBySyncSettingsDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncSettings', Sort.desc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
sortBySyncUpdates() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncUpdates', Sort.asc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
sortBySyncUpdatesDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncUpdates', Sort.desc);
});
}
}
extension SyncPreferenceQuerySortThenBy
@ -1294,6 +1393,20 @@ extension SyncPreferenceQuerySortThenBy
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
thenBySyncHistories() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncHistories', Sort.asc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
thenBySyncHistoriesDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncHistories', Sort.desc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy> thenBySyncId() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncId', Sort.asc);
@ -1319,6 +1432,34 @@ extension SyncPreferenceQuerySortThenBy
return query.addSortBy(r'syncOn', Sort.desc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
thenBySyncSettings() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncSettings', Sort.asc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
thenBySyncSettingsDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncSettings', Sort.desc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
thenBySyncUpdates() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncUpdates', Sort.asc);
});
}
QueryBuilder<SyncPreference, SyncPreference, QAfterSortBy>
thenBySyncUpdatesDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'syncUpdates', Sort.desc);
});
}
}
extension SyncPreferenceQueryWhereDistinct
@ -1372,11 +1513,32 @@ extension SyncPreferenceQueryWhereDistinct
});
}
QueryBuilder<SyncPreference, SyncPreference, QDistinct>
distinctBySyncHistories() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'syncHistories');
});
}
QueryBuilder<SyncPreference, SyncPreference, QDistinct> distinctBySyncOn() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'syncOn');
});
}
QueryBuilder<SyncPreference, SyncPreference, QDistinct>
distinctBySyncSettings() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'syncSettings');
});
}
QueryBuilder<SyncPreference, SyncPreference, QDistinct>
distinctBySyncUpdates() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'syncUpdates');
});
}
}
extension SyncPreferenceQueryProperty
@ -1432,9 +1594,27 @@ extension SyncPreferenceQueryProperty
});
}
QueryBuilder<SyncPreference, bool, QQueryOperations> syncHistoriesProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'syncHistories');
});
}
QueryBuilder<SyncPreference, bool, QQueryOperations> syncOnProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'syncOn');
});
}
QueryBuilder<SyncPreference, bool, QQueryOperations> syncSettingsProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'syncSettings');
});
}
QueryBuilder<SyncPreference, bool, QQueryOperations> syncUpdatesProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'syncUpdates');
});
}
}

View file

@ -20,7 +20,11 @@ class SubtitleSettingsState extends _$SubtitleSettingsState {
state = value;
if (end) {
isar.writeTxnSync(
() => isar.settings.putSync(settings!..playerSubtitleSettings = value),
() => isar.settings.putSync(
settings!
..playerSubtitleSettings = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -39,7 +43,8 @@ class SubtitleSettingsState extends _$SubtitleSettingsState {
fontSize: state.fontSize,
useBold: state.useBold,
useItalic: state.useItalic,
),
)
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}

View file

@ -7,7 +7,7 @@ part of 'state_provider.dart';
// **************************************************************************
String _$subtitleSettingsStateHash() =>
r'4b89ea55392e662651d5aeee4dfce2fcd23ac0e7';
r'410485b55561b7a307c7a55f6798bca225f39830';
/// See also [SubtitleSettingsState].
@ProviderFor(SubtitleSettingsState)

View file

@ -52,7 +52,9 @@ class LibraryDisplayTypeState extends _$LibraryDisplayTypeState {
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -92,7 +94,9 @@ class LibraryGridSizeState extends _$LibraryGridSizeState {
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -134,7 +138,9 @@ class MangaFilterDownloadedState extends _$MangaFilterDownloadedState {
appSettings = settings..libraryFilterNovelDownloadType = type;
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = type;
}
@ -186,7 +192,9 @@ class MangaFilterUnreadState extends _$MangaFilterUnreadState {
appSettings = settings..libraryFilterNovelUnreadType = type;
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = type;
}
@ -287,7 +295,9 @@ class MangaFilterStartedState extends _$MangaFilterStartedState {
appSettings = settings..libraryFilterNovelStartedType = type;
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = type;
}
@ -388,7 +398,9 @@ class MangaFilterBookmarkedState extends _$MangaFilterBookmarkedState {
appSettings = settings..libraryFilterNovelBookMarkedType = type;
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = type;
}
@ -524,7 +536,9 @@ class LibraryShowCategoryTabsState extends _$LibraryShowCategoryTabsState {
}
state = value;
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -557,7 +571,9 @@ class LibraryDownloadedChaptersState extends _$LibraryDownloadedChaptersState {
}
state = value;
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -590,7 +606,9 @@ class LibraryLanguageState extends _$LibraryLanguageState {
}
state = value;
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -623,7 +641,9 @@ class LibraryLocalSourceState extends _$LibraryLocalSourceState {
}
state = value;
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -656,7 +676,9 @@ class LibraryShowNumbersOfItemsState extends _$LibraryShowNumbersOfItemsState {
}
state = value;
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -690,7 +712,9 @@ class LibraryShowContinueReadingButtonState
}
state = value;
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}
@ -729,7 +753,9 @@ class SortLibraryMangaState extends _$SortLibraryMangaState {
appSettings = settings..sortLibraryNovel = value;
}
isar.writeTxnSync(() {
isar.settings.putSync(appSettings);
isar.settings.putSync(
appSettings..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = value;
}

View file

@ -7,7 +7,7 @@ part of 'library_state_provider.dart';
// **************************************************************************
String _$libraryDisplayTypeStateHash() =>
r'bcc3757a2aec544a3282776536a14e50cfafd03d';
r'459a91429b3d1490347cae4bd062745c5e372f05';
/// Copied from Dart SDK
class _SystemHash {
@ -199,7 +199,7 @@ class _LibraryDisplayTypeStateProviderElement
}
String _$libraryGridSizeStateHash() =>
r'2b41e0dfd5fbc1b01ffc9ee4b5d3a99bce12df18';
r'288b58266426aae511454e120d76a7fde7d2899b';
abstract class _$LibraryGridSizeState
extends BuildlessAutoDisposeNotifier<int?> {
@ -346,7 +346,7 @@ class _LibraryGridSizeStateProviderElement
}
String _$mangaFilterDownloadedStateHash() =>
r'455eb734a87b1d3be3e5684902734a9c8c98a330';
r'6d84bc7063be1734a0c267906a94e6b70e8b72fe';
abstract class _$MangaFilterDownloadedState
extends BuildlessAutoDisposeNotifier<int> {
@ -539,7 +539,7 @@ class _MangaFilterDownloadedStateProviderElement
}
String _$mangaFilterUnreadStateHash() =>
r'd48b9b0a5752befdab56601a1c8e2b36d797aeee';
r'bd96c9f42a40d0610788feda3bee5fb8662afe50';
abstract class _$MangaFilterUnreadState
extends BuildlessAutoDisposeNotifier<int> {
@ -730,7 +730,7 @@ class _MangaFilterUnreadStateProviderElement
}
String _$mangaFilterStartedStateHash() =>
r'fc6c919aa27bf338825cd8c252927ae78b8da36c';
r'7546110e32fe4eac49006ce3c721d8f72a2b3128';
abstract class _$MangaFilterStartedState
extends BuildlessAutoDisposeNotifier<int> {
@ -921,7 +921,7 @@ class _MangaFilterStartedStateProviderElement
}
String _$mangaFilterBookmarkedStateHash() =>
r'b013800ec4e42ede752c7cbcb00575678444e8b5';
r'77e5317ee6504667e001e43c549f0ee5abd3ed53';
abstract class _$MangaFilterBookmarkedState
extends BuildlessAutoDisposeNotifier<int> {
@ -1305,7 +1305,7 @@ class _MangasFilterResultStateProviderElement
}
String _$libraryShowCategoryTabsStateHash() =>
r'f8136c8e7b343e50a4fd4884bc9874d888d08901';
r'0bdaf08a47247175aea9ca1fe515b6c347c27c61';
abstract class _$LibraryShowCategoryTabsState
extends BuildlessAutoDisposeNotifier<bool> {
@ -1479,7 +1479,7 @@ class _LibraryShowCategoryTabsStateProviderElement
}
String _$libraryDownloadedChaptersStateHash() =>
r'1c93c624dfaa46ccd56de1841233d04fc63e18af';
r'ac9868c3cda2c6a9097d9c4c8a6fd0a78edffe26';
abstract class _$LibraryDownloadedChaptersState
extends BuildlessAutoDisposeNotifier<bool> {
@ -1654,7 +1654,7 @@ class _LibraryDownloadedChaptersStateProviderElement
}
String _$libraryLanguageStateHash() =>
r'83045a8db5fbad972fc1b956bbc8225f97fc03b4';
r'3673dceb22d4220347f104efa31a2e5ecb0e5fb9';
abstract class _$LibraryLanguageState
extends BuildlessAutoDisposeNotifier<bool> {
@ -1824,7 +1824,7 @@ class _LibraryLanguageStateProviderElement
}
String _$libraryLocalSourceStateHash() =>
r'f3a442394bd9ecbe9be574f6843b9aca4310bdf3';
r'4a1beb1f43cd4023f848f9d76731c3095236a148';
abstract class _$LibraryLocalSourceState
extends BuildlessAutoDisposeNotifier<bool> {
@ -1994,7 +1994,7 @@ class _LibraryLocalSourceStateProviderElement
}
String _$libraryShowNumbersOfItemsStateHash() =>
r'8261b0ee660d36d284c53c45debfca7ceb7cbfd3';
r'040768e98505577b85e52b5e5f6ae6915de1b222';
abstract class _$LibraryShowNumbersOfItemsState
extends BuildlessAutoDisposeNotifier<bool> {
@ -2169,7 +2169,7 @@ class _LibraryShowNumbersOfItemsStateProviderElement
}
String _$libraryShowContinueReadingButtonStateHash() =>
r'a346c04b41c448c145107f862bbfa86f119edba1';
r'e85d6a904a1aed27810aff85f55701da150a8a33';
abstract class _$LibraryShowContinueReadingButtonState
extends BuildlessAutoDisposeNotifier<bool> {
@ -2347,7 +2347,7 @@ class _LibraryShowContinueReadingButtonStateProviderElement
}
String _$sortLibraryMangaStateHash() =>
r'5454965fd1c6c027e5a2dfc93c2570e800bf18c0';
r'9cf913f9ad66fa19fad1d8b86afdcf52d990c5ee';
abstract class _$SortLibraryMangaState
extends BuildlessAutoDisposeNotifier<SortLibraryManga> {

View file

@ -103,7 +103,11 @@ class SortChapterState extends _$SortChapterState {
}
sortChapterList.add(value);
isar.writeTxnSync(() {
isar.settings.putSync(settings..sortChapterList = sortChapterList);
isar.settings.putSync(
settings
..sortChapterList = sortChapterList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = value;
@ -152,7 +156,9 @@ class ChapterFilterDownloadedState extends _$ChapterFilterDownloadedState {
chapterFilterDownloadedList.add(value);
isar.writeTxnSync(() {
isar.settings.putSync(
settings..chapterFilterDownloadedList = chapterFilterDownloadedList,
settings
..chapterFilterDownloadedList = chapterFilterDownloadedList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
@ -203,7 +209,9 @@ class ChapterFilterUnreadState extends _$ChapterFilterUnreadState {
chapterFilterUnreadList.add(value);
isar.writeTxnSync(() {
isar.settings.putSync(
settings..chapterFilterUnreadList = chapterFilterUnreadList,
settings
..chapterFilterUnreadList = chapterFilterUnreadList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = type;
@ -253,7 +261,9 @@ class ChapterFilterBookmarkedState extends _$ChapterFilterBookmarkedState {
chapterFilterBookmarkedList.add(value);
isar.writeTxnSync(() {
isar.settings.putSync(
settings..chapterFilterBookmarkedList = chapterFilterBookmarkedList,
settings
..chapterFilterBookmarkedList = chapterFilterBookmarkedList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = type;
@ -405,7 +415,9 @@ class ScanlatorsFilterState extends _$ScanlatorsFilterState {
filterScanlatorList.add(value);
isar.writeTxnSync(() {
isar.settings.putSync(
settings..filterScanlatorList = filterScanlatorList,
settings
..filterScanlatorList = filterScanlatorList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = (_getScanlators(), _getFilterScanlator()!, filterScanlators);

View file

@ -55,7 +55,7 @@ final isExtendedStateProvider =
);
typedef _$IsExtendedState = AutoDisposeNotifier<bool>;
String _$sortChapterStateHash() => r'0431856a60ee9dd4ff24b620b7b14d3572da8759';
String _$sortChapterStateHash() => r'a6e547fd4badfa14ecb9270054c7e166dfc6e238';
/// Copied from Dart SDK
class _SystemHash {
@ -223,7 +223,7 @@ class _SortChapterStateProviderElement
}
String _$chapterFilterDownloadedStateHash() =>
r'974229e5af42122fbddb42e19fadb4eda82a7814';
r'1a4309b9dff1fd9d1dc0c09eab18629ee9fe8d66';
abstract class _$ChapterFilterDownloadedState
extends BuildlessAutoDisposeNotifier<int> {
@ -372,7 +372,7 @@ class _ChapterFilterDownloadedStateProviderElement
}
String _$chapterFilterUnreadStateHash() =>
r'7fba451c72c9636354b3fbca36fa33fa45bd943f';
r'95b34a7b0fd3282f8a2c0626c06ac251585fffec';
abstract class _$ChapterFilterUnreadState
extends BuildlessAutoDisposeNotifier<int> {
@ -520,7 +520,7 @@ class _ChapterFilterUnreadStateProviderElement
}
String _$chapterFilterBookmarkedStateHash() =>
r'd60b909cd01aa56a4797e7ab9e3613985edc231e';
r'639c257c1a77766438abf3b19cb61aa0eb7a8db6';
abstract class _$ChapterFilterBookmarkedState
extends BuildlessAutoDisposeNotifier<int> {
@ -1274,7 +1274,7 @@ final chaptersListttStateProvider =
typedef _$ChaptersListttState = AutoDisposeNotifier<List<Chapter>>;
String _$scanlatorsFilterStateHash() =>
r'32eb4315b75478fabcb8ca9eb3f13d289d806fa2';
r'8da89864801cd7620029d28cfb3f9bee3c67cba8';
abstract class _$ScanlatorsFilterState extends BuildlessAutoDisposeNotifier<
(List<String>, List<String>, List<String>)> {

View file

@ -178,7 +178,11 @@ class LastTrackerLibraryLocationState
final val = "${value.$1},${value.$2}";
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..lastTrackerLibraryLocation = val),
() => isar.settings.putSync(
settings!
..lastTrackerLibraryLocation = val
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -195,7 +195,7 @@ class _TrackStateProviderElement
}
String _$lastTrackerLibraryLocationStateHash() =>
r'f1e13ed88277e26123c2384fbfd4992678ad498a';
r'c09efe7fe4f8dda723c31bc6543dbaa571718342';
/// See also [LastTrackerLibraryLocationState].
@ProviderFor(LastTrackerLibraryLocationState)

View file

@ -172,7 +172,9 @@ Future<void> downloadChapter(
);
isar.writeTxnSync(
() => isar.settings.putSync(
settings..chapterPageUrlsList = chapterPageUrls,
settings
..chapterPageUrlsList = chapterPageUrls
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}

View file

@ -158,7 +158,7 @@ class _AddDownloadToQueueProviderElement
Chapter get chapter => (origin as AddDownloadToQueueProvider).chapter;
}
String _$downloadChapterHash() => r'914d4c0fda7d031878ef9c7ac0b3a44241558d5d';
String _$downloadChapterHash() => r'4d008f26f03bf21010742b73cf83643c61f66c2b';
/// See also [downloadChapter].
@ProviderFor(downloadChapter)

View file

@ -17,7 +17,11 @@ class MangaHomeDisplayTypeState extends _$MangaHomeDisplayTypeState {
state = displayType;
isar.writeTxnSync(() {
isar.settings.putSync(settings..mangaHomeDisplayType = displayType);
isar.settings.putSync(
settings
..mangaHomeDisplayType = displayType
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}

View file

@ -7,7 +7,7 @@ part of 'state_provider.dart';
// **************************************************************************
String _$mangaHomeDisplayTypeStateHash() =>
r'48582d80d07c966d5765f20ecc92947e9dd0881c';
r'6e91cef2e4a9925cab1a7a764ac6a0e741398fb2';
/// See also [MangaHomeDisplayTypeState].
@ProviderFor(MangaHomeDisplayTypeState)

View file

@ -20,7 +20,11 @@ class CustomColorFilterState extends _$CustomColorFilterState {
..b = b;
if (end) {
isar.writeTxnSync(
() => isar.settings.putSync(settings!..customColorFilter = value),
() => isar.settings.putSync(
settings!
..customColorFilter = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
state = value;
@ -38,7 +42,11 @@ class EnableCustomColorFilterState extends _$EnableCustomColorFilterState {
final settings = isar.settings.getSync(227);
isar.writeTxnSync(
() => isar.settings.putSync(settings!..enableCustomColorFilter = value),
() => isar.settings.putSync(
settings!
..enableCustomColorFilter = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
state = value;
}
@ -55,7 +63,11 @@ class ColorFilterBlendModeState extends _$ColorFilterBlendModeState {
final settings = isar.settings.getSync(227);
isar.writeTxnSync(
() => isar.settings.putSync(settings!..colorFilterBlendMode = value),
() => isar.settings.putSync(
settings!
..colorFilterBlendMode = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
state = value;
}

View file

@ -7,7 +7,7 @@ part of 'color_filter_provider.dart';
// **************************************************************************
String _$customColorFilterStateHash() =>
r'5138b52d1465b1e0109b9757375e8ce4fbeb21d9';
r'e83ed3712f2f69c6ad15b2b3b10ff17cf8bb2898';
/// See also [CustomColorFilterState].
@ProviderFor(CustomColorFilterState)
@ -24,7 +24,7 @@ final customColorFilterStateProvider = AutoDisposeNotifierProvider<
typedef _$CustomColorFilterState = AutoDisposeNotifier<CustomColorFilter?>;
String _$enableCustomColorFilterStateHash() =>
r'21d9944242971b5a6d034b61cc413d04b3075730';
r'20579f0101c7f64051d63ea85813aeb068fdb3c9';
/// See also [EnableCustomColorFilterState].
@ProviderFor(EnableCustomColorFilterState)
@ -41,7 +41,7 @@ final enableCustomColorFilterStateProvider =
typedef _$EnableCustomColorFilterState = AutoDisposeNotifier<bool>;
String _$colorFilterBlendModeStateHash() =>
r'dc975e92e7217d4803b73d1850ca5d9d3d4d8575';
r'92e84b352b519dd32d1c418d7477a10a8921bc19';
/// See also [ColorFilterBlendModeState].
@ProviderFor(ColorFilterBlendModeState)

View file

@ -98,7 +98,9 @@ class ReaderController extends _$ReaderController {
);
isar.writeTxnSync(
() => isar.settings.putSync(
getIsarSetting()..autoScrollPages = autoScrollPagesList,
getIsarSetting()
..autoScrollPages = autoScrollPagesList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -129,7 +131,9 @@ class ReaderController extends _$ReaderController {
);
isar.writeTxnSync(
() => isar.settings.putSync(
getIsarSetting()..personalReaderModeList = personalReaderModeLists,
getIsarSetting()
..personalReaderModeList = personalReaderModeLists
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -148,7 +152,9 @@ class ReaderController extends _$ReaderController {
);
isar.writeTxnSync(
() => isar.settings.putSync(
getIsarSetting()..personalPageModeList = personalPageModeLists,
getIsarSetting()
..personalPageModeList = personalPageModeLists
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -156,7 +162,11 @@ class ReaderController extends _$ReaderController {
void setShowPageNumber(bool value) {
if (!incognitoMode) {
isar.writeTxnSync(
() => isar.settings.putSync(getIsarSetting()..showPagesNumber = value),
() => isar.settings.putSync(
getIsarSetting()
..showPagesNumber = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -354,7 +364,9 @@ class ReaderController extends _$ReaderController {
final chap = chapter;
isar.writeTxnSync(() {
isar.settings.putSync(
getIsarSetting()..chapterPageIndexList = chapterPageIndexs,
getIsarSetting()
..chapterPageIndexList = chapterPageIndexs
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
chap.isRead = isRead;
chap.lastPageRead = isRead ? '1' : (newIndex + 1).toString();

View file

@ -171,7 +171,7 @@ class _CurrentIndexProviderElement
Chapter get chapter => (origin as CurrentIndexProvider).chapter;
}
String _$readerControllerHash() => r'ef8ec616a2ddbd9f7fb1db21017c5b253389d4fa';
String _$readerControllerHash() => r'8b2995dcf849eddff308a105a2e06c9534096fac';
abstract class _$ReaderController extends BuildlessAutoDisposeNotifier<void> {
late final Chapter chapter;

View file

@ -53,7 +53,10 @@ class AboutScreen extends ConsumerWidget {
isar.writeTxnSync(() {
final settings = isar.settings.getSync(227);
isar.settings.putSync(
settings!..checkForAppUpdates = value,
settings!
..checkForAppUpdates = value
..updatedAt =
DateTime.now().millisecondsSinceEpoch,
);
});
ref.invalidate(checkForAppUpdatesProvider);

View file

@ -33,7 +33,11 @@ class BackupFrequencyOptionsState extends _$BackupFrequencyOptionsState {
final settings = isar.settings.getSync(227);
state = values;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..backupListOptions = values),
() => isar.settings.putSync(
settings!
..backupListOptions = values
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -50,7 +54,11 @@ class AutoBackupLocationState extends _$AutoBackupLocationState {
final settings = isar.settings.getSync(227);
state = (p.join(_storageProvider!.path, "backup"), location);
isar.writeTxnSync(
() => isar.settings.putSync(settings!..autoBackupLocation = location),
() => isar.settings.putSync(
settings!
..autoBackupLocation = location
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -131,7 +139,8 @@ void _setBackupFrequency(int value) {
() => isar.settings.putSync(
settings!
..backupFrequency = value
..startDatebackup = startDate?.millisecondsSinceEpoch,
..startDatebackup = startDate?.millisecondsSinceEpoch
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}

View file

@ -41,7 +41,7 @@ final backupFrequencyStateProvider =
typedef _$BackupFrequencyState = AutoDisposeNotifier<int>;
String _$backupFrequencyOptionsStateHash() =>
r'dd5aa850bc250e584973496fee05214b22eed9b1';
r'477541f3b59fe662ea3471400ff62066ea7e2196';
/// See also [BackupFrequencyOptionsState].
@ProviderFor(BackupFrequencyOptionsState)
@ -58,7 +58,7 @@ final backupFrequencyOptionsStateProvider = AutoDisposeNotifierProvider<
typedef _$BackupFrequencyOptionsState = AutoDisposeNotifier<List<int>>;
String _$autoBackupLocationStateHash() =>
r'be78346bb300287ae9b8581e27ee6814483400a7';
r'45e1942f6f88ccb92f3f96ddfb5c74df477b61ba';
/// See also [AutoBackupLocationState].
@ProviderFor(AutoBackupLocationState)

View file

@ -104,7 +104,9 @@ class ClearChapterCacheOnAppLaunchState
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(
settings!..clearChapterCacheOnAppLaunch = value,
settings!
..clearChapterCacheOnAppLaunch = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}

View file

@ -24,7 +24,7 @@ final totalChapterCacheSizeStateProvider =
typedef _$TotalChapterCacheSizeState = AutoDisposeNotifier<String>;
String _$clearChapterCacheOnAppLaunchStateHash() =>
r'6fdefd7a3bdc4309dd596dad43891c654ec2ba70';
r'1decadd07db6946a1daaa4ae90e0f082555fab78';
/// See also [ClearChapterCacheOnAppLaunchState].
@ProviderFor(ClearChapterCacheOnAppLaunchState)

View file

@ -14,7 +14,11 @@ class IncognitoModeState extends _$IncognitoModeState {
final settings = isar.settings.getSync(227)!;
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings..incognitoMode = state),
() => isar.settings.putSync(
settings
..incognitoMode = state
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,7 +7,7 @@ part of 'incognito_mode_state_provider.dart';
// **************************************************************************
String _$incognitoModeStateHash() =>
r'54fc89df3bffd0b9665f04d9c9c2f75532925804';
r'149c4dcbc434fb6efc883e196392320bdc7c0821';
/// See also [IncognitoModeState].
@ProviderFor(IncognitoModeState)

View file

@ -22,7 +22,11 @@ class AppFontFamily extends _$AppFontFamily {
final settings = isar.settings.getSync(227);
state = fontFamily;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..appFontFamily = fontFamily),
() => isar.settings.putSync(
settings!
..appFontFamily = fontFamily
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -6,7 +6,7 @@ part of 'app_font_family.dart';
// RiverpodGenerator
// **************************************************************************
String _$appFontFamilyHash() => r'7f115012111256848d806e47382db1f8abcff5ec';
String _$appFontFamilyHash() => r'edc7d34d3b1aa149fdbd95fa0b07d9746b7279b1';
/// See also [AppFontFamily].
@ProviderFor(AppFontFamily)

View file

@ -15,8 +15,11 @@ class BlendLevelState extends _$BlendLevelState {
state = blendLevelValue;
if (end) {
isar.writeTxnSync(
() =>
isar.settings.putSync(settings!..flexColorSchemeBlendLevel = state),
() => isar.settings.putSync(
settings!
..flexColorSchemeBlendLevel = state
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -6,7 +6,7 @@ part of 'blend_level_state_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$blendLevelStateHash() => r'ceb7965073b2d6676a91acbe662bfa881f2f5e30';
String _$blendLevelStateHash() => r'78024b3432868c3b901419bbd919c3f84a4cf713';
/// See also [BlendLevelState].
@ProviderFor(BlendLevelState)

View file

@ -14,7 +14,11 @@ class DateFormatState extends _$DateFormatState {
final settings = isar.settings.getSync(227);
state = dateFormat;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..dateFormat = state),
() => isar.settings.putSync(
settings!
..dateFormat = state
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -30,7 +34,11 @@ class RelativeTimesTampsState extends _$RelativeTimesTampsState {
final settings = isar.settings.getSync(227);
state = type;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..relativeTimesTamps = state),
() => isar.settings.putSync(
settings!
..relativeTimesTamps = state
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -6,7 +6,7 @@ part of 'date_format_state_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$dateFormatStateHash() => r'094aa68b09b654de97be6a59c6d593f30e3bdf79';
String _$dateFormatStateHash() => r'9b11f72b8fa535b74873365618089dfca957e445';
/// See also [DateFormatState].
@ProviderFor(DateFormatState)
@ -23,7 +23,7 @@ final dateFormatStateProvider =
typedef _$DateFormatState = AutoDisposeNotifier<String>;
String _$relativeTimesTampsStateHash() =>
r'e515ea30e71143ee60f86a02320e8b1f50b5a955';
r'fc39b88871e857dcd363c01df59de9ca174cb1d6';
/// See also [RelativeTimesTampsState].
@ProviderFor(RelativeTimesTampsState)

View file

@ -21,7 +21,11 @@ class FlexSchemeColorState extends _$FlexSchemeColorState {
final settings = isar.settings.getSync(227);
state = color;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..flexSchemeColorIndex = index),
() => isar.settings.putSync(
settings!
..flexSchemeColorIndex = index
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,7 +7,7 @@ part of 'flex_scheme_color_state_provider.dart';
// **************************************************************************
String _$flexSchemeColorStateHash() =>
r'5c535382cc52e144426fa36dc20ea614d6288f53';
r'0b484f5c16d099fd94e2150bf4a32d9e8338feb3';
/// See also [FlexSchemeColorState].
@ProviderFor(FlexSchemeColorState)

View file

@ -14,7 +14,11 @@ class PureBlackDarkModeState extends _$PureBlackDarkModeState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..pureBlackDarkMode = value),
() => isar.settings.putSync(
settings!
..pureBlackDarkMode = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,7 +7,7 @@ part of 'pure_black_dark_mode_state_provider.dart';
// **************************************************************************
String _$pureBlackDarkModeStateHash() =>
r'2dd98617810c8677341dc5cc485d226e6d610cf5';
r'a597f2ae7d7374fa57fb6c26aed274774d788509';
/// See also [PureBlackDarkModeState].
@ProviderFor(PureBlackDarkModeState)

View file

@ -32,7 +32,11 @@ class ThemeModeState extends _$ThemeModeState {
settings.flexSchemeColorIndex!,
);
isar.writeTxnSync(
() => isar.settings.putSync(settings..themeIsDark = state),
() => isar.settings.putSync(
settings
..themeIsDark = state
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -46,7 +50,11 @@ class ThemeModeState extends _$ThemeModeState {
settings.flexSchemeColorIndex!,
);
isar.writeTxnSync(
() => isar.settings.putSync(settings..themeIsDark = state),
() => isar.settings.putSync(
settings
..themeIsDark = state
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -70,7 +78,11 @@ class FollowSystemThemeState extends _$FollowSystemThemeState {
}
}
isar.writeTxnSync(
() => isar.settings.putSync(settings!..followSystemTheme = value),
() => isar.settings.putSync(
settings!
..followSystemTheme = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -6,7 +6,7 @@ part of 'theme_mode_state_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$themeModeStateHash() => r'264bf4a814cec831e34d916f273b4db6513e583c';
String _$themeModeStateHash() => r'f1a29fab544a04b3f1d9c269e08f5b83ec51e0c3';
/// See also [ThemeModeState].
@ProviderFor(ThemeModeState)
@ -23,7 +23,7 @@ final themeModeStateProvider =
typedef _$ThemeModeState = AutoDisposeNotifier<bool>;
String _$followSystemThemeStateHash() =>
r'a2d5e573e05364c3c89abe81f25c7f39b0ae91e2';
r'07837fff5d56fb0b15b555d203af2bbe94e138f8';
/// See also [FollowSystemThemeState].
@ProviderFor(FollowSystemThemeState)

View file

@ -21,7 +21,11 @@ class OnlyIncludePinnedSourceState extends _$OnlyIncludePinnedSourceState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..onlyIncludePinnedSources = value),
() => isar.settings.putSync(
settings!
..onlyIncludePinnedSources = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -45,12 +49,20 @@ class ExtensionsRepoState extends _$ExtensionsRepoState {
isar.writeTxnSync(() {
final a = switch (itemType) {
ItemType.manga => isar.settings.putSync(
settings..mangaExtensionsRepo = value,
settings
..mangaExtensionsRepo = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
ItemType.anime => isar.settings.putSync(
settings..animeExtensionsRepo = value,
settings
..animeExtensionsRepo = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
_ => isar.settings.putSync(
settings
..novelExtensionsRepo = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
_ => isar.settings.putSync(settings..novelExtensionsRepo = value),
};
a;
});
@ -78,7 +90,11 @@ class AutoUpdateExtensionsState extends _$AutoUpdateExtensionsState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..autoExtensionsUpdates = value),
() => isar.settings.putSync(
settings!
..autoExtensionsUpdates = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -94,7 +110,11 @@ class CheckForExtensionsUpdateState extends _$CheckForExtensionsUpdateState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..checkForExtensionUpdates = value),
() => isar.settings.putSync(
settings!
..checkForExtensionUpdates = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -158,7 +158,7 @@ class _GetRepoInfosProviderElement
}
String _$onlyIncludePinnedSourceStateHash() =>
r'77c4bff96e186c4bce0a5c312871ceec88a269d0';
r'b9f707348d5d0f7abfa8e615c1d2b35c6dbd57f3';
/// See also [OnlyIncludePinnedSourceState].
@ProviderFor(OnlyIncludePinnedSourceState)
@ -175,7 +175,7 @@ final onlyIncludePinnedSourceStateProvider =
typedef _$OnlyIncludePinnedSourceState = AutoDisposeNotifier<bool>;
String _$extensionsRepoStateHash() =>
r'3ea91c79a9bc24f086fce49de2c61a1e06bad1fe';
r'5c23b8b7ecf83b253b76a2663a71c0c752e53a40';
abstract class _$ExtensionsRepoState
extends BuildlessAutoDisposeNotifier<List<Repo>> {
@ -322,7 +322,7 @@ class _ExtensionsRepoStateProviderElement
}
String _$autoUpdateExtensionsStateHash() =>
r'30ce3c558504e005f9c85e2fc969ab7a581510cd';
r'0aa0006368f418e62a8dc9b5a427698f082f29a6';
/// See also [AutoUpdateExtensionsState].
@ProviderFor(AutoUpdateExtensionsState)
@ -339,7 +339,7 @@ final autoUpdateExtensionsStateProvider =
typedef _$AutoUpdateExtensionsState = AutoDisposeNotifier<bool>;
String _$checkForExtensionsUpdateStateHash() =>
r'1b1f22a50e0862a7d643fbe0fcb5d563bd0169c2';
r'c700ecd686cce971b70b74b6086d4950157a3f13';
/// See also [CheckForExtensionsUpdateState].
@ProviderFor(CheckForExtensionsUpdateState)

View file

@ -17,7 +17,11 @@ class OnlyOnWifiState extends _$OnlyOnWifiState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..downloadOnlyOnWifi = value),
() => isar.settings.putSync(
settings!
..downloadOnlyOnWifi = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -33,7 +37,11 @@ class SaveAsCBZArchiveState extends _$SaveAsCBZArchiveState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..saveAsCBZArchive = value),
() => isar.settings.putSync(
settings!
..saveAsCBZArchive = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -50,7 +58,11 @@ class DownloadLocationState extends _$DownloadLocationState {
final settings = isar.settings.getSync(227);
state = (path.join(_storageProvider!.path, 'downloads'), location);
isar.writeTxnSync(
() => isar.settings.putSync(settings!..downloadLocation = location),
() => isar.settings.putSync(
settings!
..downloadLocation = location
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -77,7 +89,11 @@ class ConcurrentDownloadsState extends _$ConcurrentDownloadsState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..concurrentDownloads = value),
() => isar.settings.putSync(
settings!
..concurrentDownloads = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -6,7 +6,7 @@ part of 'downloads_state_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$onlyOnWifiStateHash() => r'613d0fd2a72fdfeb0c8da05dc8ed4144cc8df6f5';
String _$onlyOnWifiStateHash() => r'ea6df18bb5dc5019a00fca258d45cb0dfee0dffe';
/// See also [OnlyOnWifiState].
@ProviderFor(OnlyOnWifiState)
@ -23,7 +23,7 @@ final onlyOnWifiStateProvider =
typedef _$OnlyOnWifiState = AutoDisposeNotifier<bool>;
String _$saveAsCBZArchiveStateHash() =>
r'81c4d07dc96f0fae33274f2067911e5b94ac6161';
r'836e8cce08b3d307c58d2a850a7dcb3c9d739fc1';
/// See also [SaveAsCBZArchiveState].
@ProviderFor(SaveAsCBZArchiveState)
@ -40,7 +40,7 @@ final saveAsCBZArchiveStateProvider =
typedef _$SaveAsCBZArchiveState = AutoDisposeNotifier<bool>;
String _$downloadLocationStateHash() =>
r'dba216dd8de1206c1c272d0f76684e016e10417f';
r'75e2679930508fdd5e1b59baca632e03aace598e';
/// See also [DownloadLocationState].
@ProviderFor(DownloadLocationState)
@ -57,7 +57,7 @@ final downloadLocationStateProvider = AutoDisposeNotifierProvider<
typedef _$DownloadLocationState = AutoDisposeNotifier<(String, String)>;
String _$concurrentDownloadsStateHash() =>
r'665ec25af7d72e3345ce1ca96319419f11f121e6';
r'295fe3f49224fd645b01f1aa89ba79dd330fffed';
/// See also [ConcurrentDownloadsState].
@ProviderFor(ConcurrentDownloadsState)

View file

@ -14,7 +14,11 @@ class EnableDiscordRpcState extends _$EnableDiscordRpcState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..enableDiscordRpc = value),
() => isar.settings.putSync(
settings!
..enableDiscordRpc = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -30,7 +34,11 @@ class HideDiscordRpcInIncognitoState extends _$HideDiscordRpcInIncognitoState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..hideDiscordRpcInIncognito = value),
() => isar.settings.putSync(
settings!
..hideDiscordRpcInIncognito = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -48,7 +56,9 @@ class RpcShowReadingWatchingProgressState
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(
settings!..rpcShowReadingWatchingProgress = value,
settings!
..rpcShowReadingWatchingProgress = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -65,7 +75,11 @@ class RpcShowTitleState extends _$RpcShowTitleState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..rpcShowTitle = value),
() => isar.settings.putSync(
settings!
..rpcShowTitle = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -81,7 +95,11 @@ class RpcShowCoverImageState extends _$RpcShowCoverImageState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..rpcShowCoverImage = value),
() => isar.settings.putSync(
settings!
..rpcShowCoverImage = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,7 +7,7 @@ part of 'general_state_provider.dart';
// **************************************************************************
String _$enableDiscordRpcStateHash() =>
r'bc134787a33f362087befd5de85692812659faa0';
r'ab8ce3b29f5d94aedbc88dcb87c7c834648270f5';
/// See also [EnableDiscordRpcState].
@ProviderFor(EnableDiscordRpcState)
@ -24,7 +24,7 @@ final enableDiscordRpcStateProvider =
typedef _$EnableDiscordRpcState = AutoDisposeNotifier<bool>;
String _$hideDiscordRpcInIncognitoStateHash() =>
r'8e45104c34b1255b7a3d4a6f182bf43be9e2b93d';
r'7404a6ef4ae0d831b755c455c51eb3cb7f18f64f';
/// See also [HideDiscordRpcInIncognitoState].
@ProviderFor(HideDiscordRpcInIncognitoState)
@ -41,7 +41,7 @@ final hideDiscordRpcInIncognitoStateProvider =
typedef _$HideDiscordRpcInIncognitoState = AutoDisposeNotifier<bool>;
String _$rpcShowReadingWatchingProgressStateHash() =>
r'b4000c10234ce9070b44b535e9d10d16e6b7c0ec';
r'ce0582267191d4348cfe15f030d60e52c070163e';
/// See also [RpcShowReadingWatchingProgressState].
@ProviderFor(RpcShowReadingWatchingProgressState)
@ -57,7 +57,7 @@ final rpcShowReadingWatchingProgressStateProvider = AutoDisposeNotifierProvider<
);
typedef _$RpcShowReadingWatchingProgressState = AutoDisposeNotifier<bool>;
String _$rpcShowTitleStateHash() => r'9d7005af8968f61872fcc37979f5c54b745ffe65';
String _$rpcShowTitleStateHash() => r'b784b58365a72b54cbe46b1582c97c2f9b8057a2';
/// See also [RpcShowTitleState].
@ProviderFor(RpcShowTitleState)
@ -74,7 +74,7 @@ final rpcShowTitleStateProvider =
typedef _$RpcShowTitleState = AutoDisposeNotifier<bool>;
String _$rpcShowCoverImageStateHash() =>
r'6ce1c61be44c0a6315fbb51a45ac6e47c3e49b33';
r'85a460d188319f5410ed0d5b0cb201b03c9759e7';
/// See also [RpcShowCoverImageState].
@ProviderFor(RpcShowCoverImageState)

View file

@ -29,7 +29,8 @@ class DefaultSubtitleLangState extends _$DefaultSubtitleLangState {
..defaultSubtitleLang = L10nLocale(
languageCode: locale.languageCode,
countryCode: locale.countryCode,
),
)
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = locale;
@ -47,7 +48,11 @@ class MarkEpisodeAsSeenTypeState extends _$MarkEpisodeAsSeenTypeState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..markEpisodeAsSeenType = value),
() => isar.settings.putSync(
settings!
..markEpisodeAsSeenType = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -63,7 +68,11 @@ class DefaultSkipIntroLengthState extends _$DefaultSkipIntroLengthState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..defaultSkipIntroLength = value),
() => isar.settings.putSync(
settings!
..defaultSkipIntroLength = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -81,7 +90,9 @@ class DefaultDoubleTapToSkipLengthState
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(
settings!..defaultDoubleTapToSkipLength = value,
settings!
..defaultDoubleTapToSkipLength = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
@ -98,7 +109,11 @@ class DefaultPlayBackSpeedState extends _$DefaultPlayBackSpeedState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..defaultPlayBackSpeed = value),
() => isar.settings.putSync(
settings!
..defaultPlayBackSpeed = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -114,7 +129,11 @@ class FullScreenPlayerState extends _$FullScreenPlayerState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..fullScreenPlayer = value),
() => isar.settings.putSync(
settings!
..fullScreenPlayer = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -130,7 +149,11 @@ class EnableAniSkipState extends _$EnableAniSkipState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..enableAniSkip = value),
() => isar.settings.putSync(
settings!
..enableAniSkip = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -146,7 +169,11 @@ class EnableAutoSkipState extends _$EnableAutoSkipState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..enableAutoSkip = value),
() => isar.settings.putSync(
settings!
..enableAutoSkip = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -162,7 +189,11 @@ class AniSkipTimeoutLengthState extends _$AniSkipTimeoutLengthState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..aniSkipTimeoutLength = value),
() => isar.settings.putSync(
settings!
..aniSkipTimeoutLength = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -178,7 +209,11 @@ class UseLibassState extends _$UseLibassState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..useLibass = value),
() => isar.settings.putSync(
settings!
..useLibass = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -217,7 +252,11 @@ class HwdecModeState extends _$HwdecModeState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..hwdecMode = value),
() => isar.settings.putSync(
settings!
..hwdecMode = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,7 +7,7 @@ part of 'player_state_provider.dart';
// **************************************************************************
String _$defaultSubtitleLangStateHash() =>
r'bec45a4fbd70922b767dbef7c98a423d908ed9d3';
r'ae7b275e168dd15117512d9ed1c474736458753b';
/// See also [DefaultSubtitleLangState].
@ProviderFor(DefaultSubtitleLangState)
@ -24,7 +24,7 @@ final defaultSubtitleLangStateProvider =
typedef _$DefaultSubtitleLangState = AutoDisposeNotifier<Locale>;
String _$markEpisodeAsSeenTypeStateHash() =>
r'94ae90e6bc51bbd4f88dfc9780cc5e9eb4ed5770';
r'd25a31a8c5bf99ab6466023ef996613f98357c8c';
/// See also [MarkEpisodeAsSeenTypeState].
@ProviderFor(MarkEpisodeAsSeenTypeState)
@ -41,7 +41,7 @@ final markEpisodeAsSeenTypeStateProvider =
typedef _$MarkEpisodeAsSeenTypeState = AutoDisposeNotifier<int>;
String _$defaultSkipIntroLengthStateHash() =>
r'fee9c7dd76ad84a16c6ac380285f5cdfe43fc537';
r'cd673c1c8c1d6400caa02c8f7751615c223ca4e3';
/// See also [DefaultSkipIntroLengthState].
@ProviderFor(DefaultSkipIntroLengthState)
@ -58,7 +58,7 @@ final defaultSkipIntroLengthStateProvider =
typedef _$DefaultSkipIntroLengthState = AutoDisposeNotifier<int>;
String _$defaultDoubleTapToSkipLengthStateHash() =>
r'5f60e645c464503f06f992cba5b61fe81cc8d112';
r'f550eb96cbf5110fdfc18848dd8049653e369459';
/// See also [DefaultDoubleTapToSkipLengthState].
@ProviderFor(DefaultDoubleTapToSkipLengthState)
@ -75,7 +75,7 @@ final defaultDoubleTapToSkipLengthStateProvider = AutoDisposeNotifierProvider<
typedef _$DefaultDoubleTapToSkipLengthState = AutoDisposeNotifier<int>;
String _$defaultPlayBackSpeedStateHash() =>
r'865d17020e99aad291633b0829e0b9b502356c71';
r'f9c19deb880028f6be06dcb57d4c75abaef48964';
/// See also [DefaultPlayBackSpeedState].
@ProviderFor(DefaultPlayBackSpeedState)
@ -92,7 +92,7 @@ final defaultPlayBackSpeedStateProvider =
typedef _$DefaultPlayBackSpeedState = AutoDisposeNotifier<double>;
String _$fullScreenPlayerStateHash() =>
r'c041e3caa51c8320a3f136c19890120b38bb86be';
r'8f10fe73e899e05c9e1355f3e628be3593f1c2a6';
/// See also [FullScreenPlayerState].
@ProviderFor(FullScreenPlayerState)
@ -109,7 +109,7 @@ final fullScreenPlayerStateProvider =
typedef _$FullScreenPlayerState = AutoDisposeNotifier<bool>;
String _$enableAniSkipStateHash() =>
r'1b448453e54f2a261820d40ca2d82971d165372a';
r'103d41d30889391851d2eef85ccce7d4f0baf27d';
/// See also [EnableAniSkipState].
@ProviderFor(EnableAniSkipState)
@ -126,7 +126,7 @@ final enableAniSkipStateProvider =
typedef _$EnableAniSkipState = AutoDisposeNotifier<bool>;
String _$enableAutoSkipStateHash() =>
r'5f4d5e669cadf98396afe52635e2ec5f2ee7ff2f';
r'e5880ae4f88cbcf6be1e4b252aea11425d8b78fc';
/// See also [EnableAutoSkipState].
@ProviderFor(EnableAutoSkipState)
@ -143,7 +143,7 @@ final enableAutoSkipStateProvider =
typedef _$EnableAutoSkipState = AutoDisposeNotifier<bool>;
String _$aniSkipTimeoutLengthStateHash() =>
r'fc1c16c22fb129e1a2ea5434282baf2dcfa79c82';
r'2e13a6e7f53bc29c0b35107af18337fcaf79867f';
/// See also [AniSkipTimeoutLengthState].
@ProviderFor(AniSkipTimeoutLengthState)
@ -159,7 +159,7 @@ final aniSkipTimeoutLengthStateProvider =
);
typedef _$AniSkipTimeoutLengthState = AutoDisposeNotifier<int>;
String _$useLibassStateHash() => r'91e5bbde72651f57f8775bf0fec14145ea42ced6';
String _$useLibassStateHash() => r'aa8024f8b754117dfe80594f85155b05311a3152';
/// See also [UseLibassState].
@ProviderFor(UseLibassState)
@ -175,7 +175,7 @@ final useLibassStateProvider =
);
typedef _$UseLibassState = AutoDisposeNotifier<bool>;
String _$hwdecModeStateHash() => r'e8b8e2b378eb9ac687bd8dad5637a816ad33fedb';
String _$hwdecModeStateHash() => r'8186e3c5f3db0e952f629d56b2e580e546aed65e';
/// Copied from Dart SDK
class _SystemHash {

View file

@ -14,7 +14,11 @@ class DefaultReadingModeState extends _$DefaultReadingModeState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..defaultReaderMode = value),
() => isar.settings.putSync(
settings!
..defaultReaderMode = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -30,7 +34,11 @@ class AnimatePageTransitionsState extends _$AnimatePageTransitionsState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..animatePageTransitions = value),
() => isar.settings.putSync(
settings!
..animatePageTransitions = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -46,7 +54,11 @@ class DoubleTapAnimationSpeedState extends _$DoubleTapAnimationSpeedState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..doubleTapAnimationSpeed = value),
() => isar.settings.putSync(
settings!
..doubleTapAnimationSpeed = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -62,7 +74,11 @@ class CropBordersState extends _$CropBordersState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..cropBorders = value),
() => isar.settings.putSync(
settings!
..cropBorders = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -78,7 +94,11 @@ class ScaleTypeState extends _$ScaleTypeState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..scaleType = value),
() => isar.settings.putSync(
settings!
..scaleType = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -94,7 +114,11 @@ class PagePreloadAmountState extends _$PagePreloadAmountState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..pagePreloadAmount = value),
() => isar.settings.putSync(
settings!
..pagePreloadAmount = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -110,7 +134,11 @@ class BackgroundColorState extends _$BackgroundColorState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..backgroundColor = value),
() => isar.settings.putSync(
settings!
..backgroundColor = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -126,7 +154,11 @@ class UsePageTapZonesState extends _$UsePageTapZonesState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..usePageTapZones = value),
() => isar.settings.putSync(
settings!
..usePageTapZones = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -142,7 +174,11 @@ class FullScreenReaderState extends _$FullScreenReaderState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..fullScreenReader = value),
() => isar.settings.putSync(
settings!
..fullScreenReader = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -178,7 +214,11 @@ class NavigationOrderState extends _$NavigationOrderState {
final settings = isar.settings.getSync(227);
state = values;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..navigationOrder = values),
() => isar.settings.putSync(
settings!
..navigationOrder = values
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -194,7 +234,11 @@ class HideItemsState extends _$HideItemsState {
final settings = isar.settings.getSync(227);
state = values;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..hideItems = values),
() => isar.settings.putSync(
settings!
..hideItems = values
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -210,7 +254,11 @@ class MergeLibraryNavMobileState extends _$MergeLibraryNavMobileState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..mergeLibraryNavMobile = value),
() => isar.settings.putSync(
settings!
..mergeLibraryNavMobile = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -226,7 +274,11 @@ class NovelFontSizeState extends _$NovelFontSizeState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..novelFontSize = value),
() => isar.settings.putSync(
settings!
..novelFontSize = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}
@ -242,7 +294,11 @@ class NovelTextAlignState extends _$NovelTextAlignState {
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() => isar.settings.putSync(settings!..novelTextAlign = value),
() => isar.settings.putSync(
settings!
..novelTextAlign = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,7 +7,7 @@ part of 'reader_state_provider.dart';
// **************************************************************************
String _$defaultReadingModeStateHash() =>
r'2fe1d264041dd115bcc1a8c5648d0062a19f4c44';
r'6125feb2aff79c017dc55ea2faa2591916af051a';
/// See also [DefaultReadingModeState].
@ProviderFor(DefaultReadingModeState)
@ -24,7 +24,7 @@ final defaultReadingModeStateProvider =
typedef _$DefaultReadingModeState = AutoDisposeNotifier<ReaderMode>;
String _$animatePageTransitionsStateHash() =>
r'c8fdb2acb7a551c41a54c1aa14e378f6b1edd5c1';
r'b65e7a08d290f4ec6b9616eb70ce2830b51582e6';
/// See also [AnimatePageTransitionsState].
@ProviderFor(AnimatePageTransitionsState)
@ -41,7 +41,7 @@ final animatePageTransitionsStateProvider =
typedef _$AnimatePageTransitionsState = AutoDisposeNotifier<bool>;
String _$doubleTapAnimationSpeedStateHash() =>
r'd88657a8a587a0a77b6230a7fe5b2c1b833afca8';
r'6b7b88dd088b7c8328960553b3a8fd17066030a6';
/// See also [DoubleTapAnimationSpeedState].
@ProviderFor(DoubleTapAnimationSpeedState)
@ -57,7 +57,7 @@ final doubleTapAnimationSpeedStateProvider =
);
typedef _$DoubleTapAnimationSpeedState = AutoDisposeNotifier<int>;
String _$cropBordersStateHash() => r'65d636df7bebd9fb15b3915c1044c61f3479e806';
String _$cropBordersStateHash() => r'b8a38a59e240909f81a5faad44b54d3ced025de8';
/// See also [CropBordersState].
@ProviderFor(CropBordersState)
@ -73,7 +73,7 @@ final cropBordersStateProvider =
);
typedef _$CropBordersState = AutoDisposeNotifier<bool>;
String _$scaleTypeStateHash() => r'5e6943ab426e9f0bdfe16685a037f6def3a02ddf';
String _$scaleTypeStateHash() => r'07f29cba7193242795134b6d37bb393210a191a1';
/// See also [ScaleTypeState].
@ProviderFor(ScaleTypeState)
@ -90,7 +90,7 @@ final scaleTypeStateProvider =
typedef _$ScaleTypeState = AutoDisposeNotifier<ScaleType>;
String _$pagePreloadAmountStateHash() =>
r'f3b7f78ba1acc10631dc433298c49abe417f254e';
r'45e9810e73e93b7a88a1a3b876da73123024cc71';
/// See also [PagePreloadAmountState].
@ProviderFor(PagePreloadAmountState)
@ -107,7 +107,7 @@ final pagePreloadAmountStateProvider =
typedef _$PagePreloadAmountState = AutoDisposeNotifier<int>;
String _$backgroundColorStateHash() =>
r'912db0bc09d8aafe20b8eb46ed2f07a9d5439aaa';
r'4abc4c6b95bf97fe50a3290da94cddf935fa96da';
/// See also [BackgroundColorState].
@ProviderFor(BackgroundColorState)
@ -124,7 +124,7 @@ final backgroundColorStateProvider =
typedef _$BackgroundColorState = AutoDisposeNotifier<BackgroundColor>;
String _$usePageTapZonesStateHash() =>
r'476a7831ca38386e6cd9c83e7c8943f1f4ba20b7';
r'8bdfc5d257eeba63bb4f4ff3ceda766bcc58dc37';
/// See also [UsePageTapZonesState].
@ProviderFor(UsePageTapZonesState)
@ -141,7 +141,7 @@ final usePageTapZonesStateProvider =
typedef _$UsePageTapZonesState = AutoDisposeNotifier<bool>;
String _$fullScreenReaderStateHash() =>
r'fe95b7d8cb6aee8910466f86bba97c854994b2d1';
r'6685d29e04c71975c3442a5299299e761ff72997';
/// See also [FullScreenReaderState].
@ProviderFor(FullScreenReaderState)
@ -158,7 +158,7 @@ final fullScreenReaderStateProvider =
typedef _$FullScreenReaderState = AutoDisposeNotifier<bool>;
String _$navigationOrderStateHash() =>
r'15ad6f31d8c5f3acd8cd6f4e4131e7536914cfc6';
r'7b40ce1b52f02ebac46ed6d0d5ab9ff9590b6885';
/// See also [NavigationOrderState].
@ProviderFor(NavigationOrderState)
@ -174,7 +174,7 @@ final navigationOrderStateProvider =
);
typedef _$NavigationOrderState = AutoDisposeNotifier<List<String>>;
String _$hideItemsStateHash() => r'312605bf45a83d7628d9c1da0597bb151362052b';
String _$hideItemsStateHash() => r'3e719a5dfb38c1510214f7bcd8dbd786a13c4566';
/// See also [HideItemsState].
@ProviderFor(HideItemsState)
@ -191,7 +191,7 @@ final hideItemsStateProvider =
typedef _$HideItemsState = AutoDisposeNotifier<List<String>>;
String _$mergeLibraryNavMobileStateHash() =>
r'a69f669b69d036835128b2b922ed7da37877aaa8';
r'9b7979f6fb9082dd48a90447d44715628d312116';
/// See also [MergeLibraryNavMobileState].
@ProviderFor(MergeLibraryNavMobileState)
@ -208,7 +208,7 @@ final mergeLibraryNavMobileStateProvider =
typedef _$MergeLibraryNavMobileState = AutoDisposeNotifier<bool>;
String _$novelFontSizeStateHash() =>
r'fd104e358203d3f86e14d933518f2dbd067cec13';
r'9e4fa59d8c6b06b36ce485671ee059f8c4a7445e';
/// See also [NovelFontSizeState].
@ProviderFor(NovelFontSizeState)
@ -225,7 +225,7 @@ final novelFontSizeStateProvider =
typedef _$NovelFontSizeState = AutoDisposeNotifier<int>;
String _$novelTextAlignStateHash() =>
r'87664160c3962b96b8582a7581cf1e4ebb870363';
r'383ff78e9ce21503e163f13d5b87dd021aef6ab4';
/// See also [NovelTextAlignState].
@ProviderFor(NovelTextAlignState)

View file

@ -73,6 +73,27 @@ class Synching extends _$Synching {
ref.invalidateSelf();
}
void setSyncHistories(bool value) {
isar.writeTxnSync(() {
isar.syncPreferences.putSync(state..syncHistories = value);
});
ref.invalidateSelf();
}
void setSyncUpdates(bool value) {
isar.writeTxnSync(() {
isar.syncPreferences.putSync(state..syncUpdates = value);
});
ref.invalidateSelf();
}
void setSyncSettings(bool value) {
isar.writeTxnSync(() {
isar.syncPreferences.putSync(state..syncSettings = value);
});
ref.invalidateSelf();
}
List<ChangedPart> getAllChangedParts() {
return isar.changedParts.filter().idIsNotNull().findAllSync();
}

View file

@ -6,7 +6,7 @@ part of 'sync_providers.dart';
// RiverpodGenerator
// **************************************************************************
String _$synchingHash() => r'5d138375c0be625ec3ca62123520d6f1d5f37018';
String _$synchingHash() => r'b8ae212a8874cf9a170b71d05a91350849a824d1';
/// Copied from Dart SDK
class _SystemHash {

View file

@ -16,10 +16,6 @@ class SyncScreen extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final syncProvider = ref.watch(synchingProvider(syncId: 1));
final autoSyncFrequency = ref
.watch(synchingProvider(syncId: 1))
.autoSyncFrequency;
final l10n = l10nLocalizations(context)!;
final autoSyncOptions = {
l10n.sync_auto_off: 0,
@ -46,7 +42,7 @@ class SyncScreen extends ConsumerWidget {
return Column(
children: [
SwitchListTile(
value: syncProvider.syncOn,
value: syncPreference.syncOn,
title: Text(context.l10n.sync_on),
onChanged: (value) {
ref
@ -81,7 +77,7 @@ class SyncScreen extends ConsumerWidget {
dense: true,
contentPadding: const EdgeInsets.all(0),
value: optionValue,
groupValue: autoSyncFrequency,
groupValue: syncPreference.autoSyncFrequency,
onChanged: (value) {
ref
.read(
@ -120,7 +116,7 @@ class SyncScreen extends ConsumerWidget {
title: Text(l10n.sync_auto),
subtitle: Text(
autoSyncOptions.entries
.where((o) => o.value == autoSyncFrequency)
.where((o) => o.value == syncPreference.autoSyncFrequency)
.first
.key,
style: TextStyle(
@ -151,6 +147,33 @@ class SyncScreen extends ConsumerWidget {
),
),
),
SwitchListTile(
value: syncPreference.syncHistories,
title: Text(context.l10n.sync_enable_histories),
onChanged: syncPreference.syncOn ? (value) {
ref
.read(SynchingProvider(syncId: 1).notifier)
.setSyncHistories(value);
} : null,
),
SwitchListTile(
value: syncPreference.syncUpdates,
title: Text(context.l10n.sync_enable_updates),
onChanged: syncPreference.syncOn ? (value) {
ref
.read(SynchingProvider(syncId: 1).notifier)
.setSyncUpdates(value);
} : null,
),
SwitchListTile(
value: syncPreference.syncSettings,
title: Text(context.l10n.sync_enable_settings),
onChanged: syncPreference.syncOn ? (value) {
ref
.read(SynchingProvider(syncId: 1).notifier)
.setSyncSettings(value);
} : null,
),
Padding(
padding: const EdgeInsets.only(
left: 15,
@ -267,6 +290,7 @@ class SyncScreen extends ConsumerWidget {
),
],
),
const SizedBox(height: 20),
],
);
},
@ -276,7 +300,11 @@ class SyncScreen extends ConsumerWidget {
}
}
void _showDialogLogin(BuildContext context, WidgetRef ref, SyncPreference syncPreference) {
void _showDialogLogin(
BuildContext context,
WidgetRef ref,
SyncPreference syncPreference,
) {
final serverController = TextEditingController(text: syncPreference.server);
final emailController = TextEditingController(text: syncPreference.email);
final passwordController = TextEditingController();

View file

@ -72,8 +72,11 @@ class UpdateProgressAfterReadingState
final settings = isar.settings.getSync(227);
state = value;
isar.writeTxnSync(
() =>
isar.settings.putSync(settings!..updateProgressAfterReading = value),
() => isar.settings.putSync(
settings!
..updateProgressAfterReading = value
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -171,7 +171,7 @@ class _TracksProviderElement
}
String _$updateProgressAfterReadingStateHash() =>
r'ad615c0c03d376adf8bc4728aac4288e61facee5';
r'ff62bff97327d9c6b2c694fb20ca8df98e5107a0';
/// See also [UpdateProgressAfterReadingState].
@ProviderFor(UpdateProgressAfterReadingState)

View file

@ -371,7 +371,8 @@ Future<void> pushToMangaReaderDetail({
..sortChapterList = sortChapterList
..chapterFilterBookmarkedList = chapterFilterBookmarkedList
..chapterFilterDownloadedList = chapterFilterDownloadedList
..chapterFilterUnreadList = chapterFilterUnreadList,
..chapterFilterUnreadList = chapterFilterUnreadList
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}

View file

@ -28,7 +28,8 @@ class L10nLocaleState extends _$L10nLocaleState {
..locale = L10nLocale(
languageCode: locale.languageCode,
countryCode: locale.countryCode,
),
)
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
state = locale;

View file

@ -6,7 +6,7 @@ part of 'l10n_providers.dart';
// RiverpodGenerator
// **************************************************************************
String _$l10nLocaleStateHash() => r'1c6cb9d6c0a56d54a6a5e7bc1b2dbc6c29538593';
String _$l10nLocaleStateHash() => r'eb373ea1cc24b6d826f395755bbe0e445f592b0d';
/// See also [L10nLocaleState].
@ProviderFor(L10nLocaleState)

View file

@ -128,7 +128,11 @@ Future<GetChapterPagesModel> getChapterPages(
: null,
);
isar.writeTxnSync(() {
isar.settings.putSync(settings..chapterPageUrlsList = chapterPageUrls);
isar.settings.putSync(
settings
..chapterPageUrlsList = chapterPageUrls
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
for (var i = 0; i < pageUrls.length; i++) {

View file

@ -6,7 +6,7 @@ part of 'get_chapter_pages.dart';
// RiverpodGenerator
// **************************************************************************
String _$getChapterPagesHash() => r'7cf8c373e081959a8871a96eb8f9c9317bc65321';
String _$getChapterPagesHash() => r'08f56022f03c4834c69c50d0020007fa8b26c091';
/// Copied from Dart SDK
class _SystemHash {

View file

@ -6,7 +6,7 @@ part of 'get_video_list.dart';
// RiverpodGenerator
// **************************************************************************
String _$getVideoListHash() => r'74838334ee25412c4a3f151bc598705145bb659c';
String _$getVideoListHash() => r'aeed8a24962e960a374d6bc7294e798ad3d0c05e';
/// Copied from Dart SDK
class _SystemHash {

View file

@ -119,7 +119,13 @@ class MClient {
}
if (ua.isNotEmpty) {
final settings = await isar.settings.get(227);
await isar.writeTxn(() => isar.settings.put(settings!..userAgent = ua));
await isar.writeTxn(
() => isar.settings.put(
settings!
..userAgent = ua
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}
}

View file

@ -7,9 +7,16 @@ import 'package:mangayomi/models/changed.dart';
import 'package:mangayomi/models/chapter.dart';
import 'package:mangayomi/models/history.dart';
import 'package:mangayomi/models/manga.dart';
import 'package:mangayomi/models/settings.dart';
import 'package:mangayomi/models/track.dart';
import 'package:mangayomi/models/update.dart';
import 'package:mangayomi/modules/more/settings/appearance/providers/blend_level_state_provider.dart';
import 'package:mangayomi/modules/more/settings/appearance/providers/flex_scheme_color_state_provider.dart';
import 'package:mangayomi/modules/more/settings/appearance/providers/pure_black_dark_mode_state_provider.dart';
import 'package:mangayomi/modules/more/settings/appearance/providers/theme_mode_state_provider.dart';
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
import 'package:mangayomi/modules/more/settings/sync/providers/sync_providers.dart';
import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/services/http/m_client.dart';
import 'dart:convert';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@ -23,6 +30,7 @@ class SyncServer extends _$SyncServer {
final String _syncMangaUrl = '/sync/manga';
final String _syncHistoryUrl = '/sync/histories';
final String _syncUpdateUrl = '/sync/updates';
final String _syncSettingsUrl = '/sync/settings';
@override
void build({required int syncId}) {}
@ -64,6 +72,7 @@ class SyncServer extends _$SyncServer {
botToast(l10n.sync_starting, second: 500);
}
try {
final syncPreference = ref.read(synchingProvider(syncId: syncId));
final syncNotifier = ref.read(synchingProvider(syncId: syncId).notifier);
final resultManga = await _syncManga(l10n, syncNotifier);
@ -71,15 +80,26 @@ class SyncServer extends _$SyncServer {
botToast(l10n.sync_failed, second: 5);
return;
}
final resultHistory = await _syncHistory(l10n, syncNotifier);
if (!resultHistory) {
botToast(l10n.sync_failed, second: 5);
return;
if (syncPreference.syncHistories) {
final resultHistory = await _syncHistory(l10n, syncNotifier);
if (!resultHistory) {
botToast(l10n.sync_failed, second: 5);
return;
}
}
final resultUpdate = await _syncUpdate(l10n, syncNotifier);
if (!resultUpdate) {
botToast(l10n.sync_failed, second: 5);
return;
if (syncPreference.syncUpdates) {
final resultUpdate = await _syncUpdate(l10n, syncNotifier);
if (!resultUpdate) {
botToast(l10n.sync_failed, second: 5);
return;
}
}
if (syncPreference.syncSettings) {
final resultSettings = await _syncSettings(l10n);
if (!resultSettings) {
botToast(l10n.sync_failed, second: 5);
return;
}
}
ref.invalidate(synchingProvider(syncId: syncId));
@ -88,7 +108,6 @@ class SyncServer extends _$SyncServer {
}
} catch (error) {
botToast(error.toString(), second: 5);
rethrow;
}
}
@ -170,6 +189,28 @@ class SyncServer extends _$SyncServer {
return true;
}
Future<bool> _syncSettings(AppLocalizations l10n) async {
final settingsData = _getSettingsData();
final accessToken = _getAccessToken();
var response = await http.post(
Uri.parse('${_getServer()}$_syncSettingsUrl'),
headers: {
'Content-Type': 'application/json',
'Cookie': 'id=$accessToken',
},
body: settingsData,
);
if (response.statusCode != 200) {
botToast(l10n.sync_failed, second: 5);
return false;
}
final jsonData = jsonDecode(response.body) as Map<String, dynamic>;
await _upsertSettings(jsonData);
return true;
}
Future<void> _upsertCategories(
Map<String, dynamic> jsonData,
Synching syncNotifier,
@ -366,6 +407,23 @@ class SyncServer extends _$SyncServer {
});
}
Future<void> _upsertSettings(Map<String, dynamic> jsonData) async {
final oldSettings = isar.settings.getSync(227)!;
final settings = Settings.fromJson(jsonData["settings"]);
await isar.writeTxn(() async {
await isar.settings.put(settings..cookiesList = oldSettings.cookiesList);
ref.invalidate(followSystemThemeStateProvider);
ref.invalidate(themeModeStateProvider);
ref.invalidate(blendLevelStateProvider);
ref.invalidate(flexSchemeColorStateProvider);
ref.invalidate(pureBlackDarkModeStateProvider);
ref.invalidate(l10nLocaleStateProvider);
ref.invalidate(extensionsRepoStateProvider(ItemType.manga));
ref.invalidate(extensionsRepoStateProvider(ItemType.anime));
ref.invalidate(extensionsRepoStateProvider(ItemType.novel));
});
}
String _getMangaData() {
Map<String, dynamic> data = {};
data["categories"] = _getCategories();
@ -393,6 +451,12 @@ class SyncServer extends _$SyncServer {
return jsonEncode(data);
}
String _getSettingsData() {
Map<String, dynamic> data = {};
data["settings"] = isar.settings.getSync(227)!..updatedAt ??= DateTime.now().millisecondsSinceEpoch..cookiesList = [];
return jsonEncode(data);
}
List<int> _getDeletedObjects(ActionType actionType) {
return ref
.read(synchingProvider(syncId: syncId).notifier)
@ -407,7 +471,7 @@ class SyncServer extends _$SyncServer {
.filter()
.idIsNotNull()
.findAllSync()
.map((e) => e.toJson())
.map((e) => (e..customCoverImage = null).toJson())
.toList();
}

View file

@ -6,7 +6,7 @@ part of 'sync_server.dart';
// RiverpodGenerator
// **************************************************************************
String _$syncServerHash() => r'2513418dc8cde9defca0ff778b8ea23fe1f59e9b';
String _$syncServerHash() => r'97a778696e0cc8b8e4c706de50d60464bb7b2f03';
/// Copied from Dart SDK
class _SystemHash {

View file

@ -123,7 +123,9 @@ String get _baseUrl {
void _setBtServerPort(int newPort) {
isar.writeTxnSync(
() => isar.settings.putSync(
isar.settings.getSync(227)!..btServerPort = newPort,
isar.settings.getSync(227)!
..btServerPort = newPort
..updatedAt = DateTime.now().millisecondsSinceEpoch,
),
);
}