diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index edfc604635..64a0e5daca 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1255,12 +1255,15 @@ }, "images": { "images_section_title": "Images", - "download_images_automatically": "Download images automatically for offline use.", - "download_images_description": "Pasted HTML can contain references to online images, Trilium will find those references and download the images so that they are available offline.", - "enable_image_compression": "Enable image compression", - "max_image_dimensions": "Max width / height of an image (image will be resized if it exceeds this setting).", + "download_images_automatically": "Download images automatically", + "download_images_description": "Download referenced online images from pasted HTML so they are available offline.", + "enable_image_compression": "Image compression", + "enable_image_compression_description": "Compress and resize images when they are uploaded or pasted.", + "max_image_dimensions": "Max image dimensions", + "max_image_dimensions_description": "Images exceeding this size will be resized automatically.", "max_image_dimensions_unit": "pixels", - "jpeg_quality_description": "JPEG quality (10 - worst quality, 100 - best quality, 50 - 85 is recommended)", + "jpeg_quality": "JPEG quality", + "jpeg_quality_description": "Recommended range is 50–85. Lower values reduce file size, higher values preserve detail.", "ocr_section_title": "Optical Character Recognition (OCR)", "enable_ocr": "Enable OCR for images", "ocr_description": "Automatically extract text from images using OCR technology. This makes image content searchable within your notes.", diff --git a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css index 5f764fcc46..4352c4b7a5 100644 --- a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css +++ b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css @@ -1,30 +1,41 @@ .option-row { border-bottom: 1px solid var(--main-border-color); display: flex; - align-items: center; + flex-direction: column; padding: 0.5em 0; } -.option-row > label { +.option-row-main { + display: flex; + align-items: center; +} + +.option-row-main > label { width: 40%; margin-bottom: 0 !important; flex-shrink: 0; } -.option-row > select, -.option-row > .dropdown { +.option-row-main > select, +.option-row-main > .dropdown { width: 60%; } -.option-row > .dropdown button { +.option-row-main > .dropdown button { width: 100%; text-align: start; } +.option-row-description { + line-height: 1.3; + margin-top: 0.25em; + color: var(--muted-text-color); +} + .option-row:last-of-type { border-bottom: unset; } -.option-row.centered { +.option-row.centered .option-row-main { justify-content: center; } diff --git a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.tsx b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.tsx index 3b367e5245..851be70a41 100644 --- a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.tsx +++ b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.tsx @@ -5,18 +5,22 @@ import { useUniqueName } from "../../../react/hooks"; interface OptionsRowProps { name: string; label?: string; + description?: string; children: VNode; centered?: boolean; } -export default function OptionsRow({ name, label, children, centered }: OptionsRowProps) { +export default function OptionsRow({ name, label, description, children, centered }: OptionsRowProps) { const id = useUniqueName(name); const childWithId = cloneElement(children, { id }); return (