From cdaf91927b850dd74ea60855447936b9d379f866 Mon Sep 17 00:00:00 2001 From: Duhan BALCI Date: Sun, 29 Mar 2026 20:09:36 +0300 Subject: [PATCH] ux improvment --- .../src/components/editor/ElementToolbar.vue | 405 ++++++++++++++++++ .../components/editor/InteractionOverlay.vue | 8 + .../src/components/panels/PropertiesPanel.vue | 34 +- .../src/components/properties/PaddingBox.vue | 95 ++++ 4 files changed, 516 insertions(+), 26 deletions(-) create mode 100644 frontend/src/components/editor/ElementToolbar.vue create mode 100644 frontend/src/components/properties/PaddingBox.vue diff --git a/frontend/src/components/editor/ElementToolbar.vue b/frontend/src/components/editor/ElementToolbar.vue new file mode 100644 index 0000000..d24e74b --- /dev/null +++ b/frontend/src/components/editor/ElementToolbar.vue @@ -0,0 +1,405 @@ + + + + + diff --git a/frontend/src/components/editor/InteractionOverlay.vue b/frontend/src/components/editor/InteractionOverlay.vue index 33e6964..0c1fcc5 100644 --- a/frontend/src/components/editor/InteractionOverlay.vue +++ b/frontend/src/components/editor/InteractionOverlay.vue @@ -5,6 +5,7 @@ import { useEditorStore } from '../../stores/editor' import type { ElementLayout } from '../../core/layout-types' import type { TemplateElement, SizeValue, ContainerElement } from '../../core/types' import { isContainer, sz } from '../../core/types' +import ElementToolbar from './ElementToolbar.vue' const props = defineProps<{ scale: number @@ -627,6 +628,13 @@ const isAnyDragActive = computed(() =>
+ + +
diff --git a/frontend/src/components/panels/PropertiesPanel.vue b/frontend/src/components/panels/PropertiesPanel.vue index c3d8c7d..39d73e9 100644 --- a/frontend/src/components/panels/PropertiesPanel.vue +++ b/frontend/src/components/panels/PropertiesPanel.vue @@ -4,6 +4,7 @@ import { useTemplateStore } from '../../stores/template' import { useEditorStore } from '../../stores/editor' import { useSchemaStore } from '../../stores/schema' import { isContainer, sz } from '../../core/types' +import PaddingBox from '../properties/PaddingBox.vue' import { schemaFormatToFormatType, defaultAlignForSchema } from '../../core/schema-parser' import type { TemplateElement, @@ -580,32 +581,13 @@ function deleteElement() {
Padding (mm)
-
-
- - -
-
- - -
-
- - -
-
- - -
-
+
Stil
diff --git a/frontend/src/components/properties/PaddingBox.vue b/frontend/src/components/properties/PaddingBox.vue new file mode 100644 index 0000000..a433755 --- /dev/null +++ b/frontend/src/components/properties/PaddingBox.vue @@ -0,0 +1,95 @@ + + + + +