import { useContext, useMemo } from 'react' import { PanZoomContext } from 'shared/components/workbench/pattern/pan-zoom-context.mjs' import { useMobileAction } from 'shared/context/mobile-menubar-context.mjs' import { useTranslation } from 'next-i18next' import { PaperlessIcon, SaIcon, RocketIcon, BulletIcon, UnitsIcon, DetailIcon, IconWrapper, ClearIcon, } from 'shared/components/icons.mjs' import { ClearAllButton } from 'shared/components/workbench/menus/core-settings/index.mjs' import { shownHeaderSelector } from 'shared/components/wrappers/header.mjs' export const ns = ['common', 'core-settings', 'ui-settings'] const ZoomInIcon = (props) => ( ) const ZoomOutIcon = (props) => ( ) const IconButton = ({ Icon, onClick, dflt = true, title, hide = false, extraClasses = '' }) => (
) const smZoomClasses = '[.mobile-menubar_&]:btn [.mobile-menubar_&]:btn-secondary [.mobile-menubar_&]:btn-circle [.mobile-menubar_&]:my-2' const ZoomButtons = ({ t, zoomFunctions, zoomed }) => { if (!zoomFunctions) return null return (
zoomFunctions.zoomOut()} title={t('zoomOut')} dflt extraClasses={smZoomClasses} /> zoomFunctions.zoomIn()} title={t('zoomIn')} dflt extraClasses={smZoomClasses} />
) } const Spacer = () => | export const ViewHeader = ({ update, settings, ui, control, setSettings }) => { const { t } = useTranslation(ns) const { zoomFunctions, zoomed } = useContext(PanZoomContext) // make the zoom buttons so we can pass them to the mobile menubar const headerZoomButtons = useMemo( () => , [zoomed, t, zoomFunctions] ) // add the zoom buttons as an action on the mobile menubar useMobileAction('zoom', { order: 0, actionContent: headerZoomButtons }) return (
{headerZoomButtons}
update.toggleSa()} title={t('core-settings:sabool.t')} /> update.settings(['paperless'], !settings.paperless)} title={t('core-settings:paperless.t')} /> update.settings( ['complete'], typeof settings.complete === 'undefined' ? 0 : settings.complete ? 0 : 1 ) } title={t('core-settings:complete.t')} /> } dflt={settings.units !== 'imperial'} onClick={() => update.settings(['units'], settings.units === 'imperial' ? 'metric' : 'imperial') } title={t('core-settings:units.t')} />
{[1, 2, 3, 4, 5].map((score) => ( ))}
update.ui(['renderer'], ui.renderer === 'react' ? 'svg' : 'react')} title={t('ui-settings:renderer.t')} />
) }