da00dee8a1
Changes the default behavior for settings navigation items to stay active when navigating to sub-pages. **Problem:** - Navigation items like "Data Model" and "Webhooks" were not staying highlighted when navigating to detail pages - This was because `matchSubPages` defaulted to requiring exact path matches **Solution:** - Updated logic to make sub-page matching the default behavior (`end: item.matchSubPages === false`) - Only "Accounts" explicitly sets `matchSubPages: false` for its custom sub-item navigation - Removed redundant `matchSubPages: true` declarations throughout the codebase **URL Changes:** -- checked with @Bonapara - `/settings/workspace` → `/settings/general` - `/settings/workspace-members` → `/settings/members` - `/settings/api-keys` → `/settings/apis` - `/settings/developers/webhooks` → `/settings/webhooks` before: https://github.com/user-attachments/assets/56b94a49-9c31-4bb5-9875-ec24f4bc4d1e after: https://github.com/user-attachments/assets/38742599-c045-44d1-8020-56f3eacca779 --------- Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
49 lines
1.9 KiB
TypeScript
49 lines
1.9 KiB
TypeScript
import { getPageTitleFromPath, SettingsPageTitles } from '../title-utils';
|
|
|
|
describe('title-utils', () => {
|
|
it('should return the correct title for a given path', () => {
|
|
expect(getPageTitleFromPath('/verify')).toBe('Verify');
|
|
expect(getPageTitleFromPath('/welcome')).toBe(
|
|
'Sign in or Create an account',
|
|
);
|
|
expect(getPageTitleFromPath('/invite/:workspaceInviteHash')).toBe('Invite');
|
|
expect(getPageTitleFromPath('/create/workspace')).toBe('Create Workspace');
|
|
expect(getPageTitleFromPath('/create/profile')).toBe('Create Profile');
|
|
expect(getPageTitleFromPath('/settings/objects/opportunities')).toBe(
|
|
SettingsPageTitles.Objects,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/profile')).toBe(
|
|
SettingsPageTitles.Profile,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/experience')).toBe(
|
|
SettingsPageTitles.Experience,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/accounts')).toBe(
|
|
SettingsPageTitles.Accounts,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/accounts/new')).toBe(
|
|
SettingsPageTitles.Accounts,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/accounts/calendars')).toBe(
|
|
SettingsPageTitles.Accounts,
|
|
);
|
|
expect(
|
|
getPageTitleFromPath('/settings/accounts/calendars/:accountUuid'),
|
|
).toBe(SettingsPageTitles.Accounts);
|
|
expect(getPageTitleFromPath('/settings/accounts/emails')).toBe(
|
|
SettingsPageTitles.Accounts,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/accounts/emails/:accountUuid')).toBe(
|
|
SettingsPageTitles.Accounts,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/members')).toBe(
|
|
SettingsPageTitles.Members,
|
|
);
|
|
expect(getPageTitleFromPath('/settings/general')).toBe(
|
|
SettingsPageTitles.General,
|
|
);
|
|
expect(getPageTitleFromPath('/')).toBe('Twenty');
|
|
expect(getPageTitleFromPath('/random')).toBe('Twenty');
|
|
});
|
|
});
|