diff --git a/lib/pods/site_files.dart b/lib/pods/site_files.dart index 8d047dc3..dcc2a287 100644 --- a/lib/pods/site_files.dart +++ b/lib/pods/site_files.dart @@ -87,7 +87,7 @@ class SiteFilesNotifier ); // Refresh the files list - ref.invalidateSelf(); + ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path)); } catch (error, stackTrace) { state = AsyncValue.error(error, stackTrace); rethrow; @@ -104,7 +104,7 @@ class SiteFilesNotifier ); // Refresh the files list - ref.invalidateSelf(); + ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path)); } catch (error, stackTrace) { state = AsyncValue.error(error, stackTrace); rethrow; @@ -120,7 +120,7 @@ class SiteFilesNotifier ); // Refresh the files list - ref.invalidateSelf(); + ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path)); } catch (error, stackTrace) { state = AsyncValue.error(error, stackTrace); rethrow; @@ -131,7 +131,7 @@ class SiteFilesNotifier // 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 // So we'll just invalidate to refresh the list - ref.invalidateSelf(); + ref.invalidate(siteFilesProvider(siteId: arg.siteId, path: arg.path)); } } diff --git a/lib/pods/site_pages.dart b/lib/pods/site_pages.dart index 5884c32a..87486f3a 100644 --- a/lib/pods/site_pages.dart +++ b/lib/pods/site_pages.dart @@ -62,7 +62,7 @@ class SitePagesNotifier final newPage = SnPublicationPage.fromJson(resp.data); // Refresh the pages list - ref.invalidateSelf(); + ref.invalidate(sitePagesProvider(arg.pubName, arg.siteSlug)); return newPage; } catch (error, stackTrace) { @@ -85,7 +85,7 @@ class SitePagesNotifier final updatedPage = SnPublicationPage.fromJson(resp.data); // Refresh the pages list - ref.invalidateSelf(); + ref.invalidate(sitePagesProvider(arg.pubName, arg.siteSlug)); return updatedPage; } catch (error, stackTrace) { @@ -101,7 +101,7 @@ class SitePagesNotifier await apiClient.delete('/zone/sites/pages/$pageId'); // Refresh the pages list - ref.invalidateSelf(); + ref.invalidate(sitePagesProvider(arg.pubName, arg.siteSlug)); } catch (error, stackTrace) { state = AsyncValue.error(error, stackTrace); rethrow; diff --git a/lib/widgets/sites/file_item.dart b/lib/widgets/sites/file_item.dart index f89f2dad..b0202a77 100644 --- a/lib/widgets/sites/file_item.dart +++ b/lib/widgets/sites/file_item.dart @@ -4,6 +4,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/models/site_file.dart'; import 'package:island/models/publication_site.dart'; import 'package:island/pods/site_files.dart'; +import 'package:island/widgets/alert.dart'; import 'package:material_symbols_icons/symbols.dart'; import 'package:styled_widget/styled_widget.dart'; @@ -116,19 +117,9 @@ class FileItem extends HookConsumerWidget { )).notifier, ) .deleteFile(file.relativePath); - if (context.mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('File deleted successfully'), - ), - ); - } + showSnackBar('File deleted successfully'); } catch (e) { - if (context.mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text('Failed to delete file')), - ); - } + showErrorAlert(e); } } break; diff --git a/lib/widgets/sites/page_item.dart b/lib/widgets/sites/page_item.dart index 75cc39fe..5305ac94 100644 --- a/lib/widgets/sites/page_item.dart +++ b/lib/widgets/sites/page_item.dart @@ -4,6 +4,7 @@ import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/models/publication_site.dart'; import 'package:island/pods/site_pages.dart'; +import 'package:island/widgets/alert.dart'; import 'package:island/widgets/sites/page_form.dart'; import 'package:material_symbols_icons/symbols.dart'; import 'package:styled_widget/styled_widget.dart'; @@ -104,19 +105,9 @@ class PageItem extends HookConsumerWidget { )).notifier, ) .deletePage(page.id); - if (context.mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Page deleted successfully'), - ), - ); - } + showSnackBar('Page deleted successfully'); } catch (e) { - if (context.mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text('Failed to delete page')), - ); - } + showErrorAlert(e); } } break;