From 3b9c8a5eae5ce1c19fae439e9dd7a4bb6c485430 Mon Sep 17 00:00:00 2001 From: Archben Date: Wed, 11 Mar 2026 06:02:28 +0000 Subject: [PATCH] Updates --- .../(sections)/add-deployment-user-form.tsx | 3 ++ .../pages/admin/users/add-user/index.tsx | 15 ++++++++ .../admin/users/deployment-user/index.tsx | 34 +++++++++++++++++++ .../users/[deployment_user_id]/index.tsx | 8 +++-- src/pages/admin/users/add-user/index.tsx | 26 ++++++++++++++ src/types/index.ts | 1 + 6 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 src/components/pages/admin/users/add-user/(sections)/add-deployment-user-form.tsx create mode 100644 src/components/pages/admin/users/add-user/index.tsx create mode 100644 src/components/pages/admin/users/deployment-user/index.tsx create mode 100644 src/pages/admin/users/add-user/index.tsx 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 = {