tooot/src/screens/Me/Root/Collections.tsx

67 lines
2.0 KiB
TypeScript
Raw Normal View History

2021-01-19 01:13:45 +01:00
import { MenuContainer, MenuRow } from '@components/Menu'
import { useNavigation } from '@react-navigation/native'
2021-01-19 01:13:45 +01:00
import { useAnnouncementQuery } from '@utils/queryHooks/announcement'
2020-12-23 15:57:20 +01:00
import React, { useMemo } from 'react'
import { useTranslation } from 'react-i18next'
2020-11-29 18:08:31 +01:00
const Collections: React.FC = () => {
const { t } = useTranslation('meRoot')
const navigation = useNavigation()
2020-11-22 00:46:23 +01:00
2021-01-11 21:36:57 +01:00
const { data, isFetching } = useAnnouncementQuery({ showAll: true })
2020-12-23 15:57:20 +01:00
const announcementContent = useMemo(() => {
if (data) {
const amount = data.filter(announcement => !announcement.read).length
if (amount) {
2021-01-19 01:13:45 +01:00
return t('content.collections.announcements.content.unread', { amount })
2020-12-23 15:57:20 +01:00
} else {
2021-01-19 01:13:45 +01:00
return t('content.collections.announcements.content.read')
2020-12-23 15:57:20 +01:00
}
}
}, [data])
2020-11-22 00:46:23 +01:00
return (
<MenuContainer>
2020-12-03 01:28:56 +01:00
<MenuRow
iconFront='Mail'
iconBack='ChevronRight'
2020-11-29 18:08:31 +01:00
title={t('content.collections.conversations')}
onPress={() => navigation.navigate('Screen-Me-Conversations')}
/>
2020-12-03 01:28:56 +01:00
<MenuRow
iconFront='Bookmark'
iconBack='ChevronRight'
2020-11-29 18:08:31 +01:00
title={t('content.collections.bookmarks')}
onPress={() => navigation.navigate('Screen-Me-Bookmarks')}
/>
2020-12-03 01:28:56 +01:00
<MenuRow
iconFront='Star'
iconBack='ChevronRight'
2020-11-29 18:08:31 +01:00
title={t('content.collections.favourites')}
onPress={() => navigation.navigate('Screen-Me-Favourites')}
/>
2020-12-03 01:28:56 +01:00
<MenuRow
iconFront='List'
iconBack='ChevronRight'
2020-11-29 18:08:31 +01:00
title={t('content.collections.lists')}
onPress={() => navigation.navigate('Screen-Me-Lists')}
/>
2020-12-23 15:57:20 +01:00
<MenuRow
iconFront='Clipboard'
iconBack='ChevronRight'
2021-01-19 01:13:45 +01:00
title={t('content.collections.announcements.heading')}
2020-12-23 15:57:20 +01:00
content={announcementContent}
2020-12-27 00:55:22 +01:00
loading={isFetching}
2020-12-23 15:57:20 +01:00
onPress={() =>
data &&
data.length &&
navigation.navigate('Screen-Shared-Announcements', { showAll: true })
}
/>
2020-11-22 00:46:23 +01:00
</MenuContainer>
)
}
2020-11-29 18:08:31 +01:00
export default Collections