Files
cms-server/client/cms/src/stories/profile/profile.stories.tsx
Noa Virellia d57a724940
Some checks failed
Client CMS Check Build (NixCN CMS) TeamCity build failed
Backend Check Build (NixCN CMS) TeamCity build finished
refactor(sidebar): split nav views and add router decorator
Signed-off-by: Noa Virellia <noa@requiem.garden>
2026-02-01 09:04:50 +08:00

49 lines
1.2 KiB
TypeScript

import type { Meta, StoryObj } from '@storybook/react-vite';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ProfileError } from '@/components/profile/profile.error';
import { ProfileSkeleton } from '@/components/profile/profile.skeleton';
import { ProfileView } from '@/components/profile/profile.view';
import { user } from '../exampleUser';
const queryClient = new QueryClient();
const meta = {
title: 'Profile/View',
component: ProfileView,
decorators: [
Story => (
<QueryClientProvider client={queryClient}>
<Story />
</QueryClientProvider>
),
],
} satisfies Meta<typeof ProfileView>;
export default meta;
type Story = StoryObj<typeof meta>;
export const Primary: Story = {
args: {
user,
onSaveBio: async () => Promise.resolve(),
},
};
export const Loading: Story = {
render: () => <ProfileSkeleton />,
args: {
user: {},
onSaveBio: async () => Promise.resolve(),
},
};
export const Error: Story = {
render: () => <ProfileError reason="用户个人资料未公开" />,
args: {
user: {
allow_public: false,
},
onSaveBio: async () => Promise.resolve(),
},
};