diff --git a/client/src/App.vue b/client/src/App.vue index fabb049..4b3ba74 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -15,6 +15,7 @@ import IDNSServer from '~icons/carbon/server-dns'; import ITimeServer from '~icons/carbon/server-time'; import IWireguard from '~icons/simple-icons/wireguard'; import IDHCPServer from '~icons/material-symbols/book-rounded'; +import IUser from '~icons/mdi/user'; enum NavState { Open, Reduced, Collapsed }; const NavStateCount = 3; @@ -34,6 +35,7 @@ const navRoutes = { "/vpn/wireguardstatus": { icon: IWireguard, caption: "Wireguard Status" }, "/vpn/wireguardinterfaces": { icon: IWireguard, caption: "Wireguard Interfaces" }, "/vpn/wireguardpeers": { icon: IWireguard, caption: "Wireguard Peers" }, + "/system/users": { icon: IUser, caption: "Users" }, "/config/config": { icon: IConfig, caption: "Config" }, }; diff --git a/client/src/definitions.ts b/client/src/definitions.ts index c9b3759..e300b99 100644 --- a/client/src/definitions.ts +++ b/client/src/definitions.ts @@ -377,4 +377,23 @@ export const editTypes: { [key: string]: { [key: string]: any } } = { ], }, }, + "system": { + name: "System", + "users": { + name: "User", + validationSchema: toFormValidator( + zod.object({ + }), + ), + sections: [ + { + fields: [ + { key: "name", label: "Name", as: "TextBox" }, + { key: "password", label: "Password", as: "TextBox", props: { type: "password" } }, + { key: "comment", label: "Comment", as: "MultilineTextBox" }, + ], + }, + ], + }, + }, }; \ No newline at end of file diff --git a/client/src/pages/system/Users.vue b/client/src/pages/system/Users.vue new file mode 100644 index 0000000..a41281a --- /dev/null +++ b/client/src/pages/system/Users.vue @@ -0,0 +1,67 @@ + + + \ No newline at end of file