import type { Meta, StoryObj } from '@storybook/react-vite' import { IconSquareRounded } from '@tabler/icons-react' import { EntryShell } from './EntryShell' // A stand-in for an app's mark, at the 40px an app's logo badge is drawn at. const logo = (
) const meta = { title: 'Frame/EntryShell', component: EntryShell, parameters: { layout: 'fullscreen' }, args: { logo }, argTypes: { logo: { control: false } }, } satisfies Meta export default meta type Story = StoryObj /** The line and the one thing to do about it. */ export const MessageWithAction: Story = { args: { message: 'One line saying why the app cannot open yet.', action: { label: 'Continue', onClick: () => {} } }, } /** The logo alone, faded in after 150ms. */ export const Busy: Story = { args: { busy: true }, } /** The line alone, when nothing the person can do would help. A longer line wraps at its width. */ export const MessageOnly: Story = { args: { message: 'A longer line, for a reason that needs two sentences. It wraps at the width the line is given and stays centred under the logo.', }, } /** The button held while what it started is still running. */ export const ActionDisabled: Story = { args: { message: 'One line saying why the app cannot open yet.', action: { label: 'Continue', onClick: () => {}, disabled: true } }, } /** The button alone, with no line. */ export const ActionOnly: Story = { args: { action: { label: 'Try again', onClick: () => {} } }, }