Compare commits

...

6 Commits

Author SHA1 Message Date
Richard Hajek
1705028915
Merge 42e954428b into 4072531c62 2025-03-09 10:10:39 +06:00
Kingkor Roy Tirtho
4072531c62 fix(android): navigation overlaying in app navigation 2025-03-09 10:05:02 +06:00
Richard Hajek
42e954428b feat: added filtering duplicates in recent 2025-01-18 18:01:26 +01:00
Kingkor Roy Tirtho
8c1337d1fc
Merge pull request #2118 from KRTirtho/dev
chore: release 3.9.0
2024-12-09 00:04:29 +06:00
Kingkor Roy Tirtho
94e704087f Merge branch 'dev' 2024-10-09 16:38:23 +06:00
Kingkor Roy Tirtho
8e287ab1e5
Merge pull request #1981 from KRTirtho/dev
Release 3.8.3
2024-10-09 15:39:31 +06:00
7 changed files with 29 additions and 21 deletions

View File

@ -1,3 +1,3 @@
{
"flutterSdkVersion": "3.29.0"
"flutterSdkVersion": "3.29.1"
}

2
.fvmrc
View File

@ -1,4 +1,4 @@
{
"flutter": "3.29.0",
"flutter": "3.29.1",
"flavors": {}
}

View File

@ -28,5 +28,5 @@
"README.md": "LICENSE,CODE_OF_CONDUCT.md,CONTRIBUTING.md,SECURITY.md,CONTRIBUTION.md,CHANGELOG.md,PRIVACY_POLICY.md",
"*.dart": "${capture}.g.dart,${capture}.freezed.dart"
},
"dart.flutterSdkPath": ".fvm/versions/3.29.0"
"dart.flutterSdkPath": ".fvm/versions/3.29.1"
}

View File

@ -25,9 +25,9 @@
android:requestLegacyExternalStorage="true"
android:usesCleartextTraffic="true">
<!-- Enable Impeller -->
<!-- <meta-data
<meta-data
android:name="io.flutter.embedding.android.EnableImpeller"
android:value="false" /> -->
android:value="false" />
<activity
android:name="com.ryanheise.audioservice.AudioServiceActivity"

View File

@ -20,17 +20,20 @@ class HomeRecentlyPlayedSection extends HookConsumerWidget {
return const SizedBox();
}
final uniqueItems = <dynamic>{};
final filteredItems = [
for (final item in historyData)
if (item.playlist != null && item.playlist?.id != null && uniqueItems.add(item.playlist!.id!))
item.playlist
else if (item.album != null && item.album?.id != null && uniqueItems.add(item.album?.id))
item.album
];
return Skeletonizer(
enabled: history.isLoading,
child: HorizontalPlaybuttonCardView(
title: Text(context.l10n.recently_played),
items: [
for (final item in historyData)
if (item.playlist != null)
item.playlist
else if (item.album != null)
item.album
],
items: filteredItems,
hasNextPage: false,
isLoadingNextPage: false,
onFetchMore: () {},

View File

@ -48,7 +48,7 @@ class PlayerView extends HookConsumerWidget {
ref.watch(audioPlayerProvider.select((s) => s.activeTrack));
final currentTrack = sourcedCurrentTrack ?? currentActiveTrack;
final isLocalTrack = currentTrack is LocalTrack;
final mediaQuery = MediaQuery.of(context);
final mediaQuery = MediaQuery.sizeOf(context);
final shouldHide = useState(true);
@ -101,6 +101,8 @@ class PlayerView extends HookConsumerWidget {
backgroundColor: Colors.transparent,
headers: [
SafeArea(
minimum: const EdgeInsets.only(top: 80),
bottom: false,
child: TitleBar(
surfaceOpacity: 0,
surfaceBlur: 0,

View File

@ -43,13 +43,16 @@ class RootAppPage extends HookConsumerWidget {
final scaffold = MediaQuery.removeViewInsets(
context: context,
removeBottom: true,
child: const Scaffold(
footers: [
BottomPlayer(),
SpotubeNavigationBar(),
],
floatingFooter: true,
child: Sidebar(child: AutoRouter()),
child: const SafeArea(
top: false,
child: Scaffold(
footers: [
BottomPlayer(),
SpotubeNavigationBar(),
],
floatingFooter: true,
child: Sidebar(child: AutoRouter()),
),
),
);