etouch
Sign in
Back to changelog
by Théo Daguier

Changelog — June 9, 2026

Per-retoucher pricing with margin calculation, shared UI components (PageHeader, TableToolbar), sidebar and media card improvements, and a new translation checking script.

#feature#refactor#pricing#ui

Release

v1.54.0

✨ New Features

  • Per-Retoucher Pricing — New StudioRetoucherCategoryPrice model allows studios to set unit costs per retoucher and per retouch category. The pricing page now has a "Retouchers" tab with full CRUD UI, displaying costs alongside client prices and calculated margins. Includes GraphQL mutations/queries and SDK support. #PR-700

  • Brand Logos & Dynamic Icon Resolution — OpenClaw and E-Do Booking apps now render real logo.dev brand logos. The apps page logo renderer resolves any logo: "ICON:Name" to the correct Lucide glyph via ICON_MAP instead of defaulting to a generic icon. #PR-699

♻️ Refactoring & Technical Improvements

  • Shared UI Components — Introduced PageHeader and TableToolbar as shared components used consistently across all dashboard pages (analytics, apps, pricelist, settings, clients, projects, sessions, etc.), replacing ad-hoc layouts. #PR-700

  • Table Column Standardization — Added TABLE_COLUMN_WIDTH constants for consistent column sizing across all entity tables. Primary columns are fluid; date, status, and count columns use fixed widths. #PR-700

  • Sidebar Reorganization — Added a SecondaryMenu in the sidebar footer for common items (users, apps, settings). Added ⌘B keyboard shortcut to toggle sidebar lock. Migrated theme colors to CSS variables (--sidebar-*). #PR-700

  • Settings Restructure — Moved password change into a dedicated SecuritySection modal dialog within Profile > Security tab. Language selection moved into ProfileSection with automatic interface locale switching. #PR-700

  • Media Card Polish — Improved selection UI with a larger 36px hit target. Checkbox now toggles visibility on hover or when selection is active. Refined validation badge styling and metadata layout. #PR-700

📦 Dependencies & Infrastructure

  • Translation Checker — Added scripts/check-translations.mjs to validate translation key coverage across locales (EN, FR, ES). #PR-700

  • Release v1.54.0 — Semantic release cut with per-retoucher pricing and UI consolidation features.