mirror of
https://github.com/Boof2015/astra-mobile.git
synced 2026-08-19 04:06:43 +02:00
fix now playing source label
This commit is contained in:
@@ -149,7 +149,10 @@ function FolderTrackRow({
|
||||
const index = row.folderTracks.findIndex((track) => track.path === row.track.path);
|
||||
|
||||
const playFolderTrack = () => {
|
||||
void playTracks(row.folderTracks.map(dbTrackToTrack), Math.max(0, index));
|
||||
void playTracks(row.folderTracks.map(dbTrackToTrack), {
|
||||
startIndex: Math.max(0, index),
|
||||
source: { kind: 'folder', label: row.folderName },
|
||||
});
|
||||
};
|
||||
const openActions = (event: GestureResponderEvent) => {
|
||||
event.stopPropagation();
|
||||
@@ -210,11 +213,16 @@ export function FoldersView({ onScroll, scrollEventThrottle }: FoldersViewProps)
|
||||
// Folder-level playback runs the whole subtree (subfolders included), in tree order.
|
||||
const playFolder = (node: FolderTreeNode) => {
|
||||
if (node.subtreeTracks.length === 0) return;
|
||||
void playTracks(node.subtreeTracks.map(dbTrackToTrack), 0);
|
||||
void playTracks(node.subtreeTracks.map(dbTrackToTrack), {
|
||||
source: { kind: 'folder', label: node.name },
|
||||
});
|
||||
};
|
||||
const shuffleFolder = (node: FolderTreeNode) => {
|
||||
if (node.subtreeTracks.length === 0) return;
|
||||
void shuffleTracks(node.subtreeTracks.map(dbTrackToTrack));
|
||||
void shuffleTracks(node.subtreeTracks.map(dbTrackToTrack), {
|
||||
kind: 'folder',
|
||||
label: node.name,
|
||||
});
|
||||
};
|
||||
const playFolderNext = (node: FolderTreeNode) => {
|
||||
if (node.subtreeTracks.length === 0) return;
|
||||
|
||||
@@ -72,6 +72,7 @@ import {
|
||||
import { useLibraryStore } from '@/stores/libraryStore';
|
||||
import { useDesktopRemoteStore } from '@/stores/desktopRemoteStore';
|
||||
import { usePlayerStore } from '@/stores/playerStore';
|
||||
import { useQueueStore } from '@/stores/queueStore';
|
||||
import { usePlaylistStore } from '@/stores/playlistStore';
|
||||
import { usePlaybackTargetStore } from '@/stores/playbackTargetStore';
|
||||
import { usePlayerUiStore } from '@/stores/playerUiStore';
|
||||
@@ -148,6 +149,7 @@ export function NowPlayingOverlay() {
|
||||
const artistGroupingMode = useSettingsStore((s) => s.artistGroupingMode);
|
||||
const libraryTracks = useLibraryStore((s) => s.tracks);
|
||||
const track = usePlayerStore((s) => s.currentTrack);
|
||||
const playbackSource = useQueueStore((s) => s.source);
|
||||
const playbackState = usePlayerStore((s) => s.playbackState);
|
||||
const shuffle = usePlayerStore((s) => s.shuffle);
|
||||
const repeat = usePlayerStore((s) => s.repeat);
|
||||
@@ -165,6 +167,7 @@ export function NowPlayingOverlay() {
|
||||
const phonePresentation = getPhonePlaybackPresentation({
|
||||
track,
|
||||
playbackState,
|
||||
source: playbackSource,
|
||||
});
|
||||
const desktopPresentation = getDesktopPlaybackPresentation({
|
||||
connection: desktopConnection,
|
||||
|
||||
@@ -938,7 +938,12 @@ function QuickSearchPanel({
|
||||
0,
|
||||
context.findIndex((track) => track.path === result.track.path)
|
||||
);
|
||||
void playTracks(context.map(dbTrackToTrack), index);
|
||||
void playTracks(context.map(dbTrackToTrack), {
|
||||
startIndex: index,
|
||||
source: hasQuery
|
||||
? { kind: 'search', label: `Search: ${trimmedQuery}` }
|
||||
: { kind: 'recently-played', label: 'Recently Played' },
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user