import type { Meta, StoryObj } from '@storybook/nextjs' import { useState } from 'react' import AppIconPicker, { type AppIconSelection } from '.' const meta = { title: 'Base/Data Entry/AppIconPicker', component: AppIconPicker, parameters: { layout: 'fullscreen', docs: { description: { component: 'Modal workflow for choosing an application avatar. Users can switch between emoji selections and image uploads (when enabled).', }, }, nextjs: { appDirectory: true, navigation: { pathname: '/apps/demo-app/icon-picker', params: { appId: 'demo-app' }, }, }, }, tags: ['autodocs'], } satisfies Meta export default meta type Story = StoryObj const AppIconPickerDemo = () => { const [open, setOpen] = useState(false) const [selection, setSelection] = useState(null) return (
Selection preview
          {selection ? JSON.stringify(selection, null, 2) : 'No icon selected yet.'}
        
{open && ( { setSelection(result) setOpen(false) }} onClose={() => setOpen(false)} /> )}
) } export const Playground: Story = { render: () => , parameters: { docs: { source: { language: 'tsx', code: ` const [open, setOpen] = useState(false) const [selection, setSelection] = useState(null) return ( <> {open && ( { setSelection(result) setOpen(false) }} onClose={() => setOpen(false)} /> )} ) `.trim(), }, }, }, }