diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index d3f3f4690..4aca7814a 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -161,7 +161,8 @@ textarea, color: var(--muted-text-color); } -.form-group.disabled { +.form-group.disabled, +.form-checkbox.disabled { opacity: 0.5; pointer-events: none; } diff --git a/apps/client/src/widgets/dialogs/import.tsx b/apps/client/src/widgets/dialogs/import.tsx index 58f28dd54..a54a01573 100644 --- a/apps/client/src/widgets/dialogs/import.tsx +++ b/apps/client/src/widgets/dialogs/import.tsx @@ -8,15 +8,16 @@ import FormGroup, { FormMultiGroup } from "../react/FormGroup"; import Modal from "../react/Modal"; import RawHtml from "../react/RawHtml"; import importService, { UploadFilesOptions } from "../../services/import"; -import { useTriliumEvent } from "../react/hooks"; +import { useTriliumEvent, useTriliumOptionBool } from "../react/hooks"; export default function ImportDialog() { + const [ compressImages ] = useTriliumOptionBool("compressImages"); const [ parentNoteId, setParentNoteId ] = useState(); const [ noteTitle, setNoteTitle ] = useState(); const [ files, setFiles ] = useState(null); const [ safeImport, setSafeImport ] = useState(true); const [ explodeArchives, setExplodeArchives ] = useState(true); - const [ shrinkImages, setShrinkImages ] = useState(true); + const [ shrinkImages, setShrinkImages ] = useState(compressImages); const [ textImportedAsText, setTextImportedAsText ] = useState(true); const [ codeImportedAsCode, setCodeImportedAsCode ] = useState(true); const [ replaceUnderscoresWithSpaces, setReplaceUnderscoresWithSpaces ] = useState(true); @@ -69,7 +70,8 @@ export default function ImportDialog() { /> (null); const id = useUniqueName(name); - // Fix: Move useEffect outside conditional useEffect(() => { if (!hint || !labelRef.current) return; @@ -34,22 +33,19 @@ const FormCheckbox = memo(({ name, disabled, label, currentValue, onChange, hint return () => tooltipInstance?.dispose(); }, [hint]); // Proper dependency - // Memoize style object const labelStyle = useMemo(() => hint ? { textDecoration: "underline dotted var(--main-text-color)" } : undefined, [hint] ); - // Memoize onChange handler const handleChange = useCallback((e: Event) => { onChange((e.target as HTMLInputElement).checked); }, [onChange]); - // Memoize title attribute const titleText = useMemo(() => hint ? escapeQuotes(hint) : undefined, [hint]); return ( -
+