From ceaf3182726382c1c3f638f61b72a6d5e6819423 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Wed, 10 Dec 2025 11:35:37 +0100 Subject: [PATCH 1/6] improve default styles --- public/assets/css/src/_reset.scss | 4 ++++ public/assets/css/style.css | 4 ++++ public/assets/css/style.css.map | 2 +- public/assets/css/stylesheet.css | 10 +++++++++- public/site/snippets/header.php | 2 +- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/public/assets/css/src/_reset.scss b/public/assets/css/src/_reset.scss index ed3fb95..8617ad6 100644 --- a/public/assets/css/src/_reset.scss +++ b/public/assets/css/src/_reset.scss @@ -25,3 +25,7 @@ button { background-color: transparent; border: none; } + +img { + width: 100%; +} diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 2d229d0..715c960 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -25,6 +25,10 @@ button { border: none; } +img { + width: 100%; +} + :root { --color-panel-bg: #e8e6e5; --color-browngray-050: #f5f3f0; diff --git a/public/assets/css/style.css.map b/public/assets/css/style.css.map index 498edd4..fe6c357 100644 --- a/public/assets/css/style.css.map +++ b/public/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["src/_reset.scss","style.css","src/_variables.scss","src/_text.scss","src/_print-styles.scss","src/_forms.scss","src/_buttons.scss","src/_settings-popup.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["src/_reset.scss","style.css","src/_variables.scss","src/_text.scss","src/_print-styles.scss","src/_forms.scss","src/_buttons.scss","src/_settings-popup.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/public/assets/css/stylesheet.css b/public/assets/css/stylesheet.css index d6f0264..5f10ef0 100644 --- a/public/assets/css/stylesheet.css +++ b/public/assets/css/stylesheet.css @@ -24,5 +24,13 @@ h2 { p { font-size: 1rem; - margin: 0mm 0mm 24mm 0mm; + margin: 0mm 0mm 10mm 0mm; +} + +img { + width: 100%; +} + +li p { + margin-bottom: 0; } diff --git a/public/site/snippets/header.php b/public/site/snippets/header.php index e420f16..e989166 100644 --- a/public/site/snippets/header.php +++ b/public/site/snippets/header.php @@ -8,7 +8,7 @@ isHomePage() != true, $page->title() . ' - ') . $site->title() ?> - + From 681517db215471a5e1bd85460fd21187c8d6fd34 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Wed, 10 Dec 2025 11:51:53 +0100 Subject: [PATCH 2/6] refactor: extract debounce logic into shared composable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- src/components/ElementPopup.vue | 8 ++----- src/components/PagePopup.vue | 8 ++----- src/components/editor/PageSettings.vue | 8 ++----- src/components/editor/TextSettings.vue | 30 ++++++++++++++++---------- src/composables/useDebounce.js | 15 +++++++++++++ 5 files changed, 40 insertions(+), 29 deletions(-) create mode 100644 src/composables/useDebounce.js diff --git a/src/components/ElementPopup.vue b/src/components/ElementPopup.vue index 56ba45f..de79b52 100644 --- a/src/components/ElementPopup.vue +++ b/src/components/ElementPopup.vue @@ -274,6 +274,7 @@ import { ref, computed, watch } from 'vue'; import { useStylesheetStore } from '../stores/stylesheet'; import { usePopupPosition } from '../composables/usePopupPosition'; +import { useDebounce } from '../composables/useDebounce'; import NumberInput from './ui/NumberInput.vue'; import Coloris from '@melloware/coloris'; import '@melloware/coloris/dist/coloris.css'; @@ -307,7 +308,7 @@ const colorInput = ref(null); const backgroundInput = ref(null); let isUpdatingFromStore = false; -let updateTimer = null; +const { debouncedUpdate } = useDebounce(500); // Style properties const fontFamily = ref({ value: 'Alegreya Sans' }); @@ -320,11 +321,6 @@ const background = ref({ value: 'transparent' }); const marginOuter = ref({ value: 0, unit: 'mm' }); const paddingInner = ref({ value: 0, unit: 'mm' }); -const debouncedUpdate = (callback) => { - clearTimeout(updateTimer); - updateTimer = setTimeout(callback, 1000); -}; - const immediateUpdate = (callback) => { callback(); }; diff --git a/src/components/PagePopup.vue b/src/components/PagePopup.vue index 0b309be..c48c390 100644 --- a/src/components/PagePopup.vue +++ b/src/components/PagePopup.vue @@ -285,6 +285,7 @@ import { ref, computed, watch, onMounted } from 'vue'; import { useStylesheetStore } from '../stores/stylesheet'; import { usePopupPosition } from '../composables/usePopupPosition'; +import { useDebounce } from '../composables/useDebounce'; import NumberInput from './ui/NumberInput.vue'; import Coloris from '@melloware/coloris'; import '@melloware/coloris/dist/coloris.css'; @@ -312,7 +313,7 @@ const inheritanceLocked = ref(true); const backgroundColorInput = ref(null); let isUpdatingFromStore = false; -let updateTimer = null; +const { debouncedUpdate } = useDebounce(500); const margins = ref({ top: { value: 0, unit: 'mm' }, @@ -328,11 +329,6 @@ const background = ref({ const pattern = ref(''); -const debouncedUpdate = (callback) => { - clearTimeout(updateTimer); - updateTimer = setTimeout(callback, 1000); -}; - const immediateUpdate = (callback) => { callback(); }; diff --git a/src/components/editor/PageSettings.vue b/src/components/editor/PageSettings.vue index b0a2fe7..d21a5a5 100644 --- a/src/components/editor/PageSettings.vue +++ b/src/components/editor/PageSettings.vue @@ -288,16 +288,17 @@