import CoverArt from '@app/components/CoverArt' import GradientScrollView from '@app/components/GradientScrollView' import PressableOpacity from '@app/components/PressableOpacity' import { albumLists } from '@app/state/music' import colors from '@app/styles/colors' import font from '@app/styles/font' import { useNavigation } from '@react-navigation/native' import { useAtomValue } from 'jotai/utils' import React from 'react' import { ScrollView, StatusBar, StyleSheet, Text, View } from 'react-native' const Category: React.FC<{ name: string stateKey: string }> = ({ name, stateKey }) => { const navigation = useNavigation() const state = albumLists[stateKey] const list = useAtomValue(state.listAtom) const updating = useAtomValue(state.updatingAtom) const updateList = state.useUpdateList() return ( {name} {list.map(album => ( navigation.navigate('AlbumView', { id: album.id, title: album.name })} key={album.id} style={styles.item}> <>} coverArtUri={album.coverArtThumbUri} height={styles.item.width} width={styles.item.width} /> {album.name} {album.artist} ))} ) } const Home = () => ( ) const styles = StyleSheet.create({ scroll: { flex: 1, }, scrollContentContainer: { paddingTop: StatusBar.currentHeight, }, content: { paddingBottom: 20, }, category: { marginTop: 12, }, header: { fontFamily: font.bold, fontSize: 24, color: colors.text.primary, paddingHorizontal: 20, marginTop: 4, }, artScroll: { marginTop: 10, height: 190, }, artScrollContent: { paddingLeft: 20, }, item: { marginRight: 10, width: 150, alignItems: 'flex-start', }, title: { fontFamily: font.semiBold, fontSize: 13, color: colors.text.primary, marginTop: 4, }, subtitle: { fontFamily: font.regular, fontSize: 12, color: colors.text.secondary, }, }) export default Home