Regression: missing action button in partial share error snackbar

This commit is contained in:
Ming Ming 2023-05-20 23:53:04 +08:00
parent ddc3d64b5b
commit 0212061dd5

View file

@ -13,6 +13,7 @@ import 'package:nc_photos/controller/account_controller.dart';
import 'package:nc_photos/controller/collections_controller.dart';
import 'package:nc_photos/di_container.dart';
import 'package:nc_photos/entity/collection.dart';
import 'package:nc_photos/entity/collection/content_provider/album.dart';
import 'package:nc_photos/entity/collection/util.dart';
import 'package:nc_photos/entity/sharee.dart';
import 'package:nc_photos/exception.dart';
@ -21,6 +22,7 @@ import 'package:nc_photos/exception_util.dart' as exception_util;
import 'package:nc_photos/k.dart' as k;
import 'package:nc_photos/snack_bar_manager.dart';
import 'package:nc_photos/suggester.dart';
import 'package:nc_photos/widget/album_share_outlier_browser.dart';
import 'package:np_codegen/np_codegen.dart';
import 'package:np_common/ci_string.dart';
import 'package:to_string/to_string.dart';
@ -87,6 +89,10 @@ class _WrappedShareCollectionDialogState
SnackBarManager().showSnackBar(SnackBar(
content: Text(L10n.global()
.shareAlbumSuccessWithErrorNotification(e.shareeName)),
action: SnackBarAction(
label: L10n.global().fixButtonLabel,
onPressed: _onFixPressed,
),
duration: k.snackBarDurationNormal,
));
} else if (state.error!.error
@ -96,6 +102,10 @@ class _WrappedShareCollectionDialogState
SnackBarManager().showSnackBar(SnackBar(
content: Text(L10n.global()
.unshareAlbumSuccessWithErrorNotification(e.shareeName)),
action: SnackBarAction(
label: L10n.global().fixButtonLabel,
onPressed: _onFixPressed,
),
duration: k.snackBarDurationNormal,
));
} else {
@ -136,6 +146,16 @@ class _WrappedShareCollectionDialogState
);
}
void _onFixPressed() {
final bloc = context.read<_Bloc>();
final collection = bloc.state.collection;
final album = (collection.contentProvider as CollectionAlbumProvider).album;
Navigator.of(context).pushNamed(
AlbumShareOutlierBrowser.routeName,
arguments: AlbumShareOutlierBrowserArguments(bloc.account, album),
);
}
late final _bloc = context.read<_Bloc>();
}