feat(flutter): adopt MainAppBarActions in Home + Library
HomeScreen drops its 5 ad-hoc IconButton actions in favour of the shared widget. LibraryScreen gains an actions row it didn't have before. Both now consistent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
|
||||||
|
|
||||||
import '../api/errors.dart';
|
import '../api/errors.dart';
|
||||||
import '../models/album.dart';
|
import '../models/album.dart';
|
||||||
@@ -9,6 +8,7 @@ import '../models/artist.dart';
|
|||||||
import '../models/track.dart';
|
import '../models/track.dart';
|
||||||
import '../player/player_provider.dart';
|
import '../player/player_provider.dart';
|
||||||
import '../shared/widgets/connection_error_banner.dart';
|
import '../shared/widgets/connection_error_banner.dart';
|
||||||
|
import '../shared/widgets/main_app_bar_actions.dart';
|
||||||
import '../theme/theme_extension.dart';
|
import '../theme/theme_extension.dart';
|
||||||
import 'library_providers.dart';
|
import 'library_providers.dart';
|
||||||
import 'widgets/album_card.dart';
|
import 'widgets/album_card.dart';
|
||||||
@@ -28,33 +28,7 @@ class HomeScreen extends ConsumerWidget {
|
|||||||
backgroundColor: fs.obsidian,
|
backgroundColor: fs.obsidian,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
title: Text('Minstrel', style: TextStyle(color: fs.parchment)),
|
title: Text('Minstrel', style: TextStyle(color: fs.parchment)),
|
||||||
actions: [
|
actions: const [MainAppBarActions(currentRoute: '/home')],
|
||||||
IconButton(
|
|
||||||
icon: Icon(Icons.library_music, color: fs.parchment),
|
|
||||||
tooltip: 'Library',
|
|
||||||
onPressed: () => context.push('/library'),
|
|
||||||
),
|
|
||||||
IconButton(
|
|
||||||
icon: Icon(Icons.queue_music, color: fs.parchment),
|
|
||||||
tooltip: 'Playlists',
|
|
||||||
onPressed: () => context.push('/playlists'),
|
|
||||||
),
|
|
||||||
IconButton(
|
|
||||||
icon: Icon(Icons.search, color: fs.parchment),
|
|
||||||
tooltip: 'Search',
|
|
||||||
onPressed: () => context.push('/search'),
|
|
||||||
),
|
|
||||||
IconButton(
|
|
||||||
icon: Icon(Icons.explore, color: fs.parchment),
|
|
||||||
tooltip: 'Discover',
|
|
||||||
onPressed: () => context.push('/discover'),
|
|
||||||
),
|
|
||||||
IconButton(
|
|
||||||
icon: Icon(Icons.settings, color: fs.parchment),
|
|
||||||
tooltip: 'Settings',
|
|
||||||
onPressed: () => context.push('/settings'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: ref.watch(homeProvider).when(
|
child: ref.watch(homeProvider).when(
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import '../models/page.dart' as wire;
|
|||||||
import '../models/quarantine_mine.dart';
|
import '../models/quarantine_mine.dart';
|
||||||
import '../models/track.dart';
|
import '../models/track.dart';
|
||||||
import '../player/player_provider.dart';
|
import '../player/player_provider.dart';
|
||||||
|
import '../shared/widgets/main_app_bar_actions.dart';
|
||||||
import '../theme/theme_extension.dart';
|
import '../theme/theme_extension.dart';
|
||||||
import 'widgets/album_card.dart';
|
import 'widgets/album_card.dart';
|
||||||
import 'widgets/artist_card.dart';
|
import 'widgets/artist_card.dart';
|
||||||
@@ -90,6 +91,7 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
|
|||||||
backgroundColor: fs.obsidian,
|
backgroundColor: fs.obsidian,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
title: Text('Library', style: TextStyle(color: fs.parchment)),
|
title: Text('Library', style: TextStyle(color: fs.parchment)),
|
||||||
|
actions: const [MainAppBarActions(currentRoute: '/library')],
|
||||||
bottom: TabBar(
|
bottom: TabBar(
|
||||||
controller: _ctrl,
|
controller: _ctrl,
|
||||||
isScrollable: true,
|
isScrollable: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user