Skip to content

Commit 51f060e

Browse files
authored
Merge pull request Expensify#90453 from huult/83862-tags-settings-v2
2 parents 6601eb3 + 68f4304 commit 51f060e

16 files changed

Lines changed: 133 additions & 150 deletions

File tree

src/ROUTES.ts

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -503,13 +503,37 @@ const DYNAMIC_ROUTES = {
503503
},
504504
SETTINGS_TAG_APPROVER: {
505505
path: 'tag-approver',
506-
entryScreens: [SCREENS.SETTINGS_TAGS.SETTINGS_TAG_SETTINGS],
506+
entryScreens: [SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS],
507507
},
508508
SETTINGS_TAG_LIST_VIEW: {
509509
path: 'tag-list/:orderWeight',
510510
entryScreens: [SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_ROOT],
511511
getRoute: (orderWeight: number) => `tag-list/${orderWeight}`,
512512
},
513+
SETTINGS_TAG_SETTINGS: {
514+
path: 'tag-settings/:orderWeight/:tagName',
515+
entryScreens: [SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_ROOT, SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_LIST_VIEW],
516+
getRoute: (orderWeight: number, tagName: string) => `tag-settings/${orderWeight}/${encodeURIComponent(tagName)}`,
517+
},
518+
SETTINGS_TAGS_EDIT: {
519+
path: 'edit/:orderWeight',
520+
entryScreens: [SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_ROOT, SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_SETTINGS, SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_LIST_VIEW],
521+
getRoute: (orderWeight: number) => `edit/${orderWeight}`,
522+
},
523+
SETTINGS_TAG_EDIT: {
524+
path: 'tag-edit/:orderWeight/:tagName',
525+
entryScreens: [SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS],
526+
getRoute: (orderWeight: number, tagName: string) => `tag-edit/${orderWeight}/${encodeURIComponent(tagName)}`,
527+
},
528+
SETTINGS_TAG_GL_CODE: {
529+
path: 'gl-code/:orderWeight/:tagName',
530+
entryScreens: [SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS],
531+
getRoute: (orderWeight: number, tagName: string) => `gl-code/${orderWeight}/${encodeURIComponent(tagName)}`,
532+
},
533+
SETTINGS_TAG_CREATE: {
534+
path: 'tag-new',
535+
entryScreens: [SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_ROOT],
536+
},
513537
DETAILS_CONSTANT_PICKER: {
514538
path: 'constant-picker',
515539
entryScreens: [SCREENS.DEBUG.REPORT, SCREENS.DEBUG.REPORT_ACTION, SCREENS.DEBUG.TRANSACTION, SCREENS.DEBUG.TRANSACTION_VIOLATION],
@@ -1672,31 +1696,6 @@ const ROUTES = {
16721696

16731697
getRoute: (policyID: string, backTo = '') => getUrlWithBackToParam(`settings/${policyID}/tags/settings` as const, backTo),
16741698
},
1675-
SETTINGS_TAGS_EDIT: {
1676-
route: 'settings/:policyID/tags/:orderWeight/edit',
1677-
1678-
getRoute: (policyID: string, orderWeight: number, backTo = '') => getUrlWithBackToParam(`settings/${policyID}/tags/${orderWeight}/edit` as const, backTo),
1679-
},
1680-
SETTINGS_TAG_CREATE: {
1681-
route: 'settings/:policyID/tags/new',
1682-
1683-
getRoute: (policyID: string, backTo = '') => getUrlWithBackToParam(`settings/${policyID}/tags/new` as const, backTo),
1684-
},
1685-
SETTINGS_TAG_EDIT: {
1686-
route: 'settings/:policyID/tag/:orderWeight/:tagName/edit',
1687-
getRoute: (policyID: string, orderWeight: number, tagName: string, backTo = '') =>
1688-
getUrlWithBackToParam(`settings/${policyID}/tag/${orderWeight}/${encodeURIComponent(tagName)}/edit` as const, backTo),
1689-
},
1690-
SETTINGS_TAG_SETTINGS: {
1691-
route: 'settings/:policyID/tag/:orderWeight/:tagName',
1692-
getRoute: (policyID: string, orderWeight: number, tagName: string, backTo = '') =>
1693-
getUrlWithBackToParam(`settings/${policyID}/tag/${orderWeight}/${encodeURIComponent(tagName)}` as const, backTo),
1694-
},
1695-
SETTINGS_TAG_GL_CODE: {
1696-
route: 'settings/:policyID/tag/:orderWeight/:tagName/gl-code',
1697-
getRoute: (policyID: string, orderWeight: number, tagName: string, backTo = '') =>
1698-
getUrlWithBackToParam(`settings/${policyID}/tag/${orderWeight}/${encodeURIComponent(tagName)}/gl-code` as const, backTo),
1699-
},
17001699
SETTINGS_TAGS_IMPORT: {
17011700
route: 'settings/:policyID/tags/import',
17021701

src/SCREENS.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -473,13 +473,13 @@ const SCREENS = {
473473
SETTINGS_TAGS: {
474474
SETTINGS_TAGS_ROOT: 'Settings_Tags',
475475
SETTINGS_TAGS_SETTINGS: 'Settings_Tags_Settings',
476-
SETTINGS_TAGS_EDIT: 'Settings_Tags_Edit',
477-
SETTINGS_TAG_CREATE: 'Settings_Tag_Create',
478-
SETTINGS_TAG_EDIT: 'Settings_Tag_Edit',
479-
SETTINGS_TAG_SETTINGS: 'Settings_Tag_Settings',
476+
DYNAMIC_SETTINGS_TAGS_EDIT: 'Dynamic_Settings_Tags_Edit',
477+
DYNAMIC_SETTINGS_TAG_CREATE: 'Dynamic_Settings_Tag_Create',
478+
DYNAMIC_SETTINGS_TAG_EDIT: 'Dynamic_Settings_Tag_Edit',
479+
DYNAMIC_SETTINGS_TAG_GL_CODE: 'Dynamic_Settings_Tag_GL_Code',
480+
DYNAMIC_SETTINGS_TAG_SETTINGS: 'Dynamic_Settings_Tag_Settings',
480481
DYNAMIC_SETTINGS_TAG_APPROVER: 'Dynamic_Settings_Tag_Approver',
481482
DYNAMIC_SETTINGS_TAG_LIST_VIEW: 'Dynamic_Settings_Tag_List_View',
482-
SETTINGS_TAG_GL_CODE: 'Settings_Tag_GL_Code',
483483
SETTINGS_TAGS_IMPORT: 'Settings_Tags_Import',
484484
SETTINGS_TAGS_IMPORTED: 'Settings_Tags_Imported',
485485
},

src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -336,16 +336,16 @@ const CategoriesModalStackNavigator = createModalStackNavigator({
336336

337337
const TagsModalStackNavigator = createModalStackNavigator({
338338
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_SETTINGS]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/WorkspaceTagsSettingsPage').default,
339-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_EDIT]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/WorkspaceEditTagsPage').default,
339+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAGS_EDIT]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/WorkspaceEditTagsPage').default,
340340
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_IMPORT]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/ImportTagsPage').default,
341341
[SCREENS.WORKSPACE.TAGS_IMPORT_OPTIONS]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/ImportTagsOptionsPage').default,
342342
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_IMPORTED]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/ImportedTagsPage').default,
343-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_SETTINGS]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/TagSettingsPage').default,
343+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/TagSettingsPage').default,
344344
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_LIST_VIEW]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/WorkspaceViewTagsPage').default,
345-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_CREATE]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/WorkspaceCreateTagPage').default,
346-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_EDIT]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/EditTagPage').default,
345+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_CREATE]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/WorkspaceCreateTagPage').default,
346+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_EDIT]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/EditTagPage').default,
347+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_GL_CODE]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/TagGLCodePage').default,
347348
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_APPROVER]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/TagApproverPage').default,
348-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_GL_CODE]: () => require<ReactComponentModule>('../../../../pages/workspace/tags/TagGLCodePage').default,
349349
});
350350

351351
const ExpensifyCardModalStackNavigator = createModalStackNavigator({

src/libs/Navigation/linkingConfig/OldRoutes.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
const oldRoutes: Record<string, string> = {
22
/* eslint-disable @typescript-eslint/naming-convention */
33
'/settings/*/category/*/edit': '/settings/$1/category/$2/category-edit',
4+
'/settings/*/tags/*/edit': '/settings/$1/tags/settings/edit/$2',
5+
'/settings/*/tags/new': '/settings/$1/tags/tag-new',
6+
'/settings/*/tag/*/*/edit': '/settings/$1/tags/tag-settings/$2/$3/tag-edit/$2/$3',
7+
'/settings/*/tag/*/*/gl-code': '/settings/$1/tags/tag-settings/$2/$3/gl-code/$2/$3',
8+
'/settings/*/tag/*/*': '/settings/$1/tags/tag-settings/$2/$3',
49
'/workspaces/*/category/*/payroll-code': '/workspaces/$1/categories/category/$2/payroll-code',
510
'/workspaces/*/category/*/gl-code': '/workspaces/$1/categories/category/$2/gl-code',
611
'/workspaces/*/category/*/edit': '/workspaces/$1/categories/category/$2/edit',

src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,13 +208,13 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
208208
SCREENS.WORKSPACE.TAGS_IMPORT_MULTI_LEVEL_SETTINGS,
209209
SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_ROOT,
210210
SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_SETTINGS,
211-
SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_EDIT,
212-
SCREENS.SETTINGS_TAGS.SETTINGS_TAG_CREATE,
213-
SCREENS.SETTINGS_TAGS.SETTINGS_TAG_EDIT,
214-
SCREENS.SETTINGS_TAGS.SETTINGS_TAG_SETTINGS,
211+
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAGS_EDIT,
212+
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_CREATE,
213+
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_EDIT,
214+
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS,
215215
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_APPROVER,
216216
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_LIST_VIEW,
217-
SCREENS.SETTINGS_TAGS.SETTINGS_TAG_GL_CODE,
217+
SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_GL_CODE,
218218
SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_IMPORT,
219219
SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_IMPORTED,
220220
],

src/libs/Navigation/linkingConfig/config.ts

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1542,35 +1542,13 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
15421542
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_SETTINGS]: {
15431543
path: ROUTES.SETTINGS_TAGS_SETTINGS.route,
15441544
},
1545-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_EDIT]: {
1546-
path: ROUTES.SETTINGS_TAGS_EDIT.route,
1547-
parse: {
1548-
orderWeight: Number,
1549-
},
1550-
},
1551-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_CREATE]: {
1552-
path: ROUTES.SETTINGS_TAG_CREATE.route,
1553-
},
1554-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_EDIT]: {
1555-
path: ROUTES.SETTINGS_TAG_EDIT.route,
1556-
parse: {
1557-
orderWeight: Number,
1558-
},
1559-
},
1560-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_SETTINGS]: {
1561-
path: ROUTES.SETTINGS_TAG_SETTINGS.route,
1562-
parse: {
1563-
orderWeight: Number,
1564-
},
1565-
},
1545+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAGS_EDIT]: DYNAMIC_ROUTES.SETTINGS_TAGS_EDIT.path,
1546+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_CREATE]: DYNAMIC_ROUTES.SETTINGS_TAG_CREATE.path,
1547+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_EDIT]: DYNAMIC_ROUTES.SETTINGS_TAG_EDIT.path,
1548+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_GL_CODE]: DYNAMIC_ROUTES.SETTINGS_TAG_GL_CODE.path,
1549+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS]: DYNAMIC_ROUTES.SETTINGS_TAG_SETTINGS.path,
15661550
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_APPROVER]: DYNAMIC_ROUTES.SETTINGS_TAG_APPROVER.path,
15671551
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_LIST_VIEW]: DYNAMIC_ROUTES.SETTINGS_TAG_LIST_VIEW.path,
1568-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_GL_CODE]: {
1569-
path: ROUTES.SETTINGS_TAG_GL_CODE.route,
1570-
parse: {
1571-
orderWeight: Number,
1572-
},
1573-
},
15741552
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_IMPORT]: {
15751553
path: ROUTES.SETTINGS_TAGS_IMPORT.route,
15761554
},

src/libs/Navigation/types.ts

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -466,10 +466,8 @@ type SettingsNavigatorParamList = {
466466
// 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
467467
backTo?: Routes;
468468
};
469-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_CREATE]: {
469+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_CREATE]: {
470470
policyID: string;
471-
// 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
472-
backTo?: Routes;
473471
};
474472
[SCREENS.WORKSPACE.DISTANCE_RATE_DETAILS]: {
475473
policyID: string;
@@ -544,12 +542,10 @@ type SettingsNavigatorParamList = {
544542
backTo?: Routes;
545543
parentTagsFilter?: string;
546544
};
547-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_SETTINGS]: {
545+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_SETTINGS]: {
548546
policyID: string;
549547
orderWeight: number;
550548
tagName: string;
551-
// 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
552-
backTo?: Routes;
553549
parentTagsFilter?: string;
554550
};
555551
[SCREENS.WORKSPACE.TAG_LIST_VIEW]: {
@@ -568,11 +564,9 @@ type SettingsNavigatorParamList = {
568564
// 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
569565
backTo?: Routes;
570566
};
571-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAGS_EDIT]: {
567+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAGS_EDIT]: {
572568
policyID: string;
573569
orderWeight: number;
574-
// 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
575-
backTo?: Routes;
576570
};
577571
[SCREENS.WORKSPACE.TAG_EDIT]: {
578572
policyID: string;
@@ -581,12 +575,15 @@ type SettingsNavigatorParamList = {
581575
// 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
582576
backTo?: Routes;
583577
};
584-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_EDIT]: {
578+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_EDIT]: {
579+
policyID: string;
580+
orderWeight: number;
581+
tagName: string;
582+
};
583+
[SCREENS.SETTINGS_TAGS.DYNAMIC_SETTINGS_TAG_GL_CODE]: {
585584
policyID: string;
586585
orderWeight: number;
587586
tagName: string;
588-
// 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
589-
backTo?: Routes;
590587
};
591588
[SCREENS.WORKSPACE.TAG_APPROVER]: {
592589
policyID: string;
@@ -607,13 +604,6 @@ type SettingsNavigatorParamList = {
607604
// 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
608605
backTo?: Routes;
609606
};
610-
[SCREENS.SETTINGS_TAGS.SETTINGS_TAG_GL_CODE]: {
611-
policyID: string;
612-
orderWeight: number;
613-
tagName: string;
614-
// 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
615-
backTo?: Routes;
616-
};
617607
[SCREENS.SETTINGS.SUBSCRIPTION.SIZE]: {
618608
canChangeSize: 0 | 1;
619609
subPage: string;

0 commit comments

Comments
 (0)