// Dependencies import React from 'react'; import { View, FlatList, ViewStyle, StyleProp, RefreshControl, } from 'react-native'; // Dto import { Channel } from '@src/chatClient/dto/channel'; // Components import ChannelItem from './ChannelItem'; import NoItems from '../NoItems'; // Hoooks import * as ChannelHooks from '../../hooks/channels'; // Styles import styles from './styles'; /** * Props definition of {@link ChannelList} * @interface ChannelListProps */ export interface ChannelListProps { containerStyle?: StyleProp; } /** * Channel list component. * @param props The properties of component. * @returns The react component. */ export function ChannelList(props: ChannelListProps): React.ReactElement { const { containerStyle } = props; const { response, loading, fetch } = ChannelHooks.useChannels(); return ( } data={response?.items} renderItem={({ item }) => } keyExtractor={(channel: Channel) => channel.id} showsVerticalScrollIndicator={false} contentContainerStyle={styles.contentContainer} ListEmptyComponent={} /> ); } export default ChannelList;