Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 8 additions & 8 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,14 @@ const DYNAMIC_ROUTES = {
path: 'imported',
entryScreens: [SCREENS.WORKSPACE.CATEGORIES],
},
WORKSPACE_CATEGORIES_SETTINGS: {
path: 'categories-settings',
entryScreens: [SCREENS.WORKSPACE.CATEGORIES],
},
WORKSPACE_CATEGORY_CREATE: {
path: 'category-new',
entryScreens: [SCREENS.WORKSPACE.CATEGORIES],
},
SPEND_CATEGORY_SELECTOR: {
path: 'spend-category-selector/:groupID',
entryScreens: [SCREENS.WORKSPACE.CATEGORIES_SETTINGS, SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORIES_SETTINGS],
Expand Down Expand Up @@ -2361,14 +2369,6 @@ const ROUTES = {
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
getRoute: (backTo?: string) => getUrlWithBackToParam(`workspaces/pay-and-downgrade` as const, backTo),
},
WORKSPACE_CATEGORIES_SETTINGS: {
route: 'workspaces/:policyID/categories/settings',
getRoute: (policyID: string) => `workspaces/${policyID}/categories/settings` as const,
},
WORKSPACE_CATEGORY_CREATE: {
route: 'workspaces/:policyID/categories/new',
getRoute: (policyID: string) => `workspaces/${policyID}/categories/new` as const,
},
WORKSPACE_CATEGORY_EDIT: {
route: 'workspaces/:policyID/category/:categoryName/edit',
getRoute: (policyID: string, categoryName: string) => `workspaces/${policyID}/category/${encodeURIComponent(categoryName)}/edit` as const,
Expand Down
2 changes: 2 additions & 0 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,7 @@ const SCREENS = {
NAME: 'Workspace_Overview_Name',
CLIENT_ID: 'Workspace_Overview_Client_ID',
CATEGORY_CREATE: 'Category_Create',
DYNAMIC_CATEGORY_CREATE: 'Dynamic_Category_Create',
CATEGORY_EDIT: 'Category_Edit',
CATEGORY_PAYROLL_CODE: 'Category_Payroll_Code',
CATEGORY_GL_CODE: 'Category_GL_Code',
Expand All @@ -789,6 +790,7 @@ const SCREENS = {
CATEGORY_REQUIRE_ITEMIZED_RECEIPTS_OVER: 'Category_Require_Itemized_Receipts_Over',
CATEGORY_REQUIRED_FIELDS: 'Category_Required_Fields',
CATEGORIES_SETTINGS: 'Categories_Settings',
DYNAMIC_CATEGORIES_SETTINGS: 'Dynamic_Categories_Settings',
DYNAMIC_CATEGORIES_IMPORT: 'Dynamic_Categories_Import',
DYNAMIC_CATEGORIES_IMPORTED: 'Dynamic_Categories_Imported',
DYNAMIC_SPEND_CATEGORY_SELECTOR: 'Dynamic_Spend_Category_Selector',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
[SCREENS.WORKSPACE.CATEGORY_REQUIRED_FIELDS]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/CategoryRequiredFieldsPage').default,
[SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_OVERVIEW_ADDRESS]: () => require<ReactComponentModule>('../../../../pages/workspace/WorkspaceOverviewAddressPage').default,
[SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_OVERVIEW_PLAN]: () => require<ReactComponentModule>('../../../../pages/workspace/DynamicWorkspaceOverviewPlanTypePage').default,
[SCREENS.WORKSPACE.CATEGORIES_SETTINGS]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/WorkspaceCategoriesSettingsPage').default,
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_SETTINGS]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/WorkspaceCategoriesSettingsPage').default,
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_IMPORT]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/ImportCategoriesPage').default,
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_IMPORTED]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/ImportedCategoriesPage').default,
[SCREENS.WORKSPACE.DYNAMIC_SPEND_CATEGORY_SELECTOR]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/DynamicSpendCategorySelectorPage').default,
Expand All @@ -539,7 +539,7 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
[SCREENS.WORKSPACE.OWNER_CHANGE_CHECK]: () => require<ReactComponentModule>('@pages/workspace/members/WorkspaceOwnerChangeWrapperPage').default,
[SCREENS.WORKSPACE.OWNER_CHANGE_SUCCESS]: () => require<ReactComponentModule>('../../../../pages/workspace/members/WorkspaceOwnerChangeSuccessPage').default,
[SCREENS.WORKSPACE.OWNER_CHANGE_ERROR]: () => require<ReactComponentModule>('../../../../pages/workspace/members/WorkspaceOwnerChangeErrorPage').default,
[SCREENS.WORKSPACE.CATEGORY_CREATE]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/CreateCategoryPage').default,
[SCREENS.WORKSPACE.DYNAMIC_CATEGORY_CREATE]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/CreateCategoryPage').default,
[SCREENS.WORKSPACE.CATEGORY_EDIT]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/EditCategoryPage').default,
[SCREENS.WORKSPACE.CATEGORY_PAYROLL_CODE]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/CategoryPayrollCodePage').default,
[SCREENS.WORKSPACE.CATEGORY_GL_CODE]: () => require<ReactComponentModule>('../../../../pages/workspace/categories/CategoryGLCodePage').default,
Expand Down
2 changes: 2 additions & 0 deletions src/libs/Navigation/linkingConfig/OldRoutes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ const oldRoutes: Record<string, string> = {
'/settings/workspaces': '/workspaces',
'/r/*/settings/name': '/r/$1/details/settings/name',
'/workspaces/*/overview/address': '/workspaces/$1/overview/workspace-address',
'/workspaces/*/categories/settings': '/workspaces/$1/categories/categories-settings',
'/workspaces/*/categories/new': '/workspaces/$1/categories/category-new',
'/workspaces/*/accounting/*/card-reconciliation/account': '/workspaces/$1/accounting/$2/card-reconciliation/account-reconciliation-settings',
'/workspaces/*/connections/netsuite/export/invoice-item-preference/invoice-item/select': '/workspaces/$1/connections/netsuite/export/invoice-item-preference/select/invoice-item/select',
'/workspaces/*/connections/quickbooks-online/advanced/autosync/accounting-method':
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,11 +196,11 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
SCREENS.WORKSPACE.TAGS_IMPORT_MULTI_LEVEL_SETTINGS,
],
[SCREENS.WORKSPACE.CATEGORIES]: [
SCREENS.WORKSPACE.CATEGORY_CREATE,
SCREENS.WORKSPACE.DYNAMIC_CATEGORY_CREATE,
SCREENS.WORKSPACE.CATEGORY_SETTINGS,
SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_IMPORT,
SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_IMPORTED,
SCREENS.WORKSPACE.CATEGORIES_SETTINGS,
SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_SETTINGS,
SCREENS.WORKSPACE.CATEGORY_EDIT,
SCREENS.WORKSPACE.CATEGORY_GL_CODE,
SCREENS.WORKSPACE.CATEGORY_PAYROLL_CODE,
Expand Down
8 changes: 2 additions & 6 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -996,9 +996,7 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
[SCREENS.WORKSPACE.PAY_AND_DOWNGRADE]: {
path: ROUTES.WORKSPACE_PAY_AND_DOWNGRADE.route,
},
[SCREENS.WORKSPACE.CATEGORIES_SETTINGS]: {
path: ROUTES.WORKSPACE_CATEGORIES_SETTINGS.route,
},
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_SETTINGS]: DYNAMIC_ROUTES.WORKSPACE_CATEGORIES_SETTINGS.path,
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_IMPORT]: DYNAMIC_ROUTES.WORKSPACE_CATEGORIES_IMPORT.path,
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_IMPORTED]: DYNAMIC_ROUTES.WORKSPACE_CATEGORIES_IMPORTED.path,
[SCREENS.WORKSPACE.DYNAMIC_SPEND_CATEGORY_SELECTOR]: DYNAMIC_ROUTES.SPEND_CATEGORY_SELECTOR.path,
Expand All @@ -1024,9 +1022,7 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
[SCREENS.WORKSPACE.OWNER_CHANGE_CHECK]: {
path: ROUTES.WORKSPACE_OWNER_CHANGE_CHECK.route,
},
[SCREENS.WORKSPACE.CATEGORY_CREATE]: {
path: ROUTES.WORKSPACE_CATEGORY_CREATE.route,
},
[SCREENS.WORKSPACE.DYNAMIC_CATEGORY_CREATE]: DYNAMIC_ROUTES.WORKSPACE_CATEGORY_CREATE.path,
[SCREENS.WORKSPACE.CATEGORY_EDIT]: {
path: ROUTES.WORKSPACE_CATEGORY_EDIT.route,
},
Expand Down
8 changes: 2 additions & 6 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -336,10 +336,8 @@ type SettingsNavigatorParamList = {
// eslint-disable-next-line no-restricted-syntax -- `backTo` usages in this file are legacy. Do not add new `backTo` params to screens. See contributingGuides/NAVIGATION.md
backTo?: Routes;
};
[SCREENS.WORKSPACE.CATEGORY_CREATE]: {
[SCREENS.WORKSPACE.DYNAMIC_CATEGORY_CREATE]: {
policyID: string;
// eslint-disable-next-line no-restricted-syntax -- `backTo` usages in this file are legacy. Do not add new `backTo` params to screens. See contributingGuides/NAVIGATION.md
backTo?: Routes;
};
[SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORY_CREATE]: {
policyID: string;
Expand Down Expand Up @@ -435,10 +433,8 @@ type SettingsNavigatorParamList = {
[SCREENS.WORKSPACE.PAY_AND_DOWNGRADE]: {
policyID?: string;
};
[SCREENS.WORKSPACE.CATEGORIES_SETTINGS]: {
[SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_SETTINGS]: {
policyID: string;
// eslint-disable-next-line no-restricted-syntax -- `backTo` usages in this file are legacy. Do not add new `backTo` params to screens. See contributingGuides/NAVIGATION.md
backTo?: Routes;
};
[SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORIES_SETTINGS]: {
policyID: string;
Expand Down
4 changes: 2 additions & 2 deletions src/pages/workspace/categories/CreateCategoryPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ import SCREENS from '@src/SCREENS';
import CategoryForm from './CategoryForm';

type CreateCategoryPageProps =
| PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.CATEGORY_CREATE>
| PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.DYNAMIC_CATEGORY_CREATE>
| PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORY_CREATE>;

function CreateCategoryPage({route}: CreateCategoryPageProps) {
const [policyCategories] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${route.params.policyID}`);
const [policyTags] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_TAGS}${route.params.policyID}`);
const styles = useThemeStyles();
const {translate} = useLocalize();
const backTo = route.params?.backTo;
const isQuickSettingsFlow = route.name === SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORY_CREATE;
const backTo = isQuickSettingsFlow && 'backTo' in route.params ? route.params.backTo : undefined;
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
const {
taskReport: setupCategoryTaskReport,
Expand Down
4 changes: 2 additions & 2 deletions src/pages/workspace/categories/WorkspaceCategoriesPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -404,11 +404,11 @@ function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) {
};

const navigateToCategoriesSettings = useCallback(() => {
Navigation.navigate(isQuickSettingsFlow ? ROUTES.SETTINGS_CATEGORIES_SETTINGS.getRoute(policyId, backTo) : ROUTES.WORKSPACE_CATEGORIES_SETTINGS.getRoute(policyId));
Navigation.navigate(isQuickSettingsFlow ? ROUTES.SETTINGS_CATEGORIES_SETTINGS.getRoute(policyId, backTo) : createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_CATEGORIES_SETTINGS.path));
}, [isQuickSettingsFlow, policyId, backTo]);

const navigateToCreateCategoryPage = () => {
Navigation.navigate(isQuickSettingsFlow ? ROUTES.SETTINGS_CATEGORY_CREATE.getRoute(policyId, backTo) : ROUTES.WORKSPACE_CATEGORY_CREATE.getRoute(policyId));
Navigation.navigate(isQuickSettingsFlow ? ROUTES.SETTINGS_CATEGORY_CREATE.getRoute(policyId, backTo) : createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_CATEGORY_CREATE.path));
};

const dismissError = (item: ListItem) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,19 @@ import SCREENS from '@src/SCREENS';

type WorkspaceCategoriesSettingsPageProps = WithPolicyConnectionsProps &
(
| PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.CATEGORIES_SETTINGS>
| PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_SETTINGS>
| PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORIES_SETTINGS>
);

function WorkspaceCategoriesSettingsPage({policy, route}: WorkspaceCategoriesSettingsPageProps) {
const {policyID, backTo} = route.params;
const {policyID} = route.params;
const styles = useThemeStyles();
const {translate} = useLocalize();
const policyData = usePolicyData(policyID);
const isConnectedToAccounting = Object.keys(policy?.connections ?? {}).length > 0;
const currentConnectionName = getCurrentConnectionName(policy);
const isQuickSettingsFlow = route.name === SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORIES_SETTINGS;
const backTo = isQuickSettingsFlow && 'backTo' in route.params ? route.params.backTo : undefined;
const toggleSubtitle = isConnectedToAccounting && currentConnectionName ? translate('workspace.categories.needCategoryForExportToIntegration', currentConnectionName) : undefined;

const updateWorkspaceRequiresCategory = useCallback(
Expand Down
2 changes: 1 addition & 1 deletion src/pages/workspace/withPolicy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ type PolicyRouteName =
| typeof SCREENS.WORKSPACE.OWNER_CHANGE_CHECK
| typeof SCREENS.WORKSPACE.TAX_EDIT
| typeof SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_OVERVIEW_ADDRESS
| typeof SCREENS.WORKSPACE.CATEGORIES_SETTINGS
| typeof SCREENS.WORKSPACE.DYNAMIC_CATEGORIES_SETTINGS
| typeof SCREENS.SETTINGS_CATEGORIES.SETTINGS_CATEGORIES_SETTINGS
| typeof SCREENS.WORKSPACE.DISTANCE_RATE_TAX_RATE_EDIT
| typeof SCREENS.WORKSPACE.DISTANCE_RATE_TAX_RECLAIMABLE_ON_EDIT
Expand Down
Loading