Skip to content

Commit

Permalink
feat: replace all types of buttons with platform buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
KRTirtho committed Oct 29, 2022
1 parent 9eee573 commit 69739b4
Show file tree
Hide file tree
Showing 26 changed files with 131 additions and 97 deletions.
15 changes: 9 additions & 6 deletions lib/components/Artist/ArtistProfile.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotify/spotify.dart';
import 'package:spotube/components/Artist/ArtistAlbumList.dart';
import 'package:spotube/components/Artist/ArtistCard.dart';
Expand Down Expand Up @@ -176,7 +177,7 @@ class ArtistProfile extends HookConsumerWidget {
);
},
),
IconButton(
PlatformIconButton(
icon: const Icon(Icons.share_rounded),
onPressed: () {
Clipboard.setData(
Expand Down Expand Up @@ -260,11 +261,13 @@ class ArtistProfile extends HookConsumerWidget {
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.circular(50),
),
child: IconButton(
icon: Icon(isPlaylistPlaying
? Icons.stop_rounded
: Icons.play_arrow_rounded),
color: Colors.white,
child: PlatformIconButton(
icon: Icon(
isPlaylistPlaying
? Icons.stop_rounded
: Icons.play_arrow_rounded,
color: Colors.white,
),
onPressed: () =>
playPlaylist(topTracks.toList()),
),
Expand Down
10 changes: 5 additions & 5 deletions lib/components/Home/Sidebar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class Sidebar extends HookConsumerWidget {

if (layoutMode == LayoutMode.compact ||
(breakpoints.isSm && layoutMode == LayoutMode.adaptive)) {
return Container();
return child;
}

void toggleExtended() =>
Expand Down Expand Up @@ -117,7 +117,7 @@ class Sidebar extends HookConsumerWidget {
child: MoveWindow(
child: !extended.value
? Center(
child: IconButton(
child: PlatformIconButton(
icon: const Icon(Icons.menu_rounded),
onPressed: toggleExtended,
),
Expand All @@ -127,7 +127,7 @@ class Sidebar extends HookConsumerWidget {
),
if (!kIsDesktop && !extended.value)
Center(
child: IconButton(
child: PlatformIconButton(
icon: const Icon(Icons.menu_rounded),
onPressed: toggleExtended,
),
Expand All @@ -143,7 +143,7 @@ class Sidebar extends HookConsumerWidget {
"Spotube",
style: Theme.of(context).textTheme.headline4,
),
IconButton(
PlatformIconButton(
icon: const Icon(Icons.menu_rounded),
onPressed: toggleExtended,
),
Expand Down Expand Up @@ -241,7 +241,7 @@ class SidebarFooter extends HookConsumerWidget {
],
),
),
IconButton(
PlatformIconButton(
icon: const Icon(Icons.settings_outlined),
onPressed: () => Sidebar.goToSettings(context)),
],
Expand Down
2 changes: 1 addition & 1 deletion lib/components/Library/UserDownloads.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class UserDownloads extends HookConsumerWidget {
),
),
const SizedBox(width: 10),
ElevatedButton(
PlatformFilledButton(
style: ElevatedButton.styleFrom(
backgroundColor: Colors.red[50],
foregroundColor: Colors.red[400],
Expand Down
5 changes: 3 additions & 2 deletions lib/components/Login/LoginTutorial.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:introduction_screen/introduction_screen.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Login/TokenLoginForms.dart';
import 'package:spotube/components/Shared/Hyperlink.dart';
import 'package:spotube/components/Shared/PageWindowTitleBar.dart';
Expand All @@ -16,7 +17,7 @@ class LoginTutorial extends ConsumerWidget {

return Scaffold(
appBar: PageWindowTitleBar(
leading: TextButton(
leading: PlatformTextButton(
child: const Text("Exit"),
onPressed: () {
Navigator.of(context).pop();
Expand All @@ -27,7 +28,7 @@ class LoginTutorial extends ConsumerWidget {
next: const Text("Next"),
back: const Text("Previous"),
showBackButton: true,
overrideDone: TextButton(
overrideDone: PlatformTextButton(
onPressed: auth.isLoggedIn
? () {
ServiceUtils.navigate(context, "/");
Expand Down
3 changes: 2 additions & 1 deletion lib/components/Login/TokenLogin.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Login/TokenLoginForms.dart';
import 'package:spotube/components/Shared/PageWindowTitleBar.dart';
import 'package:spotube/hooks/useBreakpoints.dart';
Expand Down Expand Up @@ -45,7 +46,7 @@ class TokenLogin extends HookConsumerWidget {
crossAxisAlignment: WrapCrossAlignment.center,
children: [
const Text("Don't know how to do this?"),
TextButton(
PlatformTextButton(
child: const Text(
"Follow along the Step by Step guide",
),
Expand Down
3 changes: 2 additions & 1 deletion lib/components/Login/TokenLoginForms.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/provider/Auth.dart';
import 'package:spotube/utils/service_utils.dart';

Expand Down Expand Up @@ -42,7 +43,7 @@ class TokenLoginForm extends HookConsumerWidget {
keyboardType: TextInputType.visiblePassword,
),
const SizedBox(height: 20),
ElevatedButton(
PlatformFilledButton(
onPressed: () async {
if (keyCodeController.text.isEmpty ||
directCodeController.text.isEmpty) {
Expand Down
9 changes: 5 additions & 4 deletions lib/components/Lyrics/LyricDelayAdjustDialog.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Lyrics/SyncedLyrics.dart';

class LyricDelayAdjustDialog extends HookConsumerWidget {
Expand All @@ -18,13 +19,13 @@ class LyricDelayAdjustDialog extends HookConsumerWidget {
return AlertDialog(
title: const Center(child: Text("Adjust Lyrics Delay")),
actions: [
ElevatedButton(
PlatformFilledButton(
child: const Text("Cancel"),
onPressed: () {
Navigator.of(context).pop();
},
),
ElevatedButton(
PlatformFilledButton(
child: const Text("Done"),
onPressed: () {
Navigator.of(context).pop(
Expand All @@ -38,7 +39,7 @@ class LyricDelayAdjustDialog extends HookConsumerWidget {
content: Row(
mainAxisSize: MainAxisSize.min,
children: [
IconButton(
PlatformIconButton(
icon: const Icon(Icons.remove_rounded),
onPressed: () {
controller.text = "${getValue() - 25}ms";
Expand All @@ -61,7 +62,7 @@ class LyricDelayAdjustDialog extends HookConsumerWidget {
},
),
),
IconButton(
PlatformIconButton(
icon: const Icon(Icons.add_rounded),
onPressed: () {
controller.text = "${getValue() + 25}ms";
Expand Down
3 changes: 2 additions & 1 deletion lib/components/Lyrics/SyncedLyrics.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:palette_generator/palette_generator.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotify/spotify.dart';
import 'package:spotube/components/LoaderShimmers/ShimmerLyrics.dart';
import 'package:spotube/components/Lyrics/LyricDelayAdjustDialog.dart';
Expand Down Expand Up @@ -85,7 +86,7 @@ class SyncedLyrics extends HookConsumerWidget {
Positioned.fill(
child: Align(
alignment: Alignment.centerRight,
child: IconButton(
child: PlatformIconButton(
tooltip: "Lyrics Delay",
icon: const Icon(Icons.av_timer_rounded),
onPressed: () async {
Expand Down
7 changes: 4 additions & 3 deletions lib/components/Player/PlayerActions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotify/spotify.dart';
import 'package:spotube/components/Library/UserLocalTracks.dart';
import 'package:spotube/components/Player/PlayerQueue.dart';
Expand Down Expand Up @@ -48,7 +49,7 @@ class PlayerActions extends HookConsumerWidget {
return Row(
mainAxisAlignment: mainAxisAlignment,
children: [
IconButton(
PlatformIconButton(
icon: const Icon(Icons.queue_music_rounded),
tooltip: 'Queue',
onPressed: playback.playlist != null
Expand All @@ -73,7 +74,7 @@ class PlayerActions extends HookConsumerWidget {
}
: null,
),
IconButton(
PlatformIconButton(
icon: const Icon(Icons.alt_route_rounded),
tooltip: "Alternative Track Sources",
onPressed: playback.track != null
Expand Down Expand Up @@ -108,7 +109,7 @@ class PlayerActions extends HookConsumerWidget {
),
)
else
IconButton(
PlatformIconButton(
tooltip: 'Download track',
icon: Icon(
isDownloaded
Expand Down
31 changes: 19 additions & 12 deletions lib/components/Player/PlayerControls.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/hooks/playback.dart';
import 'package:spotube/models/Intents.dart';
import 'package:spotube/models/Logger.dart';
Expand Down Expand Up @@ -138,7 +139,7 @@ class PlayerControls extends HookConsumerWidget {
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
IconButton(
PlatformIconButton(
tooltip: playback.isLoop
? "Repeat playlist"
: playback.isShuffled
Expand All @@ -156,14 +157,16 @@ class PlayerControls extends HookConsumerWidget {
? null
: playback.cyclePlaybackMode,
),
IconButton(
PlatformIconButton(
tooltip: "Previous track",
icon: const Icon(Icons.skip_previous_rounded),
color: iconColor,
icon: Icon(
Icons.skip_previous_rounded,
color: iconColor,
),
onPressed: () {
onPrevious();
}),
IconButton(
PlatformIconButton(
tooltip: playback.isPlaying
? "Pause playback"
: "Resume playback",
Expand All @@ -177,23 +180,27 @@ class PlayerControls extends HookConsumerWidget {
playback.isPlaying
? Icons.pause_rounded
: Icons.play_arrow_rounded,
color: iconColor,
),
color: iconColor,
onPressed: Actions.handler<PlayPauseIntent>(
context,
PlayPauseIntent(ref),
),
),
IconButton(
PlatformIconButton(
tooltip: "Next track",
icon: const Icon(Icons.skip_next_rounded),
icon: Icon(
Icons.skip_next_rounded,
color: iconColor,
),
onPressed: () => onNext(),
color: iconColor,
),
IconButton(
PlatformIconButton(
tooltip: "Stop playback",
icon: const Icon(Icons.stop_rounded),
color: iconColor,
icon: Icon(
Icons.stop_rounded,
color: iconColor,
),
onPressed: playback.track != null
? () async {
try {
Expand Down
21 changes: 13 additions & 8 deletions lib/components/Player/PlayerOverlay.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Player/PlayerTrackDetails.dart';
import 'package:spotube/hooks/playback.dart';
import 'package:spotube/hooks/usePaletteColor.dart';
Expand Down Expand Up @@ -79,32 +80,36 @@ class PlayerOverlay extends HookConsumerWidget {
),
Row(
children: [
IconButton(
icon: const Icon(Icons.skip_previous_rounded),
color: paletteColor.bodyTextColor,
PlatformIconButton(
icon: Icon(
Icons.skip_previous_rounded,
color: paletteColor.bodyTextColor,
),
onPressed: () {
onPrevious();
}),
Consumer(
builder: (context, ref, _) {
return IconButton(
return PlatformIconButton(
icon: Icon(
ref.read(playbackProvider).isPlaying
? Icons.pause_rounded
: Icons.play_arrow_rounded,
color: paletteColor.bodyTextColor,
),
color: paletteColor.bodyTextColor,
onPressed: Actions.handler<PlayPauseIntent>(
context,
PlayPauseIntent(ref),
),
);
},
),
IconButton(
icon: const Icon(Icons.skip_next_rounded),
PlatformIconButton(
icon: Icon(
Icons.skip_next_rounded,
color: paletteColor.bodyTextColor,
),
onPressed: () => onNext(),
color: paletteColor.bodyTextColor,
),
],
),
Expand Down
3 changes: 2 additions & 1 deletion lib/components/Player/PlayerView.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:palette_generator/palette_generator.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Player/PlayerActions.dart';
import 'package:spotube/components/Player/PlayerControls.dart';
import 'package:spotube/components/Shared/PageWindowTitleBar.dart';
Expand Down Expand Up @@ -162,7 +163,7 @@ class PlayerView extends HookConsumerWidget {
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
floatingQueue: false,
extraActions: [
IconButton(
PlatformIconButton(
tooltip: "Open Lyrics",
icon: const Icon(Icons.lyrics_rounded),
onPressed: () {
Expand Down
2 changes: 1 addition & 1 deletion lib/components/Search/Search.dart
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ class Search extends HookConsumerWidget {
}),
if (searchTrack.hasNextPage && tracks.isNotEmpty)
Center(
child: TextButton(
child: PlatformTextButton(
onPressed: searchTrack.isFetchingNextPage
? null
: () => searchTrack.fetchNextPage(),
Expand Down
Loading

0 comments on commit 69739b4

Please sign in to comment.