diff --git a/package-lock.json b/package-lock.json index b76af6c..0d62def 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,11 @@ "@chakra-ui/react": "^3.2.3", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", + "chart.js": "^4.4.7", "framer-motion": "^11.18.0", "next-themes": "^0.4.4", "react": "^18.3.1", + "react-chartjs-2": "^5.3.0", "react-dom": "^18.3.1", "react-hook-form": "^7.54.2", "react-icons": "^5.4.0", @@ -2660,6 +2662,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5220,6 +5228,18 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chart.js": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.7.tgz", + "integrity": "sha512-pwkcKfdzTMAU/+jNosKhNL2bHtJc/sSmYgVbuGTEDhzkrhmyihmP7vUc/5ZK9WopidMDHNe3Wm7jOd/WhuHWuw==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -8048,6 +8068,16 @@ "node": ">=0.10.0" } }, + "node_modules/react-chartjs-2": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz", + "integrity": "sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==", + "license": "MIT", + "peerDependencies": { + "chart.js": "^4.1.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", diff --git a/package.json b/package.json index dbaf301..ca92e73 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,11 @@ "@chakra-ui/react": "^3.2.3", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", + "chart.js": "^4.4.7", "framer-motion": "^11.18.0", "next-themes": "^0.4.4", "react": "^18.3.1", + "react-chartjs-2": "^5.3.0", "react-dom": "^18.3.1", "react-hook-form": "^7.54.2", "react-icons": "^5.4.0", diff --git a/src/Pages/Dashboard/Dashboard.tsx b/src/Pages/Dashboard/Dashboard.tsx index d063737..5a0e63e 100644 --- a/src/Pages/Dashboard/Dashboard.tsx +++ b/src/Pages/Dashboard/Dashboard.tsx @@ -1,8 +1,105 @@ +import { + Box, + createListCollection, + Heading, + HStack, + Stack, + Status, + Tabs, + Text, +} from "@chakra-ui/react"; +import MainFrame from "../../components/MainFrame"; +import BarChart from "../../components/Charts/BarChart"; +import { + SelectContent, + SelectItem, + SelectLabel, + SelectRoot, + SelectTrigger, + SelectValueText, +} from "../../components/ui/select"; +import SemiDoughnutChart from "../../components/Charts/SemiDoughnutChart"; const Dashboard = () => { - return ( -
Dashboard
- ) -} + const frameworks = createListCollection({ + items: [ + { label: "React.js", value: "react" }, + { label: "Vue.js", value: "vue" }, + { label: "Angular", value: "angular" }, + { label: "Svelte", value: "svelte" }, + ], + }); -export default Dashboard \ No newline at end of file + return ( + + + + + Total Users + + + + Tab 1 + Tab 2 + Tab 3 + + + + + + + + + + Recruiter 2554 + + + + Customer 1224 + + + + + + Item approvals in + + + + + + {frameworks.items.map((movie) => ( + + {movie.label} + + ))} + + + + + + + + + + + + + ); +}; + +export default Dashboard; diff --git a/src/Pages/ManageUsers/RegisterUsers/AddRegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/AddRegisterUsers.tsx new file mode 100644 index 0000000..8fa5979 --- /dev/null +++ b/src/Pages/ManageUsers/RegisterUsers/AddRegisterUsers.tsx @@ -0,0 +1,128 @@ +import { Field, Input, Stack } from "@chakra-ui/react"; +import { + DialogActionTrigger, + DialogBody, + DialogCloseTrigger, + DialogContent, + DialogFooter, + DialogHeader, + DialogRoot, + DialogTitle, + DialogTrigger, +} from "../../../components/ui/dialog"; +import { Button } from "../../../components/ui/button"; +import { IoMdAdd } from "react-icons/io"; + +function AddRegisterUsers() { + return ( + + + + + + + + + Add User Accounts + + + + + + + + First Name + + + + + Last Name + + + + + Gender + + + + + DOB + + + + + OTP Verified + + + + + Language + + + + + + + + + + + + + + ); +} + +export default AddRegisterUsers; diff --git a/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx new file mode 100644 index 0000000..4604103 --- /dev/null +++ b/src/Pages/ManageUsers/RegisterUsers/EditRegisterUsers.tsx @@ -0,0 +1,125 @@ +import { MdOutlineRemoveRedEye } from "react-icons/md"; +import { Field, Input, Stack } from "@chakra-ui/react"; +import { + DialogActionTrigger, + DialogBody, + DialogCloseTrigger, + DialogContent, + DialogFooter, + DialogHeader, + DialogRoot, + DialogTitle, + DialogTrigger, +} from "../../../components/ui/dialog"; +import { BiEdit } from "react-icons/bi"; +import { Button } from "../../../components/ui/button"; + +function EditRegisterUsers() { + return ( + + + + + + + + + Edit user Accounts + + + + + + + + First Name + + + + + Last Name + + + + + Gender + + + + + DOB + + + + + OTP Verified + + + + + Language + + + + + + + + + + + + + + ); +} + +export default EditRegisterUsers; diff --git a/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx b/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx index 67e01e0..4bf7247 100644 --- a/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx +++ b/src/Pages/ManageUsers/RegisterUsers/RegisterUsers.tsx @@ -1,18 +1,18 @@ import { Box, HStack, Image, Input, Text } from "@chakra-ui/react"; import MainFrame from "../../../components/MainFrame"; import AlertDailog from "../../../components/AlertDailog"; -import { FcCancel } from "react-icons/fc"; import { NavLink } from "react-router-dom"; -import { MdOutlineRemoveRedEye } from "react-icons/md"; import { RiDeleteBin5Line } from "react-icons/ri"; import DataTable from "../../../components/DataTable"; -import { HiCheck } from "react-icons/hi2"; -import { HiX } from "react-icons/hi"; import { Switch } from "../../../components/ui/switch"; -import { Button } from "../../../components/ui/button"; import { InputGroup } from "../../../components/ui/input-group"; import { LuSearch } from "react-icons/lu"; import { BiEdit } from "react-icons/bi"; +import ViewRegisterUsers from "./ViewRegisterUsers"; +import EditRegisterUsers from "./EditRegisterUsers"; +import { Button } from "../../../components/ui/button"; +import { IoMdAdd } from "react-icons/io"; +import AddRegisterUsers from "./AddRegisterUsers"; const tableHeadRow = [ "Sr. No", @@ -42,24 +42,14 @@ const registerUser: any[] = [ ), "Action": ( - - - - - - - - + + {/* */} } - alertCaption="are you sure you want to delete ?" + alertCaption="Are You Sure You Want To Delete This User ?" onConfirm={() => { console.log("User deleted:", i + 1); }} @@ -105,6 +95,7 @@ const RegisterUsers = () => { ps={8} /> + + + + + + + + + View Details + + + + + + + + First Name + + + + + Last Name + + + + + Gender + + + + + DOB + + + + + OTP Verified + + + + + Language + + + + + + + + + + ); +} + +export default ViewRegisterUsers; diff --git a/src/Routes/Nav.ts b/src/Routes/Nav.ts index 83956b9..e0c0a56 100644 --- a/src/Routes/Nav.ts +++ b/src/Routes/Nav.ts @@ -17,7 +17,7 @@ export const nav = [ }, { title: "Manage Users", - path: "/register-users", + path: "", Icon: BiUserPin, type:'multiple', children: [ @@ -65,7 +65,7 @@ export const nav = [ }, { title: "Manage CMS", - path: "/faq", + path: "", Icon: AiOutlineFileText, type:'multiple', children: [ @@ -104,7 +104,7 @@ export const nav = [ }, { title: "Master Module", - path: "/agency-master", + path: "", Icon: BsBoxes, type:'multiple', children: [ diff --git a/src/assets/deleteIcon.png b/src/assets/deleteIcon.png new file mode 100644 index 0000000..b3b827d Binary files /dev/null and b/src/assets/deleteIcon.png differ diff --git a/src/components/AlertDailog.tsx b/src/components/AlertDailog.tsx index efee69c..0202dd6 100644 --- a/src/components/AlertDailog.tsx +++ b/src/components/AlertDailog.tsx @@ -9,6 +9,7 @@ import { DialogRoot, DialogTrigger, } from "./ui/dialog"; +import DeleteICN from '../assets/deleteIcon.png' interface DeleteConfirmationDialogProps { onConfirm?: () => void; @@ -65,7 +66,8 @@ const AlertDailog: React.FC = ({ p={8} gap={2} > - {alertIcon && alertIcon} + {/* {alertIcon && alertIcon} */} + = ({ {" "} {alertCaption} - +