diff --git a/assets/spotube-logo-light.png b/assets/spotube-logo-light.png new file mode 100644 index 00000000..8c86d621 Binary files /dev/null and b/assets/spotube-logo-light.png differ diff --git a/lib/collections/assets.gen.dart b/lib/collections/assets.gen.dart index 004001f2..bcdff548 100644 --- a/lib/collections/assets.gen.dart +++ b/lib/collections/assets.gen.dart @@ -151,34 +151,25 @@ class Assets { static const AssetGenImage spotubeHeroBanner = AssetGenImage('assets/spotube-hero-banner.png'); static const AssetGenImage spotubeLogoForeground = - AssetGenImage('assets/spotube-logo-foreground.jpg'); + AssetGenImage('assets/spotube-logo-foreground.png'); + static const AssetGenImage spotubeLogoItem = + AssetGenImage('assets/spotube-logo-item.png'); + static const AssetGenImage spotubeLogoLight = + AssetGenImage('assets/spotube-logo-light.png'); static const AssetGenImage spotubeLogoMacos = AssetGenImage('assets/spotube-logo-macos.png'); - static const AssetGenImage spotubeLogoBmp = - AssetGenImage('assets/spotube-logo.bmp'); - static const String spotubeLogoIco = 'assets/spotube-logo.ico'; - static const AssetGenImage spotubeLogoPng = + static const AssetGenImage spotubeLogo = AssetGenImage('assets/spotube-logo.png'); - static const String spotubeLogoSvg = 'assets/spotube-logo.svg'; static const AssetGenImage spotubeLogoAndroid12 = AssetGenImage('assets/spotube-logo_android12.png'); - static const AssetGenImage spotubeNightlyLogoForeground = - AssetGenImage('assets/spotube-nightly-logo-foreground.jpg'); - static const AssetGenImage spotubeNightlyLogoPng = - AssetGenImage('assets/spotube-nightly-logo.png'); - static const String spotubeNightlyLogoSvg = 'assets/spotube-nightly-logo.svg'; - static const AssetGenImage spotubeNightlyLogoAndroid12 = - AssetGenImage('assets/spotube-nightly-logo_android12.png'); + static const AssetGenImage spotubeNightlyItem = + AssetGenImage('assets/spotube-nightly-item.png'); + static const AssetGenImage spotubeNightlyLogoForegroundPng = + AssetGenImage('assets/spotube-nightly-logo-foreground.png'); + static const String spotubeNightlyLogoForegroundSvg = + 'assets/spotube-nightly-logo-foreground.svg'; static const AssetGenImage spotubeScreenshot = AssetGenImage('assets/spotube-screenshot.png'); - static const AssetGenImage spotubeTallCapsule = - AssetGenImage('assets/spotube-tall-capsule.png'); - static const AssetGenImage spotubeWideCapsuleLarge = - AssetGenImage('assets/spotube-wide-capsule-large.png'); - static const AssetGenImage spotubeWideCapsuleSmall = - AssetGenImage('assets/spotube-wide-capsule-small.png'); - static const AssetGenImage spotubeBanner = - AssetGenImage('assets/spotube_banner.png'); static const AssetGenImage success = AssetGenImage('assets/success.png'); static const $AssetsTutorialGen tutorial = $AssetsTutorialGen(); static const AssetGenImage userPlaceholder = @@ -197,21 +188,15 @@ class Assets { placeholder, spotubeHeroBanner, spotubeLogoForeground, + spotubeLogoItem, + spotubeLogoLight, spotubeLogoMacos, - spotubeLogoBmp, - spotubeLogoIco, - spotubeLogoPng, - spotubeLogoSvg, + spotubeLogo, spotubeLogoAndroid12, - spotubeNightlyLogoForeground, - spotubeNightlyLogoPng, - spotubeNightlyLogoSvg, - spotubeNightlyLogoAndroid12, + spotubeNightlyItem, + spotubeNightlyLogoForegroundPng, + spotubeNightlyLogoForegroundSvg, spotubeScreenshot, - spotubeTallCapsule, - spotubeWideCapsuleLarge, - spotubeWideCapsuleSmall, - spotubeBanner, success, userPlaceholder ]; diff --git a/lib/modules/root/sidebar/sidebar.dart b/lib/modules/root/sidebar/sidebar.dart index 743b339b..ea73a248 100644 --- a/lib/modules/root/sidebar/sidebar.dart +++ b/lib/modules/root/sidebar/sidebar.dart @@ -20,13 +20,16 @@ class Sidebar extends HookConsumerWidget { super.key, }); - static Widget brandLogo() { + static Widget brandLogo(BuildContext context) { return Container( decoration: BoxDecoration( color: Colors.black, borderRadius: BorderRadius.circular(50), ), - child: Assets.spotubeLogoPng.image(height: 50), + child: Assets.spotubeLogo.image( + height: 50, + cacheHeight: (100 * MediaQuery.devicePixelRatioOf(context)).toInt(), + ), ); } diff --git a/lib/pages/getting_started/sections/greeting.dart b/lib/pages/getting_started/sections/greeting.dart index 4b9c0a89..c0a3e9d3 100644 --- a/lib/pages/getting_started/sections/greeting.dart +++ b/lib/pages/getting_started/sections/greeting.dart @@ -17,7 +17,7 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget { child: Column( mainAxisSize: MainAxisSize.min, children: [ - Assets.spotubeLogoPng.image(height: 200), + Assets.spotubeLogo.image(height: 200), const Gap(24), const Text("Spotube").semiBold().h4(), const Gap(4), diff --git a/lib/pages/home/home.dart b/lib/pages/home/home.dart index 9ca71c04..d42c2def 100644 --- a/lib/pages/home/home.dart +++ b/lib/pages/home/home.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:auto_route/auto_route.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; @@ -28,6 +30,7 @@ class HomePage extends HookConsumerWidget { @override Widget build(BuildContext context, ref) { + final theme = Theme.of(context); final controller = useScrollController(); final mediaQuery = MediaQuery.of(context); final layoutMode = @@ -45,7 +48,17 @@ class HomePage extends HookConsumerWidget { if (mediaQuery.smAndDown || layoutMode == LayoutMode.compact) SliverAppBar( floating: true, - title: Assets.spotubeLogoPng.image(height: 45), + title: Image.asset( + theme.brightness == Brightness.dark + ? Assets.spotubeLogo.path + : Assets.spotubeLogoLight.path, + height: 45, + width: 45, + color: theme.colorScheme.background, + colorBlendMode: BlendMode.saturation, + cacheHeight: + (100 * MediaQuery.devicePixelRatioOf(context)).toInt(), + ), backgroundColor: context.theme.colorScheme.background, foregroundColor: context.theme.colorScheme.foreground, actions: [ diff --git a/lib/pages/settings/about.dart b/lib/pages/settings/about.dart index 27775f3c..713b8c12 100644 --- a/lib/pages/settings/about.dart +++ b/lib/pages/settings/about.dart @@ -45,7 +45,7 @@ class AboutSpotubePage extends HookConsumerWidget { padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( children: [ - Assets.spotubeLogoPng.image( + Assets.spotubeLogo.image( height: 200, width: 200, ),