import { useNavigation } from '@react-navigation/native' import { useAtomValue } from 'jotai/utils' import React, { useEffect } from 'react' import { Pressable } from 'react-native' import { Text } from 'react-native' import { Artist } from '@app/models/music' import { artistsAtom, artistsUpdatingAtom, useUpdateArtists } from '@app/state/music' import textStyles from '@app/styles/text' import ArtistArt from '@app/components/ArtistArt' import GradientFlatList from '@app/components/GradientFlatList' const ArtistItem: React.FC<{ item: Artist }> = ({ item }) => { const navigation = useNavigation() return ( navigation.navigate('ArtistView', { id: item.id, title: item.name })}> {item.name} ) } const ArtistItemLoader: React.FC<{ item: Artist }> = props => ( Loading...}> ) const ArtistsList = () => { const artists = useAtomValue(artistsAtom) const updating = useAtomValue(artistsUpdatingAtom) const updateArtists = useUpdateArtists() useEffect(() => { if (artists.length === 0) { updateArtists() } }) const renderItem: React.FC<{ item: Artist }> = ({ item }) => return ( item.id} onRefresh={updateArtists} refreshing={updating} overScrollMode="never" /> ) } const ArtistsTab = () => export default ArtistsTab