Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VIP-Travel] Create a New Travel Page and Terms and Conditions Modal (NewDot) #41493

Merged
merged 54 commits into from
May 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
57e6306
Add initial config for MyTripsPage
WojtekBoman Mar 4, 2024
3e95765
ManageTrips init
smelaa Mar 4, 2024
011d227
Add TravelMenu page
WojtekBoman Mar 4, 2024
0bf7916
Add suitcase icon to Expensicons
WojtekBoman Mar 5, 2024
d2cd60c
Add simple illustrations for MyTripsPage
WojtekBoman Mar 5, 2024
a467a74
Remove TravelMenuProps
WojtekBoman Mar 5, 2024
38e6ca2
Merge pull request #79 from software-mansion-labs/travel/travel-page-lhn
WojtekBoman Mar 5, 2024
4cb1120
Add fixes to travel page
WojtekBoman Mar 5, 2024
ec06f16
Add main illustration
smelaa Mar 6, 2024
bb77b15
Add beta visibility
smelaa Mar 7, 2024
ff03721
Wrap ManageTrips in FullPageNotFoundView
smelaa Mar 7, 2024
7c30e70
Refactor MyTripsPage
WojtekBoman Mar 8, 2024
afd404c
add base terms and conditions modal
cdOut Mar 14, 2024
f3de2b8
Merge branch 'travel/travel-page' into travel/terms-and-conditions
cdOut Mar 18, 2024
f74e2d2
Add es translations for TravelTerms page
WojtekBoman Mar 29, 2024
90071d6
Merge branch 'main' into travel/terms-and-conditions
smelaa Apr 9, 2024
c261f00
Fixes after merging with main
smelaa Apr 9, 2024
f9316b2
Merge branch 'main' into travel/travel-page
smelaa Apr 9, 2024
5ef17d9
Fixes after matching with main
smelaa Apr 9, 2024
13c94bb
Merge branch 'travel/travel-page' into travel/terms-and-conditions
smelaa Apr 9, 2024
fa4fe36
Fixes after merging with travel/travel-page
smelaa Apr 9, 2024
ce7a0f5
Merge branch 'main' into travel/travel-page
smelaa Apr 9, 2024
bc74353
Merge branch 'travel/travel-page' into travel/terms-and-conditions
smelaa Apr 9, 2024
abbe116
Text changes
smelaa Apr 10, 2024
00ddf0b
Merge branch 'travel/travel-page' into travel/terms-and-conditions
smelaa Apr 10, 2024
3bfea69
Fix a typo
smelaa Apr 10, 2024
d8a8299
Merge branch 'main' into travel/terms-and-conditions
smelaa Apr 18, 2024
d0a32a6
Address design feedback
smelaa Apr 18, 2024
24835cc
Fix spotnana travel beta
smelaa Apr 18, 2024
0932900
Change card content padding
smelaa Apr 18, 2024
0c04a9e
add routing, wire up terms
BrtqKr Apr 23, 2024
dc1a4bd
Merge remote-tracking branch 'origin/main' into travel/terms-and-cond…
BrtqKr Apr 23, 2024
c040d3d
Change textcontent
smelaa Apr 23, 2024
aea71e4
wire up accept terms wip
BrtqKr Apr 25, 2024
3eff605
cleanup
BrtqKr Apr 25, 2024
9baa515
Merge remote-tracking branch 'origin/main' into travel/terms-and-cond…
BrtqKr Apr 26, 2024
b96d89a
fix spanish translations
cdOut Apr 29, 2024
1ec2fe5
Merge branch 'main' into travel/terms-and-conditions
cdOut Apr 29, 2024
9def070
fix lint issues
cdOut Apr 29, 2024
27ee79f
fix prettier
cdOut Apr 29, 2024
c77d1d4
fix comments and type requirements for travelSettings
cdOut Apr 29, 2024
5a21fd5
Merge branch 'main' into travel/terms-and-conditions
WojtekBoman Apr 30, 2024
89ec881
Update margin in TravelTerms page
WojtekBoman Apr 30, 2024
e05bfab
Fix padding in TravelTerms
WojtekBoman Apr 30, 2024
2aef4fd
Refactor comment in BottomTabBar
WojtekBoman Apr 30, 2024
d7b9716
Add getTripIllustrationStyle
WojtekBoman Apr 30, 2024
76cc3e3
Fix lint
WojtekBoman Apr 30, 2024
bb8ad52
Merge pull request #12 from software-mansion-labs/travel/terms-and-co…
rushatgabhane May 2, 2024
1609ab3
add url to const
rushatgabhane May 2, 2024
1d7660b
lang
rushatgabhane May 2, 2024
8edd0ce
use const
rushatgabhane May 2, 2024
30cc4ec
change icon size to 48 x 48
rushatgabhane May 2, 2024
c5b5076
rename to menuIconSize
rushatgabhane May 2, 2024
b550994
update icons
rushatgabhane May 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/animations/Plane.lottie
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/images/suitcase.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/CONST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,7 @@ const CONST = {
ONFIDO_PRIVACY_POLICY_URL: 'https://onfido.com/privacy/',
ONFIDO_TERMS_OF_SERVICE_URL: 'https://onfido.com/terms-of-service/',
LIST_OF_RESTRICTED_BUSINESSES: 'https://community.expensify.com/discussion/6191/list-of-restricted-businesses',
TRAVEL_TERMS_URL: `${USE_EXPENSIFY_URL}/travelterms`,

// Use Environment.getEnvironmentURL to get the complete URL with port number
DEV_NEW_EXPENSIFY_URL: 'https://dev.new.expensify.com:',
Expand Down
4 changes: 3 additions & 1 deletion src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -754,8 +754,10 @@ const ROUTES = {
route: 'referral/:contentType',
getRoute: (contentType: string, backTo?: string) => getUrlWithBackToParam(`referral/${contentType}`, backTo),
},
TRACK_TRAINING_MODAL: 'track-training',
PROCESS_MONEY_REQUEST_HOLD: 'hold-expense-educational',
TRAVEL_MY_TRIPS: 'travel',
TRAVEL_TCS: 'travel/terms',
TRACK_TRAINING_MODAL: 'track-training',
ONBOARDING_ROOT: 'onboarding',
ONBOARDING_PERSONAL_DETAILS: 'onboarding/personal-details',
ONBOARDING_WORK: 'onboarding/work',
Expand Down
5 changes: 5 additions & 0 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ const SCREENS = {
CONNECTION_COMPLETE: 'ConnectionComplete',
UNLINK_LOGIN: 'UnlinkLogin',
SETTINGS_CENTRAL_PANE: 'SettingsCentralPane',
TRAVEL: {
MY_TRIPS: 'Travel_MyTrips',
TCS: 'Travel_TCS',
},
WORKSPACES_CENTRAL_PANE: 'WorkspacesCentralPane',
SEARCH: {
CENTRAL_PANE: 'Search_Central_Pane',
Expand Down Expand Up @@ -133,6 +137,7 @@ const SCREENS = {
ROOM_INVITE: 'RoomInvite',
REFERRAL: 'Referral',
PROCESS_MONEY_REQUEST_HOLD: 'ProcessMoneyRequestHold',
TRAVEL: 'Travel',
SEARCH_REPORT: 'SearchReport',
},
ONBOARDING_MODAL: {
Expand Down
16 changes: 13 additions & 3 deletions src/components/FeatureList.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import {View} from 'react-native';
import type {StyleProp, ViewStyle} from 'react-native';
import type {StyleProp, TextStyle, ViewStyle} from 'react-native';
import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import variables from '@styles/variables';
Expand Down Expand Up @@ -43,6 +43,12 @@ type FeatureListProps = {

/** The background color to apply in the upper half of the screen. */
illustrationBackgroundColor?: string;

/** The style used for the title */
titleStyles?: StyleProp<TextStyle>;

/** Padding for content on large screens */
contentPaddingOnLargeScreens?: {padding: number};
};

function FeatureList({
Expand All @@ -55,6 +61,8 @@ function FeatureList({
illustration,
illustrationStyle,
illustrationBackgroundColor,
titleStyles,
contentPaddingOnLargeScreens,
}: FeatureListProps) {
const styles = useThemeStyles();
const {translate} = useLocalize();
Expand All @@ -68,6 +76,8 @@ function FeatureList({
illustration={illustration}
illustrationBackgroundColor={illustrationBackgroundColor}
illustrationStyle={illustrationStyle}
titleStyles={titleStyles}
contentPaddingOnLargeScreens={contentPaddingOnLargeScreens}
>
<View style={styles.flex1}>
<View style={[styles.flex1, styles.flexRow, styles.flexWrap, styles.rowGap4, styles.pv4, styles.pl1]}>
Expand All @@ -79,8 +89,8 @@ function FeatureList({
<MenuItem
title={translate(translationKey)}
icon={icon}
iconWidth={variables.avatarSizeMedium}
iconHeight={variables.avatarSizeMedium}
iconWidth={variables.menuIconSize}
iconHeight={variables.menuIconSize}
interactive={false}
displayInDefaultIconColor
wrapperStyle={[styles.p0, styles.cursorAuto]}
Expand Down
2 changes: 2 additions & 0 deletions src/components/Icon/Expensicons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ import Podcast from '@assets/images/social-podcast.svg';
import Twitter from '@assets/images/social-twitter.svg';
import Youtube from '@assets/images/social-youtube.svg';
import Stopwatch from '@assets/images/stopwatch.svg';
import Suitcase from '@assets/images/suitcase.svg';
import Sync from '@assets/images/sync.svg';
import Tag from '@assets/images/tag.svg';
import Task from '@assets/images/task.svg';
Expand Down Expand Up @@ -302,6 +303,7 @@ export {
Send,
Shield,
Stopwatch,
Suitcase,
Sync,
Task,
ThumbsUp,
Expand Down
2 changes: 2 additions & 0 deletions src/components/Icon/Illustrations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import ThreeLeggedLaptopWoman from '@assets/images/product-illustrations/three_l
import ToddBehindCloud from '@assets/images/product-illustrations/todd-behind-cloud.svg';
import Abacus from '@assets/images/simple-illustrations/simple-illustration__abacus.svg';
import Accounting from '@assets/images/simple-illustrations/simple-illustration__accounting.svg';
import Alert from '@assets/images/simple-illustrations/simple-illustration__alert.svg';
import Approval from '@assets/images/simple-illustrations/simple-illustration__approval.svg';
import BankArrow from '@assets/images/simple-illustrations/simple-illustration__bank-arrow.svg';
import BigRocket from '@assets/images/simple-illustrations/simple-illustration__bigrocket.svg';
Expand Down Expand Up @@ -160,6 +161,7 @@ export {
Workflows,
ThreeLeggedLaptopWoman,
House,
Alert,
TeachersUnite,
Abacus,
Binoculars,
Expand Down
5 changes: 5 additions & 0 deletions src/components/LottieAnimations/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ const DotLottieAnimations = {
w: 200,
h: 120,
},
Plane: {
file: require('@assets/animations/Plane.lottie'),
w: 180,
h: 200,
},
} satisfies Record<string, DotLottieAnimation>;

export default DotLottieAnimations;
6 changes: 5 additions & 1 deletion src/components/Section/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ type SectionProps = ChildrenProps & {
/** Styles to apply to illustration component */
illustrationStyle?: StyleProp<ViewStyle>;

/** Padding for content on large screens */
contentPaddingOnLargeScreens?: {padding: number};

/** Overlay content to display on top of animation */
overlayContent?: () => ReactNode;

Expand All @@ -92,6 +95,7 @@ function Section({
illustration,
illustrationBackgroundColor,
illustrationStyle,
contentPaddingOnLargeScreens,
overlayContent,
renderSubtitle,
}: SectionProps) {
Expand Down Expand Up @@ -124,7 +128,7 @@ function Section({
{overlayContent?.()}
</View>
)}
<View style={[styles.w100, isCentralPane && (isSmallScreenWidth ? styles.p5 : styles.p8)]}>
<View style={[styles.w100, isCentralPane && (isSmallScreenWidth ? styles.p5 : contentPaddingOnLargeScreens ?? styles.p8)]}>
<View style={[styles.flexRow, styles.alignItemsCenter, styles.w100, cardLayout === CARD_LAYOUT.ICON_ON_TOP && styles.mh1]}>
{cardLayout === CARD_LAYOUT.ICON_ON_LEFT && (
<IconSection
Expand Down
22 changes: 22 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1837,6 +1837,28 @@ export default {
session: {
offlineMessageRetry: "Looks like you're offline. Please check your connection and try again.",
},
travel: {
header: 'Book travel',
title: 'Travel smart',
subtitle: 'Use Expensify Travel to get the best travel offers and manage all your business expenses in one place.',
features: {
saveMoney: 'Save money on your bookings',
alerts: 'Get realtime updates and alerts',
},
bookTravel: 'Book travel',
termsAndConditions: {
header: 'Before we continue...',
title: 'Please read the Terms & Conditions for travel',
subtitle: 'To enable travel on your workspace you must agree to our ',
termsconditions: 'terms & conditions',
travelTermsAndConditions: 'terms & conditions',
helpDocIntro: 'Check out this ',
helpDocOutro: 'for more information or reach out to Concierge or your Account Manager.',
helpDoc: 'Help Doc',
agree: 'I agree to the travel ',
error: 'You must accept the Terms & Conditions for travel to continue',
},
},
workspace: {
common: {
card: 'Cards',
Expand Down
22 changes: 22 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1861,6 +1861,28 @@ export default {
session: {
offlineMessageRetry: 'Parece que estás desconectado. Por favor, comprueba tu conexión e inténtalo de nuevo.',
},
travel: {
header: 'Reservar viajes',
title: 'Viaja de forma inteligente',
subtitle: 'Utiliza Expensify Travel para obtener las mejores ofertas de viaje y gestionar todos los gastos de tu negocio en un solo lugar.',
features: {
saveMoney: 'Ahorra dinero en tus reservas',
alerts: 'Obtén actualizaciones y alertas en tiempo real',
},
bookTravel: 'Reservar viajes',
termsAndConditions: {
header: 'Antes de continuar...',
title: 'Por favor, lee los Términos y condiciones para reservar viajes',
subtitle: 'Para permitir la opción de reservar viajes en su espacio de trabajo debe aceptar nuestros ',
termsconditions: 'términos y condiciones',
travelTermsAndConditions: 'términos y condiciones de viaje',
helpDocIntro: 'Consulta este ',
helpDocOutro: 'para obtener más información o comunícate con Concierge o tu gestor de cuentas.',
helpDoc: 'documento de ayuda',
agree: 'Acepto los ',
error: 'Debes aceptar los Términos y condiciones para que el viaje continúe',
},
},
workspace: {
common: {
card: 'Tarjetas',
Expand Down
2 changes: 2 additions & 0 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ const WRITE_COMMANDS = {
CATEGORIZE_TRACKED_EXPENSE: 'CategorizeTrackedExpense',
SHARE_TRACKED_EXPENSE: 'ShareTrackedExpense',
LEAVE_POLICY: 'LeavePolicy',
ACCEPT_SPOTNANA_TERMS: 'AcceptSpotnanaTerms',
SEND_INVOICE: 'SendInvoice',
} as const;

Expand Down Expand Up @@ -427,6 +428,7 @@ type WriteCommandParameters = {
[WRITE_COMMANDS.CATEGORIZE_TRACKED_EXPENSE]: Parameters.CategorizeTrackedExpenseParams;
[WRITE_COMMANDS.SHARE_TRACKED_EXPENSE]: Parameters.ShareTrackedExpenseParams;
[WRITE_COMMANDS.LEAVE_POLICY]: Parameters.LeavePolicyParams;
[WRITE_COMMANDS.ACCEPT_SPOTNANA_TERMS]: EmptyObject;
[WRITE_COMMANDS.SEND_INVOICE]: Parameters.SendInvoiceParams;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import type {
SplitDetailsNavigatorParamList,
TaskDetailsNavigatorParamList,
TeachersUniteNavigatorParamList,
TravelNavigatorParamList,
WalletStatementNavigatorParamList,
WorkspaceSwitcherNavigatorParamList,
} from '@navigation/types';
Expand Down Expand Up @@ -96,6 +97,11 @@ const MoneyRequestModalStackNavigator = createModalStackNavigator<MoneyRequestNa
[SCREENS.MONEY_REQUEST.STATE_SELECTOR]: () => require('../../../../pages/settings/Profile/PersonalDetails/StateSelectionPage').default as React.ComponentType,
});

const TravelModalStackNavigator = createModalStackNavigator<TravelNavigatorParamList>({
[SCREENS.TRAVEL.MY_TRIPS]: () => require('../../../../pages/Travel/MyTripsPage').default as React.ComponentType,
[SCREENS.TRAVEL.TCS]: () => require('../../../../pages/Travel/TravelTerms').default as React.ComponentType,
});

const SplitDetailsModalStackNavigator = createModalStackNavigator<SplitDetailsNavigatorParamList>({
[SCREENS.SPLIT_DETAILS.ROOT]: () => require('../../../../pages/iou/SplitBillDetailsPage').default as React.ComponentType,
});
Expand Down Expand Up @@ -364,6 +370,7 @@ export {
PrivateNotesModalStackNavigator,
ProfileModalStackNavigator,
ReferralModalStackNavigator,
TravelModalStackNavigator,
WorkspaceSwitcherModalStackNavigator,
ReimbursementAccountModalStackNavigator,
ReportDetailsModalStackNavigator,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ function RightModalNavigator({navigation}: RightModalNavigatorProps) {
name="ProcessMoneyRequestHold"
component={ModalStackNavigators.ProcessMoneyRequestHoldStackNavigator}
/>
<Stack.Screen
name={SCREENS.RIGHT_MODAL.TRAVEL}
component={ModalStackNavigators.TravelModalStackNavigator}
/>
<Stack.Screen
name={SCREENS.RIGHT_MODAL.SEARCH_REPORT}
component={ModalStackNavigators.SearchReportModalStackNavigator}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ function BottomTabBar({isLoadingApp = false}: PurposeForUsingExpensifyModalProps
const navigationState = navigation.getState() as State<RootStackParamList> | undefined;
const routes = navigationState?.routes;
const currentRoute = routes?.[navigationState?.index ?? 0];

// When we are redirected to the Settings tab from the OldDot, we don't want to call the Welcome.show() method.
// To prevent this, the value of the bottomTabRoute?.name is checked here
if (Boolean(currentRoute && currentRoute.name !== NAVIGATORS.BOTTOM_TAB_NAVIGATOR && currentRoute.name !== NAVIGATORS.CENTRAL_PANE_NAVIGATOR) || Session.isAnonymousUser()) {
return;
}
Expand Down
6 changes: 6 additions & 0 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,12 @@ const config: LinkingOptions<RootStackParamList>['config'] = {
[SCREENS.PROCESS_MONEY_REQUEST_HOLD_ROOT]: ROUTES.PROCESS_MONEY_REQUEST_HOLD,
},
},
[SCREENS.RIGHT_MODAL.TRAVEL]: {
screens: {
[SCREENS.TRAVEL.MY_TRIPS]: ROUTES.TRAVEL_MY_TRIPS,
[SCREENS.TRAVEL.TCS]: ROUTES.TRAVEL_TCS,
},
},
[SCREENS.RIGHT_MODAL.SEARCH_REPORT]: {
screens: {
[SCREENS.SEARCH.REPORT_RHP]: ROUTES.SEARCH_REPORT.route,
Expand Down
7 changes: 7 additions & 0 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -707,6 +707,12 @@ type RightModalNavigatorParamList = {
[SCREENS.RIGHT_MODAL.PROCESS_MONEY_REQUEST_HOLD]: NavigatorScreenParams<ProcessMoneyRequestHoldNavigatorParamList>;
[SCREENS.RIGHT_MODAL.REFERRAL]: NavigatorScreenParams<ReferralDetailsNavigatorParamList>;
[SCREENS.RIGHT_MODAL.PRIVATE_NOTES]: NavigatorScreenParams<PrivateNotesNavigatorParamList>;
[SCREENS.RIGHT_MODAL.TRAVEL]: NavigatorScreenParams<TravelNavigatorParamList>;
[SCREENS.RIGHT_MODAL.SEARCH_REPORT]: NavigatorScreenParams<SearchReportParamList>;
};

type TravelNavigatorParamList = {
[SCREENS.TRAVEL.MY_TRIPS]: undefined;
[SCREENS.RIGHT_MODAL.SEARCH_REPORT]: NavigatorScreenParams<SearchReportParamList>;
};

Expand Down Expand Up @@ -931,6 +937,7 @@ export type {
State,
StateOrRoute,
SwitchPolicyIDParams,
TravelNavigatorParamList,
TaskDetailsNavigatorParamList,
TeachersUniteNavigatorParamList,
WalletStatementNavigatorParamList,
Expand Down
26 changes: 26 additions & 0 deletions src/libs/actions/Travel.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import type {OnyxUpdate} from 'react-native-onyx';
import * as API from '@libs/API';
import {WRITE_COMMANDS} from '@libs/API/types';
import ONYXKEYS from '@src/ONYXKEYS';

/**
* Accept Spotnana terms and conditions to receive a proper token used for authenticating further actions
*/
function acceptSpotnanaTerms() {
const successData: OnyxUpdate[] = [
{
onyxMethod: 'merge',
key: ONYXKEYS.ACCOUNT,
value: {
travelSettings: {
hasAcceptedTerms: true,
},
},
},
];

API.write(WRITE_COMMANDS.ACCEPT_SPOTNANA_TERMS, {}, {successData});
}

// eslint-disable-next-line import/prefer-default-export
export {acceptSpotnanaTerms};
4 changes: 2 additions & 2 deletions src/pages/OnboardingPurpose/BaseOnboardingPurpose.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ function BaseOnboardingPurpose({shouldUseNativeStyles, shouldEnableMaxHeight, on
title: translate(translationKey),
icon: menuIcons[choice],
displayInDefaultIconColor: true,
iconWidth: variables.purposeMenuIconSize,
iconHeight: variables.purposeMenuIconSize,
iconWidth: variables.menuIconSize,
iconHeight: variables.menuIconSize,
iconStyles: [styles.mh3],
wrapperStyle: [styles.purposeMenuItem, isSelected && styles.purposeMenuItemSelected],
hoverAndPressStyle: [styles.purposeMenuItemSelected],
Expand Down
Loading
Loading