// 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, HomeIcon, MenuIcon, OptionsIcon, PrintIcon, UploadIcon, RightIcon, LeftIcon, DocsIcon, SearchIcon, } from 'shared/components/icons.mjs' import { Ribbon } from 'shared/components/ribbon.mjs' import { ModalMenu } from 'site/components/navigation/modal-menu.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:collapse')} extraClasses="text-success bg-neutral hover:bg-success hover:text-neutral" > {dense ? ( ) : ( )} setView('draft')} label={t('workbench:draft')} active={view === 'draft'} > setView('test')} label={t('workbench:test')} 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:save')} active={view === 'save'} > setView('export')} label={t('workbench:export')} active={view === 'export'} > setView('edit')} label={t('workbench:edit')} active={view === 'edit'} > setView('logs')} label={t('workbench:logs')} active={view === 'logs'} > setView('inspect')} label={t('workbench:inspector')} active={view === 'inspect'} > ) } export const WorkbenchHeader = ({ view, setView, update }) => { const { setModal } = useContext(ModalContext) const [dense, setDense] = useState(true) //${dense ? '' : 'translate-x-52'} return ( ) }