import { useAtomValue } from 'jotai/utils'; import React from 'react'; import { StatusBar, StyleSheet, Text, useWindowDimensions, View } from 'react-native'; import FastImage from 'react-native-fast-image'; import { currentQueueNameAtom, currentTrackAtom } from '../state/trackplayer'; import text from '../styles/text'; import CoverArt from './common/CoverArt'; import ImageGradientBackground from './common/ImageGradientBackground'; const NowPlayingHeader = () => { const queueName = useAtomValue(currentQueueNameAtom); return ( {queueName} ); }; const headerStyles = StyleSheet.create({ container: { height: 60, flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', // backgroundColor: 'green', }, backArrow: { height: 24, width: 24, margin: 20, }, queueName: { ...text.paragraph, }, more: { height: 24, width: 24, margin: 20, }, }); const SongCoverArt = () => { const track = useAtomValue(currentTrackAtom); const layout = useWindowDimensions(); const size = layout.width - layout.width / 6; return ( ( Failed )} height={size} width={size} coverArtUri={track?.artwork as string} /> ); }; const coverArtStyles = StyleSheet.create({ container: { width: '100%', alignItems: 'center', marginTop: 20, }, }); const SongInfo = () => { const track = useAtomValue(currentTrackAtom); return ( {track?.title} {track?.artist} ); }; const infoStyles = StyleSheet.create({ container: { width: '100%', alignItems: 'center', marginTop: 20, paddingHorizontal: 20, }, title: { ...text.songListTitle, fontSize: 22, textAlign: 'center', }, artist: { ...text.songListSubtitle, fontSize: 14, textAlign: 'center', }, }); const NowPlayingLayout = () => { const track = useAtomValue(currentTrackAtom); return ( ); }; export default NowPlayingLayout;