showSnackBar method
Adds a NesSnackbar to the NesScaffold.
Implementation
void showSnackBar(
NesSnackbar snackbar, {
Alignment alignment = Alignment.bottomCenter,
}) {
final message = _SnackbarMessage(
id: _snackbarId++,
snackbar: snackbar,
alignment: alignment,
offset: Offset(alignment.x, 0),
);
_snackbars.value = [
..._snackbars.value,
message,
];
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
_snackbars.value = _snackbars.value.map((e) {
if (e.id == message.id) {
return e.copyWith(
offset: Offset.zero,
);
}
return e;
}).toList();
});
_waitABit().then((_) {
_snackbars.value = _snackbars.value.map((e) {
if (e.id == message.id) {
return e.copyWith(
markForRemoval: true,
offset: Offset(alignment.x, 0),
);
}
return e;
}).toList();
});
_overlayController.show();
}