bug fixes

This commit is contained in:
Schnitzel5 2025-07-06 03:31:27 +02:00
parent ced23d9810
commit 6baecaa59b
6 changed files with 20 additions and 18 deletions

View file

@ -72,6 +72,9 @@ class Track {
totalChapter = json['totalChapter'];
trackingUrl = json['trackingUrl'];
isManga = json['isManga'];
if (json['itemType'] != null || isManga != null) {
itemType = ItemType.values[json['itemType'] ?? (isManga! ? 0 : 1)];
}
updatedAt = json['updatedAt'];
}
@ -90,6 +93,7 @@ class Track {
'totalChapter': totalChapter,
'trackingUrl': trackingUrl,
'isManga': isManga,
'itemType': itemType.index,
'updatedAt': updatedAt ?? 0,
};
}

View file

@ -15,9 +15,14 @@ class Synching extends _$Synching {
return isar.syncPreferences.getSync(syncId!) ?? SyncPreference(syncId: 1);
}
void login(SyncPreference syncPreference) {
void login(String server, String email, String authToken) {
isar.writeTxnSync(() {
isar.syncPreferences.putSync(syncPreference);
isar.syncPreferences.putSync(
state
..server = server
..email = email
..authToken = authToken,
);
});
ref.invalidateSelf();
ref.invalidate(syncServerProvider(syncId: syncId!));

View file

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

View file

@ -173,7 +173,7 @@ class SyncScreen extends ConsumerWidget {
SyncListile(
enabled: syncPreference.syncOn,
onTap: () async {
_showDialogLogin(context, ref);
_showDialogLogin(context, ref, syncPreference);
},
id: 1,
preference: syncPreference,
@ -276,9 +276,9 @@ class SyncScreen extends ConsumerWidget {
}
}
void _showDialogLogin(BuildContext context, WidgetRef ref) {
final serverController = TextEditingController();
final emailController = TextEditingController();
void _showDialogLogin(BuildContext context, WidgetRef ref, SyncPreference syncPreference) {
final serverController = TextEditingController(text: syncPreference.server);
final emailController = TextEditingController(text: syncPreference.email);
final passwordController = TextEditingController();
String server = "";
String email = "";

View file

@ -7,7 +7,6 @@ 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/sync_preference.dart';
import 'package:mangayomi/models/track.dart';
import 'package:mangayomi/models/update.dart';
import 'package:mangayomi/modules/more/settings/sync/providers/sync_providers.dart';
@ -52,14 +51,7 @@ class SyncServer extends _$SyncServer {
final authToken = cookieHeader!.substring(startIdx + 3, endIdx);
ref
.read(synchingProvider(syncId: syncId).notifier)
.login(
SyncPreference(
syncId: syncId,
email: username,
server: server,
authToken: authToken,
),
);
.login(server, username, authToken);
botToast(l10n.sync_logged);
return (true, "");
} catch (e) {
@ -69,7 +61,7 @@ class SyncServer extends _$SyncServer {
Future<void> startSync(AppLocalizations l10n, bool silent) async {
if (!silent) {
botToast(l10n.sync_starting, second: 2);
botToast(l10n.sync_starting, second: 500);
}
try {
final syncNotifier = ref.read(synchingProvider(syncId: syncId).notifier);
@ -96,6 +88,7 @@ class SyncServer extends _$SyncServer {
}
} catch (error) {
botToast(error.toString(), second: 5);
rethrow;
}
}

View file

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