🐛 Fix the site refresh didn't wrok

This commit is contained in:
2025-11-22 14:44:41 +08:00
parent 9b85b7573c
commit f2031697ec
4 changed files with 13 additions and 31 deletions

View File

@@ -87,7 +87,7 @@ class SiteFilesNotifier
); );
// Refresh the files list // Refresh the files list
ref.invalidateSelf(); ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path));
} catch (error, stackTrace) { } catch (error, stackTrace) {
state = AsyncValue.error(error, stackTrace); state = AsyncValue.error(error, stackTrace);
rethrow; rethrow;
@@ -104,7 +104,7 @@ class SiteFilesNotifier
); );
// Refresh the files list // Refresh the files list
ref.invalidateSelf(); ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path));
} catch (error, stackTrace) { } catch (error, stackTrace) {
state = AsyncValue.error(error, stackTrace); state = AsyncValue.error(error, stackTrace);
rethrow; rethrow;
@@ -120,7 +120,7 @@ class SiteFilesNotifier
); );
// Refresh the files list // Refresh the files list
ref.invalidateSelf(); ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path));
} catch (error, stackTrace) { } catch (error, stackTrace) {
state = AsyncValue.error(error, stackTrace); state = AsyncValue.error(error, stackTrace);
rethrow; rethrow;
@@ -131,7 +131,7 @@ class SiteFilesNotifier
// For directories, we upload a dummy file first then delete it or create through upload // For directories, we upload a dummy file first then delete it or create through upload
// Actually, according to API docs, directories are created when uploading files to them // Actually, according to API docs, directories are created when uploading files to them
// So we'll just invalidate to refresh the list // So we'll just invalidate to refresh the list
ref.invalidateSelf(); ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path));
} }
} }

View File

@@ -62,7 +62,7 @@ class SitePagesNotifier
final newPage = SnPublicationPage.fromJson(resp.data); final newPage = SnPublicationPage.fromJson(resp.data);
// Refresh the pages list // Refresh the pages list
ref.invalidateSelf(); ref.invalidate(sitePagesProvider(arg.pubName, arg.siteSlug));
return newPage; return newPage;
} catch (error, stackTrace) { } catch (error, stackTrace) {
@@ -85,7 +85,7 @@ class SitePagesNotifier
final updatedPage = SnPublicationPage.fromJson(resp.data); final updatedPage = SnPublicationPage.fromJson(resp.data);
// Refresh the pages list // Refresh the pages list
ref.invalidateSelf(); ref.invalidate(sitePagesProvider(arg.pubName, arg.siteSlug));
return updatedPage; return updatedPage;
} catch (error, stackTrace) { } catch (error, stackTrace) {
@@ -101,7 +101,7 @@ class SitePagesNotifier
await apiClient.delete('/zone/sites/pages/$pageId'); await apiClient.delete('/zone/sites/pages/$pageId');
// Refresh the pages list // Refresh the pages list
ref.invalidateSelf(); ref.invalidate(sitePagesProvider(arg.pubName, arg.siteSlug));
} catch (error, stackTrace) { } catch (error, stackTrace) {
state = AsyncValue.error(error, stackTrace); state = AsyncValue.error(error, stackTrace);
rethrow; rethrow;

View File

@@ -4,6 +4,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/models/site_file.dart'; import 'package:island/models/site_file.dart';
import 'package:island/models/publication_site.dart'; import 'package:island/models/publication_site.dart';
import 'package:island/pods/site_files.dart'; import 'package:island/pods/site_files.dart';
import 'package:island/widgets/alert.dart';
import 'package:material_symbols_icons/symbols.dart'; import 'package:material_symbols_icons/symbols.dart';
import 'package:styled_widget/styled_widget.dart'; import 'package:styled_widget/styled_widget.dart';
@@ -116,19 +117,9 @@ class FileItem extends HookConsumerWidget {
)).notifier, )).notifier,
) )
.deleteFile(file.relativePath); .deleteFile(file.relativePath);
if (context.mounted) { showSnackBar('File deleted successfully');
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('File deleted successfully'),
),
);
}
} catch (e) { } catch (e) {
if (context.mounted) { showErrorAlert(e);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Failed to delete file')),
);
}
} }
} }
break; break;

View File

@@ -4,6 +4,7 @@ import 'package:gap/gap.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/models/publication_site.dart'; import 'package:island/models/publication_site.dart';
import 'package:island/pods/site_pages.dart'; import 'package:island/pods/site_pages.dart';
import 'package:island/widgets/alert.dart';
import 'package:island/widgets/sites/page_form.dart'; import 'package:island/widgets/sites/page_form.dart';
import 'package:material_symbols_icons/symbols.dart'; import 'package:material_symbols_icons/symbols.dart';
import 'package:styled_widget/styled_widget.dart'; import 'package:styled_widget/styled_widget.dart';
@@ -104,19 +105,9 @@ class PageItem extends HookConsumerWidget {
)).notifier, )).notifier,
) )
.deletePage(page.id); .deletePage(page.id);
if (context.mounted) { showSnackBar('Page deleted successfully');
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Page deleted successfully'),
),
);
}
} catch (e) { } catch (e) {
if (context.mounted) { showErrorAlert(e);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Failed to delete page')),
);
}
} }
} }
break; break;