import { useEffect, useRef, useState } from 'preact/hooks'; import { t } from '@/lib/i18n'; interface BackupIncludeAttachmentsFieldProps { checked: boolean; disabled?: boolean; showHelp?: boolean; showLabel?: boolean; onChange: (checked: boolean) => void; } export function BackupIncludeAttachmentsField(props: BackupIncludeAttachmentsFieldProps) { const [open, setOpen] = useState(false); const wrapRef = useRef(null); useEffect(() => { if (!open) return; function handlePointerDown(event: PointerEvent) { if (!wrapRef.current?.contains(event.target as Node)) { setOpen(false); } } document.addEventListener('pointerdown', handlePointerDown); return () => document.removeEventListener('pointerdown', handlePointerDown); }, [open]); return (
{props.showHelp !== false ? (
{t('txt_backup_include_attachments_help')}
) : null}
); }