diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png index 5886b2c8..a65caa1b 100644 Binary files a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png index 14abbd8d..3ad0f47e 100644 Binary files a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png index 7e7fd6ff..8774c0ff 100644 Binary files a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png index 365fc77d..a379c006 100644 Binary files a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png index c2cbfcfb..44621df8 100644 Binary files a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index e39ff9e5..d26a3a6e 100644 Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index bbfb35a6..63d16c60 100644 Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 07e99ea4..fe2957ad 100644 Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 609ba6c7..85c1d793 100644 Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index f599ec5b..f22fa5cf 100644 Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml index ab983282..88247a21 100644 --- a/android/app/src/main/res/values/colors.xml +++ b/android/app/src/main/res/values/colors.xml @@ -1,4 +1,4 @@ - #ffffff + #242832 \ No newline at end of file diff --git a/assets/spotube-logo-foreground.jpg b/assets/spotube-logo-foreground.jpg index 41fd55ad..0af774c9 100644 Binary files a/assets/spotube-logo-foreground.jpg and b/assets/spotube-logo-foreground.jpg differ diff --git a/assets/spotube-logo.png b/assets/spotube-logo.png index 4a406c7f..b4240f49 100644 Binary files a/assets/spotube-logo.png and b/assets/spotube-logo.png differ diff --git a/assets/spotube-logo.svg b/assets/spotube-logo.svg index 9dc4dbee..5cd88f8e 100644 --- a/assets/spotube-logo.svg +++ b/assets/spotube-logo.svg @@ -1,71 +1,349 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff --git a/assets/spotube_banner.png b/assets/spotube_banner.png index 17e208b9..b2be4539 100644 Binary files a/assets/spotube_banner.png and b/assets/spotube_banner.png differ diff --git a/lib/components/root/sidebar.dart b/lib/components/root/sidebar.dart index 33448eb5..763fd5f6 100644 --- a/lib/components/root/sidebar.dart +++ b/lib/components/root/sidebar.dart @@ -31,10 +31,15 @@ class Sidebar extends HookConsumerWidget { }) : super(key: key); static Widget brandLogo() { - return Image.asset( - "assets/spotube-logo.png", - height: 50, - width: 50, + return Container( + decoration: BoxDecoration( + color: Colors.black, + borderRadius: BorderRadius.circular(50), + ), + child: Image.asset( + "assets/spotube-logo.png", + height: 50, + ), ); } diff --git a/lib/components/shared/compact_search.dart b/lib/components/shared/compact_search.dart index 39e41257..9327463f 100644 --- a/lib/components/shared/compact_search.dart +++ b/lib/components/shared/compact_search.dart @@ -7,12 +7,14 @@ class CompactSearch extends HookWidget { final ValueChanged? onChanged; final String placeholder; final IconData icon; + final Color? iconColor; const CompactSearch({ Key? key, this.onChanged, this.placeholder = "Search...", this.icon = Icons.search, + this.iconColor, }) : super(key: key); @override @@ -24,14 +26,19 @@ class CompactSearch extends HookWidget { backgroundColor: PlatformTheme.of(context).secondaryBackgroundColor!, transitionDuration: const Duration(milliseconds: 100), barrierColor: Colors.transparent, + arrowDxOffset: -6, bodyBuilder: (context) { - return Padding( + return Container( padding: const EdgeInsets.all(8.0), + width: 300, child: PlatformTextField( autofocus: true, onChanged: onChanged, placeholder: placeholder, prefixIcon: icon, + padding: platform == TargetPlatform.android + ? const EdgeInsets.all(0) + : null, ), ); }, @@ -39,7 +46,7 @@ class CompactSearch extends HookWidget { ); }, tooltip: placeholder, - icon: Icon(icon), + icon: Icon(icon, color: iconColor), ); } } diff --git a/lib/components/shared/page_window_title_bar.dart b/lib/components/shared/page_window_title_bar.dart index 66fd10c5..41b02680 100644 --- a/lib/components/shared/page_window_title_bar.dart +++ b/lib/components/shared/page_window_title_bar.dart @@ -98,7 +98,7 @@ class _PageWindowTitleBarState extends State { ), ], onDrag: () { - appWindow.startDragging(); + if (kIsDesktop) appWindow.startDragging(); }, title: widget.center, toolbarOpacity: widget.toolbarOpacity, diff --git a/lib/components/shared/track_table/track_collection_view.dart b/lib/components/shared/track_table/track_collection_view.dart index 03792ac8..888738e7 100644 --- a/lib/components/shared/track_table/track_collection_view.dart +++ b/lib/components/shared/track_table/track_collection_view.dart @@ -5,6 +5,7 @@ import 'package:fuzzywuzzy/fuzzywuzzy.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/shared/compact_search.dart'; import 'package:spotube/components/shared/shimmers/shimmer_track_tile.dart'; import 'package:spotube/components/shared/page_window_title_bar.dart'; import 'package:spotube/components/shared/image/universal_image.dart'; @@ -205,7 +206,15 @@ class TrackCollectionView extends HookConsumerWidget { controller: controller, slivers: [ SliverAppBar( - actions: collapsed.value ? buttons : null, + actions: [ + if (kIsMobile) + CompactSearch( + onChanged: (value) => searchText.value = value, + placeholder: "Search tracks...", + iconColor: color?.titleTextColor, + ), + if (collapsed.value) ...buttons, + ], floating: false, pinned: true, expandedHeight: 400, @@ -291,10 +300,6 @@ class TrackCollectionView extends HookConsumerWidget { mainAxisSize: MainAxisSize.min, children: buttons, ), - if (kIsMobile) ...[ - const SizedBox(height: 10), - searchbar, - ] ], ) ], diff --git a/lib/pages/genre/genres.dart b/lib/pages/genre/genres.dart index 06bb5879..32dabf6d 100644 --- a/lib/pages/genre/genres.dart +++ b/lib/pages/genre/genres.dart @@ -112,9 +112,11 @@ class GenrePage extends HookConsumerWidget { ), ); return PlatformScaffold( - appBar: PageWindowTitleBar( - actions: [searchbar, const SizedBox(width: 10)], - ), + appBar: kIsDesktop + ? PageWindowTitleBar( + actions: [searchbar, const SizedBox(width: 10)], + ) + : null, backgroundColor: PlatformProperty.all( PlatformTheme.of(context).scaffoldBackgroundColor!, ), @@ -123,8 +125,8 @@ class GenrePage extends HookConsumerWidget { children: [ Positioned.fill(child: list), Positioned( - top: 10, - right: 20, + top: kIsMobile ? 30 : 10, + right: kIsMobile ? 5 : 20, child: searchbar, ), ], diff --git a/lib/pages/player/player.dart b/lib/pages/player/player.dart index a4496eff..f4025783 100644 --- a/lib/pages/player/player.dart +++ b/lib/pages/player/player.dart @@ -67,7 +67,9 @@ class PlayerView extends HookConsumerWidget { hideWhenWindows: false, backgroundColor: Colors.transparent, foregroundColor: paletteColor.titleTextColor, - toolbarOpacity: 0, + toolbarOpacity: + PlatformProperty.only(android: 1.0, windows: 1.0, other: 0.0) + .resolve(platform ?? Theme.of(context).platform), leading: PlatformBackButton( color: PlatformProperty.only( macos: Colors.black, diff --git a/lib/pages/settings/about.dart b/lib/pages/settings/about.dart index 7f5354ca..ac1f4caa 100644 --- a/lib/pages/settings/about.dart +++ b/lib/pages/settings/about.dart @@ -41,8 +41,11 @@ class AboutSpotube extends HookConsumerWidget { Row( mainAxisSize: MainAxisSize.min, children: [ - PlatformText.subheading( + const PlatformText( "Founder: Kingkor Roy Tirtho", + style: TextStyle( + fontWeight: FontWeight.bold, + ), ), const SizedBox(width: 5), CircleAvatar( diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index a2ec33f1..96d3fee1 100644 --- a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,68 +1,68 @@ { - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" + "info": { + "version": 1, + "author": "xcode" }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} + "images": [ + { + "size": "16x16", + "idiom": "mac", + "filename": "app_icon_16.png", + "scale": "1x" + }, + { + "size": "16x16", + "idiom": "mac", + "filename": "app_icon_32.png", + "scale": "2x" + }, + { + "size": "32x32", + "idiom": "mac", + "filename": "app_icon_32.png", + "scale": "1x" + }, + { + "size": "32x32", + "idiom": "mac", + "filename": "app_icon_64.png", + "scale": "2x" + }, + { + "size": "128x128", + "idiom": "mac", + "filename": "app_icon_128.png", + "scale": "1x" + }, + { + "size": "128x128", + "idiom": "mac", + "filename": "app_icon_256.png", + "scale": "2x" + }, + { + "size": "256x256", + "idiom": "mac", + "filename": "app_icon_256.png", + "scale": "1x" + }, + { + "size": "256x256", + "idiom": "mac", + "filename": "app_icon_512.png", + "scale": "2x" + }, + { + "size": "512x512", + "idiom": "mac", + "filename": "app_icon_512.png", + "scale": "1x" + }, + { + "size": "512x512", + "idiom": "mac", + "filename": "app_icon_1024.png", + "scale": "2x" + } + ] +} \ No newline at end of file diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png index 2e5a98d0..f39ccaf9 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png index 433a0be3..9583c467 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png index b1c2ea19..b578a673 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png index 9783a56f..4b4141f8 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png index a93de906..9ce413dc 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png index 45edc204..6ea670e1 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png index 83cb060e..dad62aa0 100644 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ diff --git a/pubspec.yaml b/pubspec.yaml index 78b97f5e..68337146 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -85,4 +85,11 @@ flutter_icons: android: true image_path: "assets/spotube-logo.png" adaptive_icon_foreground: "assets/spotube-logo-foreground.jpg" - adaptive_icon_background: "#ffffff" + adaptive_icon_background: "#242832" + windows: + generate: true + image_path: "assets/spotube-logo.png" + icon_size: 48 # min:48, max:256, default: 48 + macos: + generate: true + image_path: "assets/spotube-logo.png" diff --git a/scripts/windows-setup-creator.iss b/scripts/windows-setup-creator.iss index 9b271435..93302234 100644 --- a/scripts/windows-setup-creator.iss +++ b/scripts/windows-setup-creator.iss @@ -25,7 +25,7 @@ PrivilegesRequired=lowest PrivilegesRequiredOverridesAllowed=dialog OutputDir=..\build\installer OutputBaseFilename=Spotube-windows-x86_64-setup -SetupIconFile=..\windows\runner\resources\icon.ico +SetupIconFile=..\windows\runner\resources\app_icon.ico Compression=lzma SolidCompression=yes WizardStyle=modern diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc index 4c36cee9..e8fccc8a 100644 --- a/windows/runner/Runner.rc +++ b/windows/runner/Runner.rc @@ -52,7 +52,7 @@ END // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -IDI_APP_ICON ICON "resources\\icon.ico" +IDI_APP_ICON ICON "resources\\app_icon.ico" ///////////////////////////////////////////////////////////////////////////// diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico new file mode 100644 index 00000000..84906308 Binary files /dev/null and b/windows/runner/resources/app_icon.ico differ diff --git a/windows/runner/resources/icon.ico b/windows/runner/resources/icon.ico deleted file mode 100644 index ada0d7b9..00000000 Binary files a/windows/runner/resources/icon.ico and /dev/null differ