// Hooks import { useState, useContext } from 'react' import { useTranslation } from 'next-i18next' // Context import { ModalContext } from 'shared/context/modal-context.mjs' import { LoadingContext } from 'shared/context/loading-context.mjs' // Components import { BeakerIcon, BriefcaseIcon, ClearIcon, CodeIcon, CutIcon, HelpIcon, MenuIcon, OptionsIcon, PrintIcon, UploadIcon, } from 'shared/components/icons.mjs' import { Ribbon } from 'shared/components/ribbon.mjs' import Link from 'next/link' import { ModalMenu } from 'site/components/navigation/modal-menu.mjs' export const ns = ['workbench', 'sections'] export const NavButton = ({ href, label, color, children, onClick = false, extraClasses = '', active = false, }) => { const className = 'border-0 px-1 lg:px-4 text-base py-3 lg:py-4 text-center flex flex-col items-center 2xl:w-36 ' + `hover:bg-${color}-400 text-${color}-400 hover:text-neutral grow lg:grow-0 relative ${extraClasses} ${ active ? 'font-heavy' : '' }` const span = {label} return onClick ? ( ) : ( {children} {span} ) } export const NavSpacer = () => (
|
) export const colors = [ 'red', 'orange', 'yellow', 'lime', 'green', 'teal', 'cyan', 'blue', 'indigo', 'violet', 'purple', ] const NavIcons = ({ setModal, setView, view }) => { const { t } = useTranslation(['header']) const iconSize = 'h-6 w-6 lg:h-12 lg:w-12' return ( <> setModal()} label={t('workbench:menu')} color={colors[0]} > setView('draft')} label={t('workbench:draft')} color={colors[1]} active={view === 'draft'} > setView('test')} label={t('workbench:test')} color={colors[2]} extraClasses="hidden lg:flex" > setView('print')} label={t('workbench:printLayout')} color={colors[3]} extraClasses="hidden lg:flex" > setView('cut')} label={t('workbench:cutLayout')} color={colors[4]} extraClasses="hidden lg:flex" > setView('save')} label={t('workbench:save')} color={colors[5]} extraClasses="hidden lg:flex" > setView('export')} label={t('workbench:export')} color={colors[6]} extraClasses="hidden lg:flex" > setView('edit')} label={t('workbench:edit')} color={colors[7]} extraClasses="hidden lg:flex" > setView('clear')} label={t('workbench:clear')} color={colors[8]} extraClasses="hidden lg:flex" > ) } export const WorkbenchHeader = ({ view, setView }) => { const { setModal } = useContext(ModalContext) const { loading } = useContext(LoadingContext) const [show, setShow] = useState(true) return (
{/* Non-mobile content */}
{/* Mobile content */}
) }