import { WebApplication } from '@/ui_models/application'; import { FeatureStatus, FeatureIdentifier } from '@standardnotes/snjs'; import { FunctionComponent } from 'preact'; import { useCallback } from 'preact/hooks'; import { JSXInternal } from 'preact/src/jsx'; import { Icon } from '../Icon'; import { usePremiumModal } from '../Premium'; import { Switch } from '../Switch'; type Props = { application: WebApplication; onToggle: (value: boolean) => void; onClose: () => void; isEnabled: boolean; }; export const FocusModeSwitch: FunctionComponent = ({ application, onToggle, onClose, isEnabled, }) => { const premiumModal = usePremiumModal(); const isEntitled = application.features.getFeatureStatus(FeatureIdentifier.FocusMode) === FeatureStatus.Entitled; const toggle = useCallback( (e: JSXInternal.TargetedMouseEvent) => { e.preventDefault(); if (isEntitled) { onToggle(!isEnabled); onClose(); } else { premiumModal.activate('Focused Writing'); } }, [isEntitled, onToggle, isEnabled, onClose, premiumModal] ); return ( <> ); };