import 'package:flutter/widgets.dart'; import 'package:nc_photos/account.dart'; import 'package:nc_photos/entity/album.dart'; import 'package:nc_photos/entity/album/provider.dart'; import 'package:nc_photos/widget/album_browser.dart'; import 'package:nc_photos/widget/dynamic_album_browser.dart'; import 'package:nc_photos/widget/smart_album_browser.dart'; /// Push the corresponding browser route for this album Future push(BuildContext context, Account account, Album album) { if (album.provider is AlbumStaticProvider) { return Navigator.of(context).pushNamed(AlbumBrowser.routeName, arguments: AlbumBrowserArguments(account, album)); } else if (album.provider is AlbumSmartProvider) { return Navigator.of(context).pushNamed(SmartAlbumBrowser.routeName, arguments: SmartAlbumBrowserArguments(account, album)); } else { return Navigator.of(context).pushNamed(DynamicAlbumBrowser.routeName, arguments: DynamicAlbumBrowserArguments(account, album)); } } /// Push the corresponding browser route for this album and replace the current /// route Future pushReplacement( BuildContext context, Account account, Album album) { if (album.provider is AlbumStaticProvider) { return Navigator.of(context).pushReplacementNamed(AlbumBrowser.routeName, arguments: AlbumBrowserArguments(account, album)); } else if (album.provider is AlbumSmartProvider) { return Navigator.of(context).pushReplacementNamed( SmartAlbumBrowser.routeName, arguments: SmartAlbumBrowserArguments(account, album)); } else { return Navigator.of(context).pushReplacementNamed( DynamicAlbumBrowser.routeName, arguments: DynamicAlbumBrowserArguments(account, album)); } }