update now playing screen

This commit is contained in:
Boof2015
2026-07-12 16:53:40 -04:00
parent 804e47a7ca
commit 34e9cde5bc
26 changed files with 1482 additions and 447 deletions
+8 -4
View File
@@ -65,19 +65,23 @@ export default function ArtistScreen() {
const styles = useStyles();
const colors = useColors();
const router = useRouter();
const { name = 'Artist' } = useLocalSearchParams<{ name: string }>();
const { name = 'Artist', credit } = useLocalSearchParams<{
name: string;
credit?: string;
}>();
const handleBack = useLibraryDetailBack();
const insets = useSafeAreaInsets();
const { scrollY, heroFaded, collapsed, onScroll, scrollEventThrottle, expandedHeight, onHeroBlockLayout } =
useDetailCollapse();
const allTracks = useLibraryStore((s) => s.tracks);
const groupingMode = useSettingsStore((s) => s.artistGroupingMode);
const detailGroupingMode = credit === '1' ? 'astra' : groupingMode;
const currentPath = usePlayerStore((s) => s.currentTrack?.path);
const [actionTrack, setActionTrack] = useState<DbTrack | null>(null);
const detail = useMemo(
() => buildArtistDetail(allTracks, name, groupingMode),
[allTracks, name, groupingMode]
() => buildArtistDetail(allTracks, name, detailGroupingMode),
[allTracks, name, detailGroupingMode]
);
const listItems = useMemo(() => buildListItems(detail), [detail]);
@@ -96,7 +100,7 @@ export default function ArtistScreen() {
const openSection = (target: ArtistSectionTarget) => {
router.push({
pathname: `/library/artist/[name]/${target}`,
params: { name },
params: { name, ...(credit === '1' ? { credit: '1' } : {}) },
});
};
@@ -21,13 +21,17 @@ export default function ArtistAlbumsScreen() {
const colors = useColors();
const ripple = useRipple();
const router = useRouter();
const { name = 'Artist' } = useLocalSearchParams<{ name: string }>();
const { name = 'Artist', credit } = useLocalSearchParams<{
name: string;
credit?: string;
}>();
const allTracks = useLibraryStore((s) => s.tracks);
const groupingMode = useSettingsStore((s) => s.artistGroupingMode);
const detailGroupingMode = credit === '1' ? 'astra' : groupingMode;
const detail = useMemo(
() => buildArtistDetail(allTracks, name, groupingMode),
[allTracks, name, groupingMode]
() => buildArtistDetail(allTracks, name, detailGroupingMode),
[allTracks, name, detailGroupingMode]
);
return (
@@ -26,15 +26,19 @@ export default function ArtistAppearancesScreen() {
const colors = useColors();
const ripple = useRipple();
const router = useRouter();
const { name = 'Artist' } = useLocalSearchParams<{ name: string }>();
const { name = 'Artist', credit } = useLocalSearchParams<{
name: string;
credit?: string;
}>();
const allTracks = useLibraryStore((s) => s.tracks);
const groupingMode = useSettingsStore((s) => s.artistGroupingMode);
const detailGroupingMode = credit === '1' ? 'astra' : groupingMode;
const currentPath = usePlayerStore((s) => s.currentTrack?.path);
const [actionTrack, setActionTrack] = useState<DbTrack | null>(null);
const detail = useMemo(
() => buildArtistDetail(allTracks, name, groupingMode),
[allTracks, name, groupingMode]
() => buildArtistDetail(allTracks, name, detailGroupingMode),
[allTracks, name, detailGroupingMode]
);
const tracks = detail.appearanceTracks;
@@ -26,15 +26,19 @@ export default function ArtistSongsScreen() {
const colors = useColors();
const ripple = useRipple();
const router = useRouter();
const { name = 'Artist' } = useLocalSearchParams<{ name: string }>();
const { name = 'Artist', credit } = useLocalSearchParams<{
name: string;
credit?: string;
}>();
const allTracks = useLibraryStore((s) => s.tracks);
const groupingMode = useSettingsStore((s) => s.artistGroupingMode);
const detailGroupingMode = credit === '1' ? 'astra' : groupingMode;
const currentPath = usePlayerStore((s) => s.currentTrack?.path);
const [actionTrack, setActionTrack] = useState<DbTrack | null>(null);
const detail = useMemo(
() => buildArtistDetail(allTracks, name, groupingMode),
[allTracks, name, groupingMode]
() => buildArtistDetail(allTracks, name, detailGroupingMode),
[allTracks, name, detailGroupingMode]
);
const tracks = detail.songTracks;