Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | /** * @fileoverview Carousel view component * @module CarouselView * @description Component that renders the carousel view, it allows users to see places in a carousel. * @requires react react-native * @requires ScrollView react-native * @requires RefreshControl react-native */ import React from 'react' import { RefreshControl, ScrollView } from 'react-native' import { Place } from '@global/types/Places' import Category from './Views/Category' interface CarouselViewProps { places: Place[] latestPlaces: Place[] // eslint-disable-next-line @typescript-eslint/no-explicit-any navigation: any getNearestPlaces: () => Place[] isLoading: boolean onRefresh: () => void } /** * @function CarouselView * @description Component that renders the carousel view. * @param places Places to display on the carousel * @param navigation Navigation object * @param getNearestPlaces Function to get the nearest places * @param isLoading Loading state of the carousel * @param onRefresh Function to refresh the carousel * @returns {React.JSX.Element} */ export default function CarouselView({ places, latestPlaces, navigation, getNearestPlaces, isLoading, onRefresh, }: CarouselViewProps): React.JSX.Element { return ( <ScrollView style={{ paddingLeft: 20 }} showsVerticalScrollIndicator={false} refreshControl={ <RefreshControl refreshing={isLoading} onRefresh={onRefresh} /> } > <Category text='Découvrir des musées' places={places} navigation={navigation} /> <Category text='Nouveaux lieux' places={latestPlaces} navigation={navigation} /> <Category text='Lieux à proximité' places={getNearestPlaces()} navigation={navigation} /> </ScrollView> ) } |