Highlight the selected genre

This commit is contained in:
Mosh Hamedani 2023-03-02 09:34:31 -08:00
parent 2b26f7d1f4
commit 7df3a833d9
2 changed files with 4 additions and 3 deletions

View file

@ -24,7 +24,7 @@ function App() {
</GridItem> </GridItem>
<Show above="lg"> <Show above="lg">
<GridItem area="aside" paddingX={5}> <GridItem area="aside" paddingX={5}>
<GenreList onSelectGenre={(genre) => setSelectedGenre(genre)} /> <GenreList selectedGenre={selectedGenre} onSelectGenre={(genre) => setSelectedGenre(genre)} />
</GridItem> </GridItem>
</Show> </Show>
<GridItem area="main"> <GridItem area="main">

View file

@ -4,9 +4,10 @@ import getCroppedImageUrl from "../services/image-url";
interface Props { interface Props {
onSelectGenre: (genre: Genre) => void; onSelectGenre: (genre: Genre) => void;
selectedGenre: Genre | null;
} }
const GenreList = ({ onSelectGenre }: Props) => { const GenreList = ({ selectedGenre, onSelectGenre }: Props) => {
const { data, isLoading, error } = useGenres(); const { data, isLoading, error } = useGenres();
if (error) return null; if (error) return null;
@ -23,7 +24,7 @@ const GenreList = ({ onSelectGenre }: Props) => {
borderRadius={8} borderRadius={8}
src={getCroppedImageUrl(genre.image_background)} src={getCroppedImageUrl(genre.image_background)}
/> />
<Button onClick={() => onSelectGenre(genre)} fontSize='lg' variant='link'>{genre.name}</Button> <Button fontWeight={genre.id === selectedGenre?.id ? 'bold' : 'normal'} onClick={() => onSelectGenre(genre)} fontSize='lg' variant='link'>{genre.name}</Button>
</HStack> </HStack>
</ListItem> </ListItem>
))} ))}