From 2c1a8afe86e94a931446d885973a22c128df13a0 Mon Sep 17 00:00:00 2001 From: Yashith Chanuka Date: Fri, 9 Dec 2022 21:24:09 +0530 Subject: [PATCH] feature: support added --- src/screens/support/Support.tsx | 76 +++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/screens/support/Support.tsx diff --git a/src/screens/support/Support.tsx b/src/screens/support/Support.tsx new file mode 100644 index 0000000..f6af65c --- /dev/null +++ b/src/screens/support/Support.tsx @@ -0,0 +1,76 @@ +import {useNavigation} from '@react-navigation/native'; +import {StackNavigationProp} from '@react-navigation/stack'; +import React from 'react'; +import {Linking, Platform, ScrollView, StyleSheet, View} from 'react-native'; +import {getVersion, getBuildNumber} from 'react-native-device-info'; +import {useSafeAreaInsets} from 'react-native-safe-area-context'; +import {Colors} from '../../Colors'; +import {Block} from '../../components/Button/Block'; +import {Header} from '../../components/Header'; +import {RenderMarkdown} from '../../components/RenderMarkdown'; +import {useUser} from '../../context/User'; +import {createSupportMailToLink} from '../../helpers/support'; +import {ArrowLeft} from '../../icons/ArrowLeft'; +import {HomeStackParamList} from '../../navigators/Home'; + +type NavigationProps = StackNavigationProp; + +export const Support = () => { + const {user} = useUser(); + const {bottom} = useSafeAreaInsets(); + const {goBack} = useNavigation(); + + const createSupportMail = async () => { + const version = getVersion(); + const buildNumber = getBuildNumber(); + + const OSName = Platform.OS; + const OSVersion = Platform.Version; + + const link = createSupportMailToLink( + user?.id, + user!.id, + version, + buildNumber, + OSName, + OSVersion, + ); + + Linking.openURL(link); + }; + + const paddingBottom = bottom > 0 ? bottom : 16; + + return ( + +
} onPressLeft={goBack} /> + + + + + + Contact support + + + ); +}; + +const styles = StyleSheet.create({ + root: { + flex: 1, + backgroundColor: Colors.Primary.White, + }, + + button: { + flexDirection: 'row', + backgroundColor: Colors.Primary.White, + padding: 16, + }, + + container: { + paddingVertical: 24, + paddingHorizontal: 24, + }, +});