feat: dialog logo for macos, settings more width for country picker

This commit is contained in:
Kingkor Roy Tirtho 2022-11-04 11:36:33 +06:00
parent 2211505d71
commit 5e96913ba3
15 changed files with 26 additions and 8 deletions

View File

@ -32,7 +32,7 @@ class Sidebar extends HookConsumerWidget {
Key? key,
}) : super(key: key);
Widget _buildSmallLogo() {
static Widget brandLogo() {
return Image.asset(
"assets/spotube-logo.png",
height: 50,
@ -135,7 +135,7 @@ class Sidebar extends HookConsumerWidget {
(extended.value)
? Row(
children: [
_buildSmallLogo(),
brandLogo(),
const SizedBox(
width: 10,
),
@ -149,7 +149,7 @@ class Sidebar extends HookConsumerWidget {
),
],
)
: _buildSmallLogo(),
: brandLogo(),
],
),
windowsFooterItems: [

View File

@ -16,6 +16,7 @@ class UserLibrary extends ConsumerWidget {
length: 5,
child: SafeArea(
child: PlatformTabView(
androidIsScrollable: true,
placement: PlatformProperty.all(PlatformTabbarPlacement.top),
body: {
PlatformTab(

View File

@ -2,6 +2,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/Home/Sidebar.dart';
import 'package:spotube/components/Lyrics/SyncedLyrics.dart';
class LyricDelayAdjustDialog extends HookConsumerWidget {
@ -17,6 +18,7 @@ class LyricDelayAdjustDialog extends HookConsumerWidget {
double.tryParse(controller.text.replaceAll("ms", "")) ?? 0;
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: const Center(child: Text("Adjust Lyrics Delay")),
secondaryActions: [
PlatformFilledButton(

View File

@ -98,7 +98,6 @@ class PlayerControls extends HookConsumerWidget {
PlatformTooltip(
message: "Slide to seek forward or backward",
child: PlatformSlider(
focusNode: FocusNode(),
// cannot divide by zero
// there's an edge case for value being bigger
// than total duration. Keeping it resolved

View File

@ -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:platform_ui/platform_ui.dart';
import 'package:spotube/components/Home/Sidebar.dart';
import 'package:spotube/provider/SpotifyDI.dart';
import 'package:spotube/provider/SpotifyRequests.dart';
@ -25,6 +26,7 @@ class PlaylistCreateDialog extends HookConsumerWidget {
final collaborative = useState(false);
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: const Text("Create a Playlist"),
primaryActions: [
PlatformFilledButton(

View File

@ -2,6 +2,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/Home/Sidebar.dart';
import 'package:spotube/provider/UserPreferences.dart';
final highContrast = MaterialColor(
@ -67,6 +68,7 @@ class ColorSchemePickerDialog extends HookConsumerWidget {
).key);
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: Text("Pick ${schemeType.name} color scheme"),
primaryActions: [
PlatformFilledButton(

View File

@ -315,7 +315,7 @@ class Settings extends HookConsumerWidget {
"Recommendation Country",
),
trailing: (context, update) => ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 250),
constraints: const BoxConstraints(maxWidth: 350),
child: PlatformDropDownMenu(
value: preferences.recommendationMarket,
items: spotifyMarkets

View File

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Home/Sidebar.dart';
import 'package:spotube/hooks/useBreakpoints.dart';
class AdaptiveListTile extends HookWidget {
@ -39,6 +40,7 @@ class AdaptiveListTile extends HookWidget {
builder: (context) {
return StatefulBuilder(builder: (context, update) {
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: title != null
? Row(
crossAxisAlignment: CrossAxisAlignment.center,

View File

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Home/Sidebar.dart';
import 'package:spotube/components/Shared/UniversalImage.dart';
class DownloadConfirmationDialog extends StatelessWidget {
@ -8,6 +9,7 @@ class DownloadConfirmationDialog extends StatelessWidget {
@override
Widget build(BuildContext context) {
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: Padding(
padding: const EdgeInsets.all(15),
child: Row(

View File

@ -1,4 +1,5 @@
import 'package:bitsdojo_window/bitsdojo_window.dart';
import 'package:fluent_ui/fluent_ui.dart' show FluentTheme;
import 'package:flutter/material.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/utils/platform.dart';
@ -112,7 +113,8 @@ class PageWindowTitleBar extends StatelessWidget
}
return WindowTitleBarBox(
child: Container(
color: backgroundColor,
color: backgroundColor ??
FluentTheme.maybeOf(context)?.micaBackgroundColor,
child: Row(
children: [
if (kIsMacOS)

View File

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:platform_ui/platform_ui.dart';
import 'package:spotify/spotify.dart';
import 'package:spotube/components/Home/Sidebar.dart';
final replaceDownloadedFileState = StateProvider<bool?>((ref) => null);
@ -15,6 +16,7 @@ class ReplaceDownloadedFileDialog extends ConsumerWidget {
final groupValue = ref.watch(replaceDownloadedFileState);
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: Text("Track ${track.name} Already Exists"),
content: Column(
mainAxisSize: MainAxisSize.min,

View File

@ -4,6 +4,7 @@ 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' hide Image;
import 'package:spotube/components/Home/Sidebar.dart';
import 'package:spotube/components/Shared/AdaptivePopupMenuButton.dart';
import 'package:spotube/components/Shared/HeartButton.dart';
import 'package:spotube/components/Shared/LinkText.dart';
@ -95,6 +96,7 @@ class TrackTile extends HookConsumerWidget {
return HookBuilder(builder: (context) {
final playlistsCheck = useState(<String, bool>{});
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: PlatformText(
"Add `${track.value.name}` to following Playlists",
style: const TextStyle(

View File

@ -6,6 +6,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:http/http.dart' as http;
import 'package:platform_ui/platform_ui.dart';
import 'package:spotube/components/Home/Sidebar.dart';
import 'package:spotube/components/Shared/AnchorButton.dart';
import 'package:spotube/hooks/usePackageInfo.dart';
import 'package:spotube/provider/UserPreferences.dart';
@ -56,6 +57,7 @@ void useUpdateChecker(WidgetRef ref) {
const url =
"https://spotube.netlify.app/other-downloads/stable-downloads";
return PlatformAlertDialog(
icon: Sidebar.brandLogo(),
title: const PlatformText("Spotube has an update"),
primaryActions: [
PlatformFilledButton(

View File

@ -199,7 +199,7 @@ class SpotubeState extends ConsumerState<Spotube> with WidgetsBindingObserver {
};
}, []);
platform = TargetPlatform.android;
platform = TargetPlatform.macOS;
return PlatformApp.router(
routeInformationParser: router.routeInformationParser,

View File

@ -72,7 +72,7 @@ ThemeData darkTheme({
),
dialogTheme: DialogTheme(backgroundColor: backgroundMaterialColor[900]),
cardColor: backgroundMaterialColor[800],
canvasColor: backgroundMaterialColor[900],
canvasColor: backgroundMaterialColor[800],
listTileTheme: const ListTileThemeData(horizontalTitleGap: 0),
checkboxTheme: CheckboxThemeData(
fillColor: MaterialStateProperty.resolveWith((states) {