2021-01-27 00:35:34 +01:00
|
|
|
import Icon from '@components/Icon'
|
|
|
|
import { MenuContainer, MenuRow } from '@components/Menu'
|
|
|
|
import { useNavigation } from '@react-navigation/native'
|
|
|
|
import { StyleConstants } from '@utils/styles/constants'
|
|
|
|
import { useTheme } from '@utils/styles/ThemeManager'
|
|
|
|
import * as Linking from 'expo-linking'
|
|
|
|
import * as StoreReview from 'expo-store-review'
|
|
|
|
import * as WebBrowser from 'expo-web-browser'
|
|
|
|
import React from 'react'
|
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
import { useSelector } from 'react-redux'
|
2022-11-17 21:48:22 +01:00
|
|
|
import { getInstanceActive, getInstanceVersion } from '@utils/slices/instancesSlice'
|
2022-02-10 22:42:46 +01:00
|
|
|
import { isDevelopment, isRelease } from '@utils/checkEnvironment'
|
2022-11-17 21:48:22 +01:00
|
|
|
import { Platform } from 'react-native'
|
|
|
|
import Constants from 'expo-constants'
|
|
|
|
import { getExpoToken } from '@utils/slices/appSlice'
|
2021-01-27 00:35:34 +01:00
|
|
|
|
|
|
|
const SettingsTooot: React.FC = () => {
|
2021-02-20 19:12:44 +01:00
|
|
|
const instanceActive = useSelector(getInstanceActive)
|
2021-08-29 15:25:38 +02:00
|
|
|
const navigation = useNavigation<any>()
|
2022-02-12 14:51:01 +01:00
|
|
|
const { colors } = useTheme()
|
2021-03-28 23:31:10 +02:00
|
|
|
const { t } = useTranslation('screenTabs')
|
2021-01-27 00:35:34 +01:00
|
|
|
|
2022-11-17 21:48:22 +01:00
|
|
|
const instanceVersion = useSelector(getInstanceVersion, () => true)
|
|
|
|
const expoToken = useSelector(getExpoToken)
|
|
|
|
|
2021-01-27 00:35:34 +01:00
|
|
|
return (
|
|
|
|
<MenuContainer>
|
2022-02-10 22:42:46 +01:00
|
|
|
<MenuRow
|
|
|
|
title={t('me.settings.feedback.heading')}
|
|
|
|
content={
|
2022-11-17 21:48:22 +01:00
|
|
|
<Icon name='MessageSquare' size={StyleConstants.Font.Size.M} color={colors.secondary} />
|
2022-02-10 22:42:46 +01:00
|
|
|
}
|
|
|
|
iconBack='ChevronRight'
|
2022-11-29 23:44:11 +01:00
|
|
|
onPress={() => Linking.openURL('https://feedback.tooot.app/feature-requests')}
|
2022-02-10 22:42:46 +01:00
|
|
|
/>
|
2021-01-27 00:35:34 +01:00
|
|
|
<MenuRow
|
2021-03-28 23:31:10 +02:00
|
|
|
title={t('me.settings.support.heading')}
|
2022-11-17 21:48:22 +01:00
|
|
|
content={<Icon name='Heart' size={StyleConstants.Font.Size.M} color={colors.red} />}
|
2021-01-27 00:35:34 +01:00
|
|
|
iconBack='ChevronRight'
|
2022-11-29 23:44:11 +01:00
|
|
|
onPress={() => Linking.openURL('https://www.buymeacoffee.com/xmflsct')}
|
2021-01-27 00:35:34 +01:00
|
|
|
/>
|
2022-02-10 22:42:46 +01:00
|
|
|
{isDevelopment || isRelease ? (
|
2021-01-31 03:09:35 +01:00
|
|
|
<MenuRow
|
2021-03-28 23:31:10 +02:00
|
|
|
title={t('me.settings.review.heading')}
|
2022-11-17 21:48:22 +01:00
|
|
|
content={<Icon name='Star' size={StyleConstants.Font.Size.M} color='#FF9500' />}
|
2021-01-31 03:09:35 +01:00
|
|
|
iconBack='ChevronRight'
|
2022-11-29 23:44:11 +01:00
|
|
|
onPress={() => StoreReview?.isAvailableAsync().then(() => StoreReview?.requestReview())}
|
2021-01-31 03:09:35 +01:00
|
|
|
/>
|
|
|
|
) : null}
|
2021-01-27 00:35:34 +01:00
|
|
|
<MenuRow
|
2021-03-28 23:31:10 +02:00
|
|
|
title={t('me.settings.contact.heading')}
|
2022-11-17 21:48:22 +01:00
|
|
|
content={<Icon name='Mail' size={StyleConstants.Font.Size.M} color={colors.secondary} />}
|
2021-01-27 00:35:34 +01:00
|
|
|
iconBack='ChevronRight'
|
|
|
|
onPress={() => {
|
2021-04-19 17:35:01 +02:00
|
|
|
if (instanceActive !== -1) {
|
2021-01-30 01:29:15 +01:00
|
|
|
navigation.navigate('Screen-Compose', {
|
2021-01-27 00:35:34 +01:00
|
|
|
type: 'conversation',
|
2022-11-17 21:48:22 +01:00
|
|
|
accts: ['tooot@xmflsct.com'],
|
|
|
|
text:
|
|
|
|
'[' +
|
|
|
|
`${Platform.OS}/${Platform.Version}` +
|
|
|
|
' - ' +
|
|
|
|
(Constants.expoConfig?.version ? `t/${Constants.expoConfig?.version}` : '') +
|
|
|
|
' - ' +
|
|
|
|
(instanceVersion ? `m/${instanceVersion}` : '') +
|
|
|
|
' - ' +
|
|
|
|
(expoToken
|
|
|
|
? `e/${expoToken.replace(/^ExponentPushToken\[/, '').replace(/\]$/, '')}`
|
|
|
|
: '') +
|
|
|
|
']'
|
2021-01-27 00:35:34 +01:00
|
|
|
})
|
|
|
|
} else {
|
|
|
|
WebBrowser.openBrowserAsync('https://social.xmflsct.com/@tooot')
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
</MenuContainer>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default SettingsTooot
|