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 @@
+
+
+
+
+
+ Create
+
+
+
+
\ No newline at end of file