import 'package:auto_route/auto_route.dart'; import 'package:shadcn_flutter/shadcn_flutter.dart'; import 'package:spotube/collections/routes.gr.dart'; import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/l10n/l10n.dart'; class SideBarTiles { final IconData icon; final String title; final String id; final String pathPrefix; final PageRouteInfo route; SideBarTiles({ required this.icon, required this.title, required this.id, required this.route, required this.pathPrefix, }); } List getSidebarTileList(AppLocalizations l10n) => [ SideBarTiles( id: "home", pathPrefix: "/home", route: const HomeRoute(), icon: SpotubeIcons.home, title: l10n.browse, ), SideBarTiles( id: "search", pathPrefix: "/search", route: const SearchRoute(), icon: SpotubeIcons.search, title: l10n.search, ), SideBarTiles( id: "lyrics", pathPrefix: "/lyrics", route: const LyricsRoute(), icon: SpotubeIcons.music, title: l10n.lyrics, ), SideBarTiles( id: "stats", pathPrefix: "/stats", route: const StatsRoute(), icon: SpotubeIcons.chart, title: l10n.stats, ), ]; List getSidebarLibraryTileList(AppLocalizations l10n) => [ SideBarTiles( id: "playlists", pathPrefix: "/library/playlists", title: l10n.playlists, route: const UserPlaylistsRoute(), icon: SpotubeIcons.playlist, ), SideBarTiles( id: "artists", pathPrefix: "/library/artists", title: l10n.artists, route: const UserArtistsRoute(), icon: SpotubeIcons.artist, ), SideBarTiles( id: "albums", pathPrefix: "/library/albums", title: l10n.albums, route: const UserAlbumsRoute(), icon: SpotubeIcons.album, ), SideBarTiles( id: "local_library", pathPrefix: "/library/local", title: l10n.local_library, route: const UserLocalLibraryRoute(), icon: SpotubeIcons.device, ), ]; List getNavbarTileList(AppLocalizations l10n) => [ SideBarTiles( id: "home", pathPrefix: "/home", route: const HomeRoute(), icon: SpotubeIcons.home, title: l10n.browse, ), SideBarTiles( id: "search", pathPrefix: "/search", route: const SearchRoute(), icon: SpotubeIcons.search, title: l10n.search, ), SideBarTiles( id: "library", pathPrefix: "/library", route: const UserPlaylistsRoute(), icon: SpotubeIcons.library, title: l10n.library, ), SideBarTiles( id: "stats", pathPrefix: "/stats", route: const StatsRoute(), icon: SpotubeIcons.chart, title: l10n.stats, ), ];