fix: fix for the web

This commit is contained in:
omkar 2025-01-10 10:37:06 +05:30
parent fca2746e91
commit 9952f0716b
3 changed files with 28 additions and 17 deletions

View file

@ -167,7 +167,7 @@ class _PlaybackSettingsScreenState extends State<PlaybackSettingsScreen> {
'externalPlayer': _enableExternalPlayer,
'externalPlayerId': extranalId,
'disableSubtitle': _disabledSubtitle,
'subtitleStyle': _subtitleStyle,
'subtitleStyle': _selectedSubtitleStyle,
'subtitleColor': colorToHex(_selectedSubtitleColor),
'subtitleSize': _subtitleSize,
},
@ -327,8 +327,7 @@ class _PlaybackSettingsScreenState extends State<PlaybackSettingsScreen> {
HapticFeedback.mediumImpact();
if (value != null) {
setState(() {
_subtitleStyle.remove(value);
_subtitleStyle.insert(0, value);
_selectedSubtitleStyle = value;
});
_debouncedSave();
}

View file

@ -199,13 +199,11 @@ class ZeeeWatchHistory extends BaseWatchHistory {
for (final record in unsynced) {
try {
// Check server record before updating
try {
final serverRecord = await collection.getOne(record.id);
final serverUpdatedAt =
DateTime.parse(serverRecord.get<String>('updated'));
// Skip if server has newer data
if (record.updatedAt.isBefore(serverUpdatedAt)) {
await db.watchHistoryQueries.updateSyncStatus(
record.id,
@ -213,9 +211,7 @@ class ZeeeWatchHistory extends BaseWatchHistory {
);
continue;
}
} catch (e) {
// Record doesn't exist on server, will create new
}
} catch (e) {}
if (record.lastSyncedAt == null) {
await collection.create(

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:cached_query_flutter/cached_query_flutter.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
@ -6,6 +8,7 @@ import 'package:madari_client/engine/library.dart';
import 'package:madari_client/features/connections/service/base_connection_service.dart';
import 'package:madari_client/features/trakt/containers/up_next.container.dart';
import 'package:madari_client/features/trakt/service/trakt.service.dart';
import 'package:pocketbase/pocketbase.dart';
import '../features/connections/widget/base/render_library_list.dart';
import '../features/getting_started/container/getting_started.dart';
@ -93,6 +96,16 @@ class _HomeTabPageState extends State<HomeTabPage> {
return traktService.getHomePageContent();
}
reloadPage() async {
await refreshAuth();
await query.refetch();
setState(() {
traktLibraries = getTraktLibraries();
});
await _onRefresh();
return;
}
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
@ -106,17 +119,20 @@ class _HomeTabPageState extends State<HomeTabPage> {
"Madari",
style: GoogleFonts.montserrat(),
),
actions: [
if (isWeb || (!Platform.isIOS && !Platform.isAndroid))
IconButton(
onPressed: () {
reloadPage();
},
icon: const Icon(
Icons.refresh,
),
),
],
),
body: RefreshIndicator(
onRefresh: () async {
await refreshAuth();
await query.refetch();
setState(() {
traktLibraries = getTraktLibraries();
});
await _onRefresh();
return;
},
onRefresh: () async {},
child: QueryBuilder(
query: query,
builder: (context, state) {