diff --git a/src/components/pages/admin/users/add-user/(sections)/add-deployment-user-form.tsx b/src/components/pages/admin/users/add-user/(sections)/add-deployment-user-form.tsx
new file mode 100644
index 0000000..55b794d
--- /dev/null
+++ b/src/components/pages/admin/users/add-user/(sections)/add-deployment-user-form.tsx
@@ -0,0 +1,3 @@
+export default function AddDeploymentUserForm() {
+ return null;
+}
diff --git a/src/components/pages/admin/users/add-user/index.tsx b/src/components/pages/admin/users/add-user/index.tsx
new file mode 100644
index 0000000..742ad7e
--- /dev/null
+++ b/src/components/pages/admin/users/add-user/index.tsx
@@ -0,0 +1,15 @@
+import { Fragment, useContext } from "react";
+import { AppContext } from "@/src/pages/_app";
+import Divider from "@/twui/components/layout/Divider";
+import AdminHero from "@/src/components/general/admin/hero";
+
+export default function Main() {
+ const { pageProps } = useContext(AppContext);
+
+ return (
+
+
+
+
+ );
+}
diff --git a/src/components/pages/admin/users/deployment-user/index.tsx b/src/components/pages/admin/users/deployment-user/index.tsx
new file mode 100644
index 0000000..be5e659
--- /dev/null
+++ b/src/components/pages/admin/users/deployment-user/index.tsx
@@ -0,0 +1,34 @@
+import { Fragment, useContext } from "react";
+import { AppContext } from "@/src/pages/_app";
+import Divider from "@/twui/components/layout/Divider";
+import AdminHero from "@/src/components/general/admin/hero";
+import Tag from "@/twui/components/elements/Tag";
+import Row from "@/twui/components/layout/Row";
+
+export default function Main() {
+ const { pageProps } = useContext(AppContext);
+ const { deployment_user } = pageProps;
+
+ if (!deployment_user?.id) {
+ return null;
+ }
+
+ const is_super_admin = Boolean(deployment_user.is_super_admin);
+
+ return (
+
+
+ {deployment_user?.first_name}
+ {deployment_user?.last_name}
+ {is_super_admin ? (
+ Super Admin
+ ) : null}
+
+ }
+ />
+
+
+ );
+}
diff --git a/src/pages/admin/users/[deployment_user_id]/index.tsx b/src/pages/admin/users/[deployment_user_id]/index.tsx
index eca6f3c..1086a7a 100644
--- a/src/pages/admin/users/[deployment_user_id]/index.tsx
+++ b/src/pages/admin/users/[deployment_user_id]/index.tsx
@@ -1,5 +1,6 @@
-import Main from "@/src/components/pages/admin/users";
+import Main from "@/src/components/pages/admin/users/deployment-user";
import { NSQLITE_TURBOCI_ADMIN_USERS } from "@/src/db/types";
+import { _n } from "@/src/exports/client-exports";
import defaultAdminProps from "@/src/functions/pages/admin/default-admin-props";
import Layout from "@/src/layouts/admin";
import NSQLite from "@moduletrace/nsqlite";
@@ -16,7 +17,7 @@ export default function AdminSingleDeploymentUser() {
export const getServerSideProps: GetServerSideProps = async (ctx) => {
return await defaultAdminProps({
ctx,
- async propsFn({ user, props }) {
+ async propsFn({ user, props, query }) {
if (!user.super_admin) {
return `/admin`;
}
@@ -24,11 +25,12 @@ export const getServerSideProps: GetServerSideProps = async (ctx) => {
const users_res = await NSQLite.select(
{
table: "users",
+ targetId: _n(query?.deployment_user_id),
},
);
return {
- deployment_users: users_res.payload,
+ deployment_user: users_res.singleRes,
};
},
});
diff --git a/src/pages/admin/users/add-user/index.tsx b/src/pages/admin/users/add-user/index.tsx
new file mode 100644
index 0000000..1a4523f
--- /dev/null
+++ b/src/pages/admin/users/add-user/index.tsx
@@ -0,0 +1,26 @@
+import Main from "@/src/components/pages/admin/users/add-user";
+import { _n } from "@/src/exports/client-exports";
+import defaultAdminProps from "@/src/functions/pages/admin/default-admin-props";
+import Layout from "@/src/layouts/admin";
+import { GetServerSideProps } from "next";
+
+export default function AdminAddDeploymentUser() {
+ return (
+
+
+
+ );
+}
+
+export const getServerSideProps: GetServerSideProps = async (ctx) => {
+ return await defaultAdminProps({
+ ctx,
+ async propsFn({ user, props, query }) {
+ if (!user.super_admin) {
+ return `/admin`;
+ }
+
+ return {};
+ },
+ });
+};
diff --git a/src/types/index.ts b/src/types/index.ts
index cc1be44..4f50b02 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -199,6 +199,7 @@ export type PagePropsType = {
ws_url?: string | null;
host?: string | null;
deployment_users?: NSQLITE_TURBOCI_ADMIN_USERS[] | null;
+ deployment_user?: NSQLITE_TURBOCI_ADMIN_USERS | null;
};
export type APIReqObject = {