From 275312b13cd409d2393b77f60294c2780ed11fff Mon Sep 17 00:00:00 2001 From: Maximilian Schleining Date: Tue, 13 Aug 2024 12:22:10 +0200 Subject: [PATCH] fix(katzencore): Refactored Edit View, Mobile Editing View added. Improvement of Content Parsing without DOM Tree --- eslint.config.mjs | 6 +- src/module.ts | 10 +- src/runtime/components/views/EditView.vue | 855 ------------------ src/runtime/components/views/MainView.vue | 62 -- .../components/views/edit/PageList.vue | 125 +++ .../components/views/edit/RouteView.vue | 93 ++ .../views/edit/overlay/ActionButtons.vue | 136 +++ .../views/edit/overlay/ContentEdit.vue | 259 ++++++ .../components/views/edit/overlay/Hover.vue | 52 ++ .../views/edit/popup/Deployment.vue | 38 + .../components/views/edit/popup/Error.vue | 43 + src/runtime/pages/KatzeCms.vue | 65 -- src/runtime/pages/cms/KatzeEdit.vue | 224 +++++ src/runtime/pages/cms/KatzeHome.vue | 72 ++ src/runtime/types/EditTypes.ts | 34 + 15 files changed, 1090 insertions(+), 984 deletions(-) delete mode 100644 src/runtime/components/views/EditView.vue delete mode 100644 src/runtime/components/views/MainView.vue create mode 100644 src/runtime/components/views/edit/PageList.vue create mode 100644 src/runtime/components/views/edit/RouteView.vue create mode 100644 src/runtime/components/views/edit/overlay/ActionButtons.vue create mode 100644 src/runtime/components/views/edit/overlay/ContentEdit.vue create mode 100644 src/runtime/components/views/edit/overlay/Hover.vue create mode 100644 src/runtime/components/views/edit/popup/Deployment.vue create mode 100644 src/runtime/components/views/edit/popup/Error.vue delete mode 100644 src/runtime/pages/KatzeCms.vue create mode 100644 src/runtime/pages/cms/KatzeEdit.vue create mode 100644 src/runtime/pages/cms/KatzeHome.vue create mode 100644 src/runtime/types/EditTypes.ts diff --git a/eslint.config.mjs b/eslint.config.mjs index 3318554..d57c03f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -17,5 +17,9 @@ export default createConfigForNuxt({ }, }) .append( - // your custom flat config here... + { + rules: { + 'vue/multi-word-component-names': 0, + }, + }, ) diff --git a/src/module.ts b/src/module.ts index 875fda3..73dd146 100644 --- a/src/module.ts +++ b/src/module.ts @@ -126,7 +126,12 @@ export default defineNuxtModule({ { name: 'katze-cms', path: '/cms', - file: resolver.resolve('runtime/pages/KatzeCms.vue'), + file: resolver.resolve('runtime/pages/cms/KatzeHome.vue'), + }, + { + name: 'katze-cms-edit', + path: '/cms/edit', + file: resolver.resolve('runtime/pages/cms/KatzeEdit.vue'), }, { name: 'katze-cms-login', @@ -168,6 +173,9 @@ export default defineNuxtModule({ await addComponentsDir({ path: resolver.resolve('runtime/components/ui'), }) + await addComponentsDir({ + path: resolver.resolve('runtime/components/views'), + }) }, }) diff --git a/src/runtime/components/views/EditView.vue b/src/runtime/components/views/EditView.vue deleted file mode 100644 index 5700ba6..0000000 --- a/src/runtime/components/views/EditView.vue +++ /dev/null @@ -1,855 +0,0 @@ - - - - - diff --git a/src/runtime/components/views/MainView.vue b/src/runtime/components/views/MainView.vue deleted file mode 100644 index e35662c..0000000 --- a/src/runtime/components/views/MainView.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - diff --git a/src/runtime/components/views/edit/PageList.vue b/src/runtime/components/views/edit/PageList.vue new file mode 100644 index 0000000..ecac836 --- /dev/null +++ b/src/runtime/components/views/edit/PageList.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/runtime/components/views/edit/RouteView.vue b/src/runtime/components/views/edit/RouteView.vue new file mode 100644 index 0000000..082ebc6 --- /dev/null +++ b/src/runtime/components/views/edit/RouteView.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/runtime/components/views/edit/overlay/ActionButtons.vue b/src/runtime/components/views/edit/overlay/ActionButtons.vue new file mode 100644 index 0000000..3f48b54 --- /dev/null +++ b/src/runtime/components/views/edit/overlay/ActionButtons.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/runtime/components/views/edit/overlay/ContentEdit.vue b/src/runtime/components/views/edit/overlay/ContentEdit.vue new file mode 100644 index 0000000..a7b29da --- /dev/null +++ b/src/runtime/components/views/edit/overlay/ContentEdit.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/src/runtime/components/views/edit/overlay/Hover.vue b/src/runtime/components/views/edit/overlay/Hover.vue new file mode 100644 index 0000000..017af19 --- /dev/null +++ b/src/runtime/components/views/edit/overlay/Hover.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/runtime/components/views/edit/popup/Deployment.vue b/src/runtime/components/views/edit/popup/Deployment.vue new file mode 100644 index 0000000..3d39050 --- /dev/null +++ b/src/runtime/components/views/edit/popup/Deployment.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/runtime/components/views/edit/popup/Error.vue b/src/runtime/components/views/edit/popup/Error.vue new file mode 100644 index 0000000..4e3ba2b --- /dev/null +++ b/src/runtime/components/views/edit/popup/Error.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/runtime/pages/KatzeCms.vue b/src/runtime/pages/KatzeCms.vue deleted file mode 100644 index fb4073f..0000000 --- a/src/runtime/pages/KatzeCms.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/src/runtime/pages/cms/KatzeEdit.vue b/src/runtime/pages/cms/KatzeEdit.vue new file mode 100644 index 0000000..8053e8b --- /dev/null +++ b/src/runtime/pages/cms/KatzeEdit.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/src/runtime/pages/cms/KatzeHome.vue b/src/runtime/pages/cms/KatzeHome.vue new file mode 100644 index 0000000..02e4eed --- /dev/null +++ b/src/runtime/pages/cms/KatzeHome.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/runtime/types/EditTypes.ts b/src/runtime/types/EditTypes.ts new file mode 100644 index 0000000..ad0247f --- /dev/null +++ b/src/runtime/types/EditTypes.ts @@ -0,0 +1,34 @@ +import type { RouteComponent } from 'vue-router' + +export type Lazy = () => Promise +export interface ContentCmsResponse { + success: boolean + body?: { + content: Record + } +} +export interface Route { + name: string + path: string + component: Lazy | RouteComponent | undefined | null +} +export interface MenuEntry { + name: string + click: () => void + active: () => boolean +} +export interface ImageListResponse { + body: { + images: string[] + } +} +export interface RequestState { + loading: boolean + success: boolean + failed: boolean +} + +export interface ApiResponse { + success: boolean + missingDeployHookURL?: boolean +}