From dcc9833338be1ccd676f598e88e51a44c52ca145 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 23 Dec 2025 18:19:25 -0500 Subject: [PATCH] user manager integration --- package.json | 8 +- src/components/AdminSecurityPanel.vue | 148 ++++++++++++++++++++++++++ src/integrations.ts | 15 +++ src/main.ts | 4 +- 4 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 src/components/AdminSecurityPanel.vue create mode 100644 src/integrations.ts diff --git a/package.json b/package.json index 13bd62c..e49943d 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,11 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "build": "vue-tsc -b && vite build", - "preview": "vite preview" + "build": "vite build --mode production --config vite.config.ts", + "dev": "vite build --mode development --config vite.config.ts", + "watch": "vite build --mode development --watch --config vite.config.ts", + "typecheck": "vue-tsc --noEmit", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" }, "dependencies": { "vue": "^3.5.13" diff --git a/src/components/AdminSecurityPanel.vue b/src/components/AdminSecurityPanel.vue new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/src/components/AdminSecurityPanel.vue @@ -0,0 +1,148 @@ + + + diff --git a/src/integrations.ts b/src/integrations.ts new file mode 100644 index 0000000..e5d3a50 --- /dev/null +++ b/src/integrations.ts @@ -0,0 +1,15 @@ +import type { ModuleIntegrations } from "@KTXC/types/moduleTypes"; + +const integrations: ModuleIntegrations = { + user_manager_security_panels: [ + { + id: 'oidc-management', + label: 'External Provider', + icon: 'mdi-shield-lock', + priority: 30, + component: () => import('@/components/AdminSecurityPanel.vue'), + }, + ], +}; + +export default integrations; diff --git a/src/main.ts b/src/main.ts index dbdc1b3..5937258 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,9 +2,11 @@ // Exports components for admin configuration UI import ConfigPanel from './components/ConfigPanel.vue' +import integrations from './integrations' export { - ConfigPanel + ConfigPanel, + integrations } export default {