Files
amethyst/desktopApp
nrobi144 38eacee53c feat(desktop): add Image Compression settings panel
Phase 3 of the desktop image compression plan.

ImageCompressionSettings composable in
desktopApp/.../ui/settings/, modeled on the existing
MediaServerSettings shape:

  - Section header "Image Compression"
  - Default quality as SingleChoiceSegmentedButtonRow (Low / Medium
    / Desktop High), matching the codebase convention from
    TorSettingsSection / FeedBuilderDialog (NOT a DropdownMenu).
  - Per-preset hint text underneath the segmented row, refreshed
    reactively as the user clicks.
  - Strip-metadata Switch with hint "Removes camera, GPS, and
    timestamp data from uploaded photos."

State flows from ImageCompressionStore via .collectAsState() — uses
the JVM-portable Compose API (collectAsStateWithLifecycle is
Android-only and is not used anywhere in desktopApp).

Integrated into Main.kt:1791 just below MediaServerSettings,
surrounded by the standard HorizontalDivider + Spacer rhythm.

Per-post override (compose dialog) will read from the same store
in Phase 4.
2026-06-09 11:42:00 +03:00
..