-
Notifications
You must be signed in to change notification settings - Fork 3k
/
Copy pathSubscriptionSettingsPage.tsx
59 lines (53 loc) · 2.39 KB
/
SubscriptionSettingsPage.tsx
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
import React, {useEffect} from 'react';
import {View} from 'react-native';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import * as Illustrations from '@components/Icon/Illustrations';
import ScreenWrapper from '@components/ScreenWrapper';
import ScrollView from '@components/ScrollView';
import useLocalize from '@hooks/useLocalize';
import useResponsiveLayout from '@hooks/useResponsiveLayout';
import useSubscriptionPlan from '@hooks/useSubscriptionPlan';
import useThemeStyles from '@hooks/useThemeStyles';
import useWindowDimensions from '@hooks/useWindowDimensions';
import Navigation from '@libs/Navigation/Navigation';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
import * as Subscription from '@userActions/Subscription';
import CardSection from './CardSection/CardSection';
import ReducedFunctionalityMessage from './ReducedFunctionalityMessage';
import SubscriptionDetails from './SubscriptionDetails';
import SubscriptionPlan from './SubscriptionPlan';
import SubscriptionSettings from './SubscriptionSettings';
function SubscriptionSettingsPage() {
const {shouldUseNarrowLayout} = useResponsiveLayout();
const {isSmallScreenWidth} = useWindowDimensions();
const {translate} = useLocalize();
const styles = useThemeStyles();
const subscriptionPlan = useSubscriptionPlan();
useEffect(() => {
Subscription.openSubscriptionPage();
}, []);
if (!subscriptionPlan) {
return <NotFoundPage />;
}
return (
<ScreenWrapper testID={SubscriptionSettingsPage.displayName}>
<HeaderWithBackButton
title={translate('workspace.common.subscription')}
onBackButtonPress={() => Navigation.goBack()}
shouldShowBackButton={shouldUseNarrowLayout}
icon={Illustrations.CreditCardsNew}
/>
<ScrollView style={styles.pt3}>
<View style={[styles.flex1, isSmallScreenWidth ? styles.workspaceSectionMobile : styles.workspaceSection]}>
<ReducedFunctionalityMessage />
<CardSection />
<SubscriptionPlan />
<SubscriptionDetails />
<SubscriptionSettings />
</View>
</ScrollView>
</ScreenWrapper>
);
}
SubscriptionSettingsPage.displayName = 'SubscriptionSettingsPage';
export default SubscriptionSettingsPage;