// __SDEFILE__ - This file is a dependency for the stand-alone environment // Hooks import { useState } from 'react' import { useTranslation } from 'next-i18next' // Components import { BeakerIcon, CodeIcon, CutIcon, OptionsIcon, PrintIcon, SaveIcon, SaveAsIcon, RightIcon, LeftIcon, DocsIcon, MeasieIcon, XrayIcon, EditIcon, ExportIcon, } from 'shared/components/icons.mjs' import Link from 'next/link' import { MenuWrapper } from 'shared/components/workbench/menus/shared/menu-wrapper.mjs' export const ns = ['workbench', 'sections'] const icons = { test: BeakerIcon, export: ExportIcon, Edit: EditIcon, cut: CutIcon, draft: OptionsIcon, print: PrintIcon, save: SaveIcon, saveas: SaveAsIcon, logs: CodeIcon, inspect: XrayIcon, measies: MeasieIcon, } export const NavButton = ({ href, label, children, onClick = false, active = false, extraClasses = 'lg:bg-neutral lg:text-neutral-content lg:hover:bg-secondary lg:hover:text-secondary-content hover:text-secondary', }) => { const className = `w-full flex flex-row items-center px-4 py-2 ${extraClasses} ${ active ? 'text-secondary' : '' }` const span = {label} return onClick ? ( ) : ( {span} {children} ) } const NavIcons = ({ setView, setDense, dense, view, saveAs = false }) => { const { t } = useTranslation(['header']) const iconSize = 'h-6 w-6 grow-0' return ( <> setDense(!dense)} label={t('workbench:viewMenu')} extraClasses="hidden lg:flex text-accent bg-neutral hover:bg-accent hover:text-neutral-content" > {dense ? ( ) : ( )} setView('draft')} label={t('workbench:configurePattern')} active={view === 'draft'} > setView('measies')} label={t('workbench:measies')} active={view === 'measies'} > setView('test')} label={t('workbench:testPattern')} active={view === 'test'} > setView('print')} label={t('workbench:printLayout')} active={view === 'print'} > {/*!isProduction && ( setView('cut')} label={t('workbench:cutLayout')} active={view === 'cut'} > )*/} setView('save')} label={t(`workbench:${saveAs ? 'savePattern' : 'savePatternAsHellip'}`)} active={view === 'save'} > {saveAs ? : } setView('export')} label={t('workbench:exportPattern')} active={view === 'export'} > setView('edit')} label={t('workbench:editSettings')} active={view === 'edit'} > setView('logs')} label={t('workbench:patternLogs')} active={view === 'logs'} > setView('inspect')} label={t('workbench:patternInspector')} active={view === 'inspect'} > setView('docs')} label={t('workbench:docs')} active={view === 'docs'} > ) } export const WorkbenchHeader = ({ view, setView, saveAs = false }) => { const [dense, setDense] = useState(true) return (
) }