// Hooks import { useContext, useState } from 'react' import { useTranslation } from 'next-i18next' // Context import { ModalContext } from 'shared/context/modal-context.mjs' // Components import { BeakerIcon, BriefcaseIcon, CodeIcon, CutIcon, HelpIcon, OptionsIcon, PrintIcon, UploadIcon, RightIcon, LeftIcon, DocsIcon, SearchIcon, MeasieIcon, } from 'shared/components/icons.mjs' import Link from 'next/link' export const ns = ['workbench', 'sections'] export const NavButton = ({ href, label, children, onClick = false, active = false, extraClasses = 'bg-neutral text-neutral-content hover:bg-secondary hover:text-secondary-content', }) => { 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 = ({ setModal, setView, setDense, dense, view }) => { const { t } = useTranslation(['header']) const iconSize = 'h-6 w-6 grow-0' return ( <> setDense(!dense)} label={t('workbench:viewMenu')} extraClasses="text-success bg-neutral hover:bg-success hover:text-neutral" > {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'} > setView('cut')} label={t('workbench:cutLayout')} active={view === 'cut'} > setView('save')} label={t('workbench:savePattern')} active={view === 'save'} > 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'} > ) } export const WorkbenchHeader = ({ view, setView, update }) => { const { setModal } = useContext(ModalContext) const [dense, setDense] = useState(true) //${dense ? '' : 'translate-x-52'} return ( ) }