feat: create Settings/Accounts/Calendars/Calendar Settings page (#4092)

* feat: create Settings/Accounts/Calendars/Calendar Settings page

Closes #4063

* docs: add SettingsAccountsCalendarsSettings stories
This commit is contained in:
Thaïs
2024-02-21 11:37:42 -03:00
committed by GitHub
parent e3e940327e
commit f977164fee
7 changed files with 87 additions and 19 deletions

View File

@ -0,0 +1,36 @@
import { useParams } from 'react-router-dom';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { getSettingsPagePath } from '@/settings/utils/getSettingsPagePath';
import { SettingsPath } from '@/types/SettingsPath';
import { IconSettings } from '@/ui/display/icon';
import { SubMenuTopBarContainer } from '@/ui/layout/page/SubMenuTopBarContainer';
import { Breadcrumb } from '@/ui/navigation/bread-crumb/components/Breadcrumb';
import { mockedConnectedAccounts } from '~/testing/mock-data/accounts';
export const SettingsAccountsCalendarsSettings = () => {
const { accountUuid = '' } = useParams();
const connectedAccount = mockedConnectedAccounts.find(
({ id }) => id === accountUuid,
);
return (
<SubMenuTopBarContainer Icon={IconSettings} title="Settings">
<SettingsPageContainer>
<Breadcrumb
links={[
{
children: 'Accounts',
href: getSettingsPagePath(SettingsPath.Accounts),
},
{
children: 'Calendars',
href: getSettingsPagePath(SettingsPath.AccountsCalendars),
},
{ children: connectedAccount?.handle || '' },
]}
/>
</SettingsPageContainer>
</SubMenuTopBarContainer>
);
};

View File

@ -0,0 +1,32 @@
import { Meta, StoryObj } from '@storybook/react';
import { getSettingsPagePath } from '@/settings/utils/getSettingsPagePath';
import { SettingsPath } from '@/types/SettingsPath';
import {
PageDecorator,
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { mockedConnectedAccounts } from '~/testing/mock-data/accounts';
import { SettingsAccountsCalendarsSettings } from '../SettingsAccountsCalendarsSettings';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/Accounts/SettingsAccountsCalendarsSettings',
component: SettingsAccountsCalendarsSettings,
decorators: [PageDecorator],
args: {
routePath: getSettingsPagePath(SettingsPath.AccountsCalendarsSettings),
routeParams: { ':accountUuid': mockedConnectedAccounts[0].id },
},
parameters: {
layout: 'fullscreen',
msw: graphqlMocks,
},
};
export default meta;
export type Story = StoryObj<typeof SettingsAccountsCalendarsSettings>;
export const Default: Story = {};