import React from 'react'; import { GrSystem } from 'react-icons/gr'; import type { Meta, StoryObj } from '@storybook/react-vite'; import { getBuildInfo } from '../../buildinfo'; import { SystemAboutPage } from './SystemAboutPage'; const meta: Meta = { title: 'pages/SystemAboutPage', component: SystemAboutPage.Composite, parameters: { layout: 'centered', }, tags: ['autodocs'], }; export default meta; type Story = StoryObj; export const Default: Story = { args: {}, }; export const WithCustomBuild: Story = { args: { build: { title: 'Custom Build', logo: , info: { ...getBuildInfo(), version: '2.0.0', isDev: false, }, }, }, }; export const WithCustomAuthor: Story = { args: { author: { title: '企业管理系统', author: { name: 'Custom Author', link: 'https://example.com', }, }, }, }; export const WithCustomAgent: Story = { args: { agent:
Custom Agent Info
, }, }; export const WithDisabledBuild: Story = { args: { build: false, }, }; export const WithDisabledAuthor: Story = { args: { author: false, }, }; export const WithDisabledAgent: Story = { args: { agent: false, }, }; export const WithChildren: Story = { args: { children: (

Additional content goes here

), }, }; export const FullFeatured: Story = { args: { build: { title: 'Production Build', logo: , info: { ...getBuildInfo(), version: '1.0.0', isDev: false, }, }, author: { title: '企业管理系统', author: { name: 'Custom Team', link: 'https://example.com', }, }, children: (

Additional system information

), }, }; // Stories for individual components export const AuthorInfoStory: Story = { render: () => { return (
); }, }; export const BuildInfoStory: Story = { render: () => { return (
} title='系统名称' info={getBuildInfo()} />
); }, }; export const BrowserInfoStory: Story = { render: () => { return (
); }, }; export const SectionStory: Story = { render: () => { return (
}>

This is a section with title and icon in the header.

This is a section with title only (no icon).

Custom Header
Badge
} >

This is a section with a custom header.

} footer={Footer content goes here} >

This is a section with a footer.

This section has custom padding. Content handles its own padding.

); }, }; export const LayoutStory: Story = { render: () => { return ( }>

This is the first section in the layout.

This is the second section in the layout.

}>

This is the third section in the layout.

); }, };