diff --git a/web/src/App.tsx b/web/src/App.tsx
index 1bfaa25..ff7d637 100644
--- a/web/src/App.tsx
+++ b/web/src/App.tsx
@@ -17,6 +17,7 @@ import NotAllowedPage from "./pages/NotAllowed";
import NotFoundPage from "./pages/NotFound";
import ApiServiceEditPage from "./pages/Admin/ApiServices/Update";
import AdminUsersPage from "./pages/Admin/Users";
+import AdminViewUserPage from "./pages/Admin/Users/View";
const router = createBrowserRouter([
{
@@ -59,10 +60,10 @@ const router = createBrowserRouter([
children: [
{ index: true, element: },
// { path: "create", element: },
- // {
- // path: "view/:serviceId",
- // element: ,
- // },
+ {
+ path: "view/:userId",
+ element: ,
+ },
// {
// path: "edit/:serviceId",
// element: ,
diff --git a/web/src/pages/Admin/Users/View/index.tsx b/web/src/pages/Admin/Users/View/index.tsx
new file mode 100644
index 0000000..2bc9ac8
--- /dev/null
+++ b/web/src/pages/Admin/Users/View/index.tsx
@@ -0,0 +1,139 @@
+import Breadcrumbs from "@/components/ui/breadcrumbs";
+import { Button } from "@/components/ui/button";
+import Avatar from "@/feature/Avatar";
+import { useUsers } from "@/store/admin/users";
+import { useEffect, type FC } from "react";
+import { Link, useParams } from "react-router";
+
+const InfoCard = ({
+ title,
+ children,
+}: {
+ title: string;
+ children: React.ReactNode;
+}) => (
+
+
+
+ {title}
+
+
+
{children}
+
+);
+
+const AdminViewUserPage: FC = () => {
+ const { userId } = useParams();
+ const user = useUsers((state) => state.current);
+ // const loading = useApiServices((state) => state.fetchingApiService);
+
+ const loadUser = useUsers((state) => state.fetchUser);
+
+ useEffect(() => {
+ if (typeof userId === "string") loadUser(userId);
+ }, [loadUser, userId]);
+
+ if (!user) {
+ return (
+
+ );
+ }
+
+ return (
+
+
+
+
+ {/* 📋 Main Details */}
+
+
+
+
+
+ Full Name:
+ {" "}
+ {user.full_name}
+
+
+
+ Email:
+ {" "}
+ {user.email}
+
+
+
+ Phone Number:
+ {" "}
+ {user.phone_number || "-"}{" "}
+
+
+
+ Is Admin:
+ {" "}
+
+ {user.is_admin ? "Yes" : "No"}
+
+
+
+
+ Created At:
+ {" "}
+ {new Date(user.created_at).toLocaleString()}
+
+
+
+ Last Login At:
+ {" "}
+ {user.last_login
+ ? new Date(user.last_login).toLocaleString()
+ : "never"}
+
+
+
+
+ {/* 🚀 Actions */}
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default AdminViewUserPage;