Commit graph

22 commits

Author SHA1 Message Date
Julie Blanc
fc227bf519 general mechanism for default css 2026-03-08 10:38:59 +01:00
Julie Blanc
ec1b23d67a add module setting text-decoration 2026-03-08 09:54:36 +01:00
Julie Blanc
8a896277bf delete defaults values textSettings for inline elements 2026-03-08 09:38:24 +01:00
Julie Blanc
efa1004380 default for inline element 2026-03-08 09:35:45 +01:00
Julie Blanc
47bf70bb36 Defaul stylesheet print → new defaults.js (nique source of truth) + automatic generation of the default stylesheet for paged.js 2026-03-08 09:24:53 +01:00
Julie Blanc
3ae2d0e310 style panel settings 2026-03-07 19:59:01 +01:00
Julie Blanc
8bf7afddd2 factorisation ElementPopUp 2026-03-06 18:37:48 +01:00
Julie Blanc
bc2317ab69 3 values systeme for heritage 2026-03-05 19:00:29 +01:00
Julie Blanc
ace75a3fb2 repair font-family module 2026-03-05 16:32:19 +01:00
Julie Blanc
cb9fd93e51 implement font-family module 2026-03-05 16:29:42 +01:00
Julie Blanc
8b99326de2 font-size, line-height, color → defaults values 2026-03-05 15:59:38 +01:00
Julie Blanc
fa56118e75 toggle all values 2026-03-05 14:49:58 +01:00
isUnknown
69d5ebe7ed refactor: extract shared patterns from popup/settings components
- Create useColoris composable (shared Coloris init across 4 files)
- Create useLinkedSpacing composable (linked margin/padding logic from TextSettings)
- Create BasePopup component (shared popup shell, CSS editor, inheritance button)
- Add watchProp helper in ElementPopup (12 watchers → 12 compact lines)
- Use extractSpacing for @page margin parsing in PagePopup and PageSettings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:35:45 +01:00
isUnknown
b5b495d478 disable: comment out em/rem unit options, keep only px and mm for print
All checks were successful
Deploy / Build and Deploy to Production (push) Successful in 20s
Margins: px + mm only. Font sizes: px only.
em/rem buttons are commented out, not deleted, for potential future use.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:16:54 +01:00
isUnknown
f760e1942a fix: race condition on custom styles loading + misc cleanup
All checks were successful
Deploy / Build and Deploy to Production (push) Successful in 22s
Guard watcher-triggered renders in usePreviewRenderer until first
explicit render completes, preventing premature renders with default
styles. Also: disable Contenu tab, update content/blueprints, add
global disabled button styles, minor formatting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:53:55 +01:00
isUnknown
59dfa18ec7 disable: comment out PagePopup and page hover/highlight feature
Keep the code aside for potential re-activation later.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:37:07 +01:00
isUnknown
be7bb66e70 refactor: extract App.vue logic into composables (762→230 lines)
All checks were successful
Deploy / Build and Deploy to Production (push) Successful in 14s
Extracted complex logic from App.vue into focused, reusable composables:

New composables:
- useKeyboardShortcuts.js (~80 lines): Keyboard shortcuts (Cmd/Ctrl+S, P, Escape, \)
- useIframeInteractions.js (~370 lines): Page/element hover, labels, clicks, popups
- usePreviewRenderer.js (~160 lines): Double buffering, transitions, scroll persistence
- usePrintPreview.js (~70 lines): Print dialog and style collection

Benefits:
- 70% reduction in App.vue size (532 lines extracted)
- Better separation of concerns
- Improved maintainability and testability
- Clearer code organization

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-09 17:20:10 +01:00
isUnknown
cb5d056b51 fix: restore TextSettings functionality after store refactoring
All checks were successful
Deploy / Build and Deploy to Production (push) Successful in 16s
Fixed TextSettings fields not updating the stylesheet and preview after
the store refactoring that made content a computed property.

- Add missing font watcher in TextSettings.vue
- Update useCssUpdater.js to use store.replaceBlock() instead of
  writing to readonly store.content
- Update createRule() to append to store.customCss instead of store.content

All TextSettings fields (font, size, margins, padding, alignment) now
correctly update the stylesheet and preview.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-09 16:42:34 +01:00
isUnknown
681517db21 refactor: extract debounce logic into shared composable
- Create useDebounce composable to avoid code duplication
- Apply debounce to TextSettings margin/padding inputs
- Harmonize debounce delay to 500ms across all components
- Fix input lag when typing values like "30mm"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 11:51:53 +01:00
isUnknown
cf1dadb1b3 feat: refactor popups with shared positioning and CSS tooltips
- Add usePopupPosition composable for smart popup positioning
  (bottom-right → bottom-left → top-right → top-left fallback)
- Refactor ElementPopup with complete controls matching mockup
- Add stylesheet sync: popups initialize from and watch store changes
- Add click-to-close behavior: clicking another element closes popup
- Add CSS property tooltips on all form labels (editor panel + popups)
  with dotted underline and monospace code tooltip on hover
- Add field--view-only class and disabled attribute on locked fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 18:21:54 +01:00
isUnknown
b584a539fe feat: add rem unit option to margins in PageSettings and TextSettings
Adds 'rem' as an available unit for margin inputs in both components. Updates useCssSync composable to parse rem values from CSS.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:38:29 +01:00
isUnknown
c4d2015a69 refactor: extract reusable UI components and composables from TextSettings
Major refactoring to improve code quality and reduce duplication:

TextSettings.vue: 1127 → 269 lines (-76%)

New composables:
- useCssUpdater.js: generic CSS update/remove functions
- useCssSync.js: CSS parsing to form fields

New UI components:
- UnitToggle.vue: reusable unit selector buttons
- InputWithUnit.vue: number input with unit toggle
- MarginEditor.vue: simple/detailed margin editor with sync

Benefits:
- Reusable components for other settings panels
- Centralized CSS manipulation logic
- Better separation of concerns
- Easier to test and maintain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:30:44 +01:00