dismissCurrentModal method
Dismisses the currently active modal
This method handles the complete dismissal process including:
- Running all registered callbacks
- Triggering appropriate animations
- Cleaning up resources after animation completes
Parameters:
onModalDismissed: Optional callback that runs when dismissal completes. This is in addition to any callback defined in the ModalContent.
Returns:
Future<void>that completes when the dismissal process is finished
Example:
// Simple dismissal
Modal.dismiss();
// Dismissal with a callback
Modal.dismiss(onModalDismissed: () {
print('Modal has been dismissed');
});
Dismisses the currently active modal (dialog or bottom sheet)
Does NOT dismiss snackbars. If a snackbar is active, calling this will dismiss the snackbar. If no modal is active, this does nothing.
Example:
Modal.dismissCurrentModal();
Implementation
Future<void> dismissCurrentModal({VoidCallback? onModalDismissed}) async {
final activeId = _activeModalController.state?.uniqueId;
if (activeId != null) {
await dismissById(activeId, onDismissed: onModalDismissed);
}
}