This commit is contained in:
Alessio 2025-12-06 16:31:29 +00:00 committed by GitHub
commit 861a6e425e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 29 additions and 40 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 KiB

View File

@ -7,16 +7,12 @@ import 'commands/translated.dart';
import 'commands/untranslated.dart';
void main(List<String> args) {
final commandRunner = CommandRunner(
"cli",
"Configuration CLI for Spotube",
);
final commandRunner = CommandRunner("cli", "Configuration CLI for Spotube");
commandRunner.addCommand(InstallDependenciesCommand());
commandRunner.addCommand(BuildCommand());
commandRunner.addCommand(CreditsCommand());
commandRunner.addCommand(TranslatedCommand());
commandRunner.addCommand(UntranslatedCommand());
commandRunner.run(args);
}

View File

@ -1,14 +1,6 @@
import 'dart:async';
import 'package:app_links/app_links.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:spotube/collections/routes.dart';
import 'package:spotube/collections/routes.gr.dart';
import 'package:flutter_sharing_intent/flutter_sharing_intent.dart';
import 'package:flutter_sharing_intent/model/sharing_file.dart';
import 'package:spotube/services/logger/logger.dart';
import 'package:spotube/utils/platform.dart';
final appLinks = AppLinks();
final linkStream = appLinks.stringLinkStream.asBroadcastStream();

View File

@ -1,4 +1,3 @@
import 'package:flutter/services.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:flutter_hooks/flutter_hooks.dart';

View File

@ -1,4 +1,3 @@
import 'package:flutter/services.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

View File

@ -10,7 +10,14 @@ class BlurCard extends HookConsumerWidget {
return Container(
margin: const EdgeInsets.all(16.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadius.circular(24),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.1),
blurRadius: 20,
offset: const Offset(0, 10),
),
],
),
constraints: const BoxConstraints(maxWidth: 400),
clipBehavior: Clip.antiAlias,
@ -18,7 +25,7 @@ class BlurCard extends HookConsumerWidget {
width: double.infinity,
child: SurfaceCard(
child: Padding(
padding: const EdgeInsets.all(16.0),
padding: const EdgeInsets.all(24.0),
child: child,
),
),

View File

@ -1,10 +1,5 @@
import 'package:flutter_undraw/flutter_undraw.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:skeletonizer/skeletonizer.dart';
import 'package:spotube/components/horizontal_playbutton_card_view/horizontal_playbutton_card_view.dart';
import 'package:spotube/extensions/context.dart';
@Deprecated(
"Later a featured playlists API will be added for metadata plugins.")

View File

@ -1,5 +1,4 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/foundation.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/formatters.dart';

View File

@ -1,7 +1,6 @@
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:spotube/collections/assets.gen.dart';
import 'package:spotube/components/titlebar/titlebar.dart';
import 'package:spotube/extensions/context.dart';
import 'package:spotube/pages/getting_started/sections/greeting.dart';
@ -70,9 +69,13 @@ class GettingStartedPage extends HookConsumerWidget {
floatingHeader: true,
child: DecoratedBox(
decoration: BoxDecoration(
image: DecorationImage(
image: Assets.images.bengaliPatternsBg.provider(),
fit: BoxFit.cover,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Theme.of(context).colorScheme.primary.withOpacity(0.1),
Theme.of(context).colorScheme.background,
],
),
),
child: PageView(

View File

@ -17,7 +17,7 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Assets.branding.spotubeLogoPng.image(height: 200),
Assets.branding.spotubeLogoPng.image(height: 220),
const Gap(24),
const Text("Spotube").semiBold().h4(),
const Gap(4),
@ -27,7 +27,7 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget {
: context.l10n.freedom_of_music,
textAlign: TextAlign.center,
).light().large().italic(),
const Gap(84),
const Gap(48),
Button.primary(
onPressed: onNext,
trailing: const Icon(SpotubeIcons.angleRight),

View File

@ -168,7 +168,7 @@ class MiniLyricsPage extends HookConsumerWidget {
child: Column(
children: [
if (playlistQueue.activeTrack != null)
Text(playlistQueue.activeTrack!.name!).semiBold(),
Text(playlistQueue.activeTrack!.name).semiBold(),
if (showLyrics.value)
Expanded(
child: IndexedStack(

View File

@ -7,7 +7,7 @@ class MetadataPluginRepositoriesNotifier
extends PaginatedAsyncNotifier<MetadataPluginRepository> {
MetadataPluginRepositoriesNotifier() : super();
Map<String, bool> _hasMore = {};
final Map<String, bool> _hasMore = {};
@override
fetch(int offset, int limit) async {

View File

@ -84,8 +84,8 @@ class WindowsAudioService {
title: track.name,
albumArtist: track.artists.firstOrNull?.name ?? "Unknown",
artist: track.artists.asString(),
album: track.album?.name ?? "Unknown",
thumbnail: (track.album?.images).asUrlString(
album: track.album.name ?? "Unknown",
thumbnail: (track.album.images).asUrlString(
placeholder: ImagePlaceholder.albumArt,
),
),

View File

@ -2376,26 +2376,26 @@ packages:
dependency: "direct dev"
description:
name: test
sha256: "65e29d831719be0591f7b3b1a32a3cda258ec98c58c7b25f7b84241bc31215bb"
sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7"
url: "https://pub.dev"
source: hosted
version: "1.26.2"
version: "1.26.3"
test_api:
dependency: transitive
description:
name: test_api
sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
url: "https://pub.dev"
source: hosted
version: "0.7.6"
version: "0.7.7"
test_core:
dependency: transitive
description:
name: test_core
sha256: "80bf5a02b60af04b09e14f6fe68b921aad119493e26e490deaca5993fef1b05a"
sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0"
url: "https://pub.dev"
source: hosted
version: "0.6.11"
version: "0.6.12"
time:
dependency: transitive
description:

View File

@ -270,7 +270,6 @@ flutter_gen:
output: lib/collections
flutter_native_splash:
background_image: assets/bengali-patterns-bg.jpg
image: assets/spotube-logo.png
branding: assets/branding.png
android_12: