From 80c74361eb8006056babd214843caf37a29e0817 Mon Sep 17 00:00:00 2001 From: Ehsan Date: Sat, 31 May 2025 03:35:23 +0330 Subject: [PATCH] change response file & request get user-profile & change design dashboard page & handle limit page dashboard --- app/dashboard/page.js | 11 ++- components/dashboard/Content.js | 4 +- .../dashboard/userAccount/UserAccount.js | 36 -------- .../dashboard/userAccount/content/HeadTab.js | 6 +- .../dashboard/userAccount/content/index.js | 50 +++++++---- .../allergies/ItemAllergie.js | 4 +- .../{tabs => detailUser}/allergies/index.js | 6 +- .../allergies/modal/Content.js | 0 .../allergies/modal/index.js | 8 +- .../{tabs => detailUser}/disease/index.js | 6 +- .../familyHistory/ItemHistory.js | 4 +- .../familyHistory/index.js | 4 +- .../familyHistory/modal/Content.js | 0 .../familyHistory/modal/index.js | 4 +- .../dashboard/userAccount/detailUser/index.js | 82 +++++++++++++++++++ .../information}/Content.js | 0 .../information}/DateBirthday.js | 2 +- .../information}/Form.js | 0 .../information}/index.js | 4 +- .../information}/listSelector.js | 0 .../medications/ItemMedication.js | 4 +- .../{tabs => detailUser}/medications/index.js | 6 +- .../medications/modal/Content.js | 0 .../medications/modal/index.js | 4 +- .../relatives/ItemRelatives.js | 4 +- .../{tabs => detailUser}/relatives/index.js | 8 +- .../relatives/modal/Content.js | 1 - .../relatives/modal/index.js | 4 +- .../surgeries/ItemSurgeries.js | 4 +- .../{tabs => detailUser}/surgeries/index.js | 12 +-- .../surgeries/modal/Content.js | 0 .../surgeries/modal/index.js | 4 +- components/dashboard/userAccount/index.js | 49 +++++++++++ .../sidebars/turns/isTurnsDetails/Head.js | 6 +- .../sidebars/turns/isTurnsDetails/index.js | 2 +- lib/ability.js | 10 +-- lib/auth.js | 4 +- services/response.js | 1 + 38 files changed, 233 insertions(+), 121 deletions(-) delete mode 100644 components/dashboard/userAccount/UserAccount.js rename components/dashboard/userAccount/{tabs => detailUser}/allergies/ItemAllergie.js (92%) rename components/dashboard/userAccount/{tabs => detailUser}/allergies/index.js (91%) rename components/dashboard/userAccount/{tabs => detailUser}/allergies/modal/Content.js (100%) rename components/dashboard/userAccount/{tabs => detailUser}/allergies/modal/index.js (87%) rename components/dashboard/userAccount/{tabs => detailUser}/disease/index.js (91%) rename components/dashboard/userAccount/{tabs => detailUser}/familyHistory/ItemHistory.js (91%) rename components/dashboard/userAccount/{tabs => detailUser}/familyHistory/index.js (91%) rename components/dashboard/userAccount/{tabs => detailUser}/familyHistory/modal/Content.js (100%) rename components/dashboard/userAccount/{tabs => detailUser}/familyHistory/modal/index.js (92%) create mode 100644 components/dashboard/userAccount/detailUser/index.js rename components/dashboard/userAccount/{sidebars/detailUser => detailUser/information}/Content.js (100%) rename components/dashboard/userAccount/{sidebars/detailUser => detailUser/information}/DateBirthday.js (97%) rename components/dashboard/userAccount/{sidebars/detailUser => detailUser/information}/Form.js (100%) rename components/dashboard/userAccount/{sidebars/detailUser => detailUser/information}/index.js (96%) rename components/dashboard/userAccount/{sidebars/detailUser => detailUser/information}/listSelector.js (100%) rename components/dashboard/userAccount/{tabs => detailUser}/medications/ItemMedication.js (92%) rename components/dashboard/userAccount/{tabs => detailUser}/medications/index.js (91%) rename components/dashboard/userAccount/{tabs => detailUser}/medications/modal/Content.js (100%) rename components/dashboard/userAccount/{tabs => detailUser}/medications/modal/index.js (92%) rename components/dashboard/userAccount/{tabs => detailUser}/relatives/ItemRelatives.js (93%) rename components/dashboard/userAccount/{tabs => detailUser}/relatives/index.js (91%) rename components/dashboard/userAccount/{tabs => detailUser}/relatives/modal/Content.js (98%) rename components/dashboard/userAccount/{tabs => detailUser}/relatives/modal/index.js (93%) rename components/dashboard/userAccount/{tabs => detailUser}/surgeries/ItemSurgeries.js (92%) rename components/dashboard/userAccount/{tabs => detailUser}/surgeries/index.js (78%) rename components/dashboard/userAccount/{tabs => detailUser}/surgeries/modal/Content.js (100%) rename components/dashboard/userAccount/{tabs => detailUser}/surgeries/modal/index.js (92%) create mode 100644 components/dashboard/userAccount/index.js diff --git a/app/dashboard/page.js b/app/dashboard/page.js index bf90a72..18a5e47 100644 --- a/app/dashboard/page.js +++ b/app/dashboard/page.js @@ -2,18 +2,23 @@ import Content from "@/components/dashboard/Content"; import { defineAbilitiesFor } from "@/lib/ability"; import { getUser } from "@/lib/auth"; import { getStateInfo } from "@/lib/getStateInfo"; +import axios from "axios"; import { redirect } from "next/navigation"; -async function UserAccount() { +export default async function Dashboard() { const { matchedCity } = getStateInfo(); const user = await getUser(); const ability = defineAbilitiesFor(user); + const response = await axios.get( + "https://back-dev.clinic-pro.ir/api/v1/user-profile/e4fd81b4-31bc-4f9a-b300-da23026f9d79" + ); + + console.log(response); + if (!ability.can("access", "Dashboard")) { return redirect("/"); } return ; } - -export default UserAccount; diff --git a/components/dashboard/Content.js b/components/dashboard/Content.js index d9ee861..86808cf 100644 --- a/components/dashboard/Content.js +++ b/components/dashboard/Content.js @@ -4,7 +4,7 @@ import { useState } from "react"; import userData from "@/data/userData.json"; import DashboardPage from "@/components/dashboard"; -import UserAccountPage from "@/components/dashboard/userAccount/UserAccount"; +import UserAccountPage from "./userAccount"; function Content({ matchedCity }) { const [value, setValue] = useState(0); @@ -15,7 +15,7 @@ function Content({ matchedCity }) { - {value === 5 ? ( - - ) : ( - <> - - - - )} - - ); -} - -export default UserAccountPage; diff --git a/components/dashboard/userAccount/content/HeadTab.js b/components/dashboard/userAccount/content/HeadTab.js index c769626..1f32f2d 100644 --- a/components/dashboard/userAccount/content/HeadTab.js +++ b/components/dashboard/userAccount/content/HeadTab.js @@ -11,7 +11,7 @@ function HeadTab({ components, }) { return ( - <> +
{isTurnsDetails ? ( ) : ( <> -
+
{components[tab]}
)} - +
); } diff --git a/components/dashboard/userAccount/content/index.js b/components/dashboard/userAccount/content/index.js index d29905e..43183f2 100644 --- a/components/dashboard/userAccount/content/index.js +++ b/components/dashboard/userAccount/content/index.js @@ -1,19 +1,25 @@ "use client"; import { useEffect, useState } from "react"; +import profileData from "@/data/profile_other.json"; import ArrowRightD from "@/components/icons/ArrowRightD"; import { Button } from "@mui/material"; import DownloadD from "@/components/icons/DownloadD"; -import Disease from "../tabs/disease"; -import Allergies from "../tabs/allergies"; -import Medications from "../tabs/medications"; -import Surgeries from "../tabs/surgeries"; -import FamilyHistory from "../tabs/familyHistory"; -import Relatives from "../tabs/relatives"; +import Disease from "../detailUser/disease"; +import Allergies from "../detailUser/allergies"; +import Medications from "../detailUser/medications"; +import Surgeries from "../detailUser/surgeries"; +import FamilyHistory from "../detailUser/familyHistory"; +import Relatives from "../detailUser/relatives"; import HeadTab from "./HeadTab"; -import profileData from "@/data/profile_other.json"; +import DetailUser from "../detailUser/information"; +import Turns from "../sidebars/turns"; +import Transactions from "../sidebars/transactions"; +import Comments from "../sidebars/comments"; +import Messages from "../sidebars/messages"; +import NotfoundDashboard from "../NotfoundDashboard"; const listTab = [ "بیماری‌ها", @@ -59,18 +65,27 @@ function ContentTabs({ console.warn(`Unknown action: ${action}`); return; } - console.log(newData); - setData(newData); }; const components = [ - , - , - , - , - , - , + // , + // , + // , + // , + // , + // , + + , + , + , + , + , + , ]; return ( @@ -102,7 +117,8 @@ function ContentTabs({ ) : undefined}
- {components[value]} + {/* + /> */} ); } diff --git a/components/dashboard/userAccount/tabs/allergies/ItemAllergie.js b/components/dashboard/userAccount/detailUser/allergies/ItemAllergie.js similarity index 92% rename from components/dashboard/userAccount/tabs/allergies/ItemAllergie.js rename to components/dashboard/userAccount/detailUser/allergies/ItemAllergie.js index b66e37e..3e31b5a 100644 --- a/components/dashboard/userAccount/tabs/allergies/ItemAllergie.js +++ b/components/dashboard/userAccount/detailUser/allergies/ItemAllergie.js @@ -1,7 +1,7 @@ -import ModalDeleteItem from "../../components/modal/ModalDeleteItem"; +import ModalDeleteItem from "@/components/dashboard/userAccount/components/modal/ModalDeleteItem"; import TextLoading from "@/app/component/loading/Text"; import { TableCell, TableRow } from "@mui/material"; -import ModalEditItem from "../../components/modal/ModalEditItem"; +import ModalEditItem from "@/components/dashboard/userAccount/components/modal/ModalEditItem"; import Content from "./modal/Content"; import { useState } from "react"; diff --git a/components/dashboard/userAccount/tabs/allergies/index.js b/components/dashboard/userAccount/detailUser/allergies/index.js similarity index 91% rename from components/dashboard/userAccount/tabs/allergies/index.js rename to components/dashboard/userAccount/detailUser/allergies/index.js index d8ea603..172cfa9 100644 --- a/components/dashboard/userAccount/tabs/allergies/index.js +++ b/components/dashboard/userAccount/detailUser/allergies/index.js @@ -1,8 +1,8 @@ import CustomTable from "@/app/component/CustomTable"; -import Head from "../../components/Head"; +import Head from "@/components/dashboard/userAccount/components/Head"; import { useState } from "react"; -import ModalAddAlergie from "./modal"; import ItemAllergie from "./ItemAllergie"; +import ModalAddAlergie from "./modal"; function Allergies({ data, changeData }) { const tableHead = ["ردیف", "ماده آلرژی‌زا", "واکنش", "شدت", ""]; @@ -10,7 +10,7 @@ function Allergies({ data, changeData }) { const [open, setOpen] = useState(false); return ( -
+
اضافه کردن diff --git a/components/dashboard/userAccount/tabs/disease/index.js b/components/dashboard/userAccount/detailUser/disease/index.js similarity index 91% rename from components/dashboard/userAccount/tabs/disease/index.js rename to components/dashboard/userAccount/detailUser/disease/index.js index fa53d7b..e498c6c 100644 --- a/components/dashboard/userAccount/tabs/disease/index.js +++ b/components/dashboard/userAccount/detailUser/disease/index.js @@ -1,15 +1,15 @@ import CustomTable from "@/app/component/CustomTable"; import TextLoading from "@/app/component/loading/Text"; import { Switch, TableCell, TableRow } from "@mui/material"; -import Head from "../../components/Head"; -import UpdateBtn from "../../components/UpdateBtn"; +import Head from "@/components/dashboard/userAccount/components/Head"; +import UpdateBtn from "@/components/dashboard/userAccount/components/UpdateBtn"; function Disease({ data, changeData }) { const tableHead = ["ردیف", "اسم", "وضعیت", ""]; const centerTable = [0]; return ( -
+
diff --git a/components/dashboard/userAccount/tabs/familyHistory/ItemHistory.js b/components/dashboard/userAccount/detailUser/familyHistory/ItemHistory.js similarity index 91% rename from components/dashboard/userAccount/tabs/familyHistory/ItemHistory.js rename to components/dashboard/userAccount/detailUser/familyHistory/ItemHistory.js index e62357a..7483655 100644 --- a/components/dashboard/userAccount/tabs/familyHistory/ItemHistory.js +++ b/components/dashboard/userAccount/detailUser/familyHistory/ItemHistory.js @@ -1,7 +1,7 @@ -import ModalDeleteItem from "../../components/modal/ModalDeleteItem"; +import ModalDeleteItem from "@/components/dashboard/userAccount/components/modal/ModalDeleteItem"; import TextLoading from "@/app/component/loading/Text"; import { TableCell, TableRow } from "@mui/material"; -import ModalEditItem from "../../components/modal/ModalEditItem"; +import ModalEditItem from "@/components/dashboard/userAccount/components/modal/ModalEditItem"; import Content from "./modal/Content"; import { useState } from "react"; diff --git a/components/dashboard/userAccount/tabs/familyHistory/index.js b/components/dashboard/userAccount/detailUser/familyHistory/index.js similarity index 91% rename from components/dashboard/userAccount/tabs/familyHistory/index.js rename to components/dashboard/userAccount/detailUser/familyHistory/index.js index f623728..f6d7e3d 100644 --- a/components/dashboard/userAccount/tabs/familyHistory/index.js +++ b/components/dashboard/userAccount/detailUser/familyHistory/index.js @@ -1,5 +1,5 @@ import CustomTable from "@/app/component/CustomTable"; -import Head from "../../components/Head"; +import Head from "@/components/dashboard/userAccount/components/Head"; import { useState } from "react"; import ModalAddHistory from "./modal"; import ItemHistory from "./ItemHistory"; @@ -10,7 +10,7 @@ function FamilyHistory({ data, changeData }) { const [open, setOpen] = useState(false); return ( -
+
setTab(newValue); + const changeData = (action, name, id, payload) => { + const newData = { + ...data, + [name]: [...data[name]], + }; + + switch (action) { + case "update": + newData[name][id] = payload; + break; + + case "add": + newData[name].push(payload); + break; + + case "delete": + newData[name].splice(id, 1); + break; + + default: + console.warn(`Unknown action: ${action}`); + return; + } + setData(newData); + }; + + const components = [ + , + , + , + , + , + , + , + ]; + + return ( + + ); +} + +export default DetailUser; diff --git a/components/dashboard/userAccount/sidebars/detailUser/Content.js b/components/dashboard/userAccount/detailUser/information/Content.js similarity index 100% rename from components/dashboard/userAccount/sidebars/detailUser/Content.js rename to components/dashboard/userAccount/detailUser/information/Content.js diff --git a/components/dashboard/userAccount/sidebars/detailUser/DateBirthday.js b/components/dashboard/userAccount/detailUser/information/DateBirthday.js similarity index 97% rename from components/dashboard/userAccount/sidebars/detailUser/DateBirthday.js rename to components/dashboard/userAccount/detailUser/information/DateBirthday.js index f3f99ec..d03de7a 100644 --- a/components/dashboard/userAccount/sidebars/detailUser/DateBirthday.js +++ b/components/dashboard/userAccount/detailUser/information/DateBirthday.js @@ -2,7 +2,7 @@ import CalendarEdit from "@/components/icons/CalendarEdit"; import { convertToJalali } from "@/helper"; import { Button, Popover } from "@mui/material"; import { DatePicker } from "jalaali-react-date-picker"; -import React, { useState } from "react"; +import { useState } from "react"; function DateBirthday({ data, changeData }) { const [anchorEl, setAnchorEl] = useState(null); diff --git a/components/dashboard/userAccount/sidebars/detailUser/Form.js b/components/dashboard/userAccount/detailUser/information/Form.js similarity index 100% rename from components/dashboard/userAccount/sidebars/detailUser/Form.js rename to components/dashboard/userAccount/detailUser/information/Form.js diff --git a/components/dashboard/userAccount/sidebars/detailUser/index.js b/components/dashboard/userAccount/detailUser/information/index.js similarity index 96% rename from components/dashboard/userAccount/sidebars/detailUser/index.js rename to components/dashboard/userAccount/detailUser/information/index.js index f431845..5356dbf 100644 --- a/components/dashboard/userAccount/sidebars/detailUser/index.js +++ b/components/dashboard/userAccount/detailUser/information/index.js @@ -3,7 +3,7 @@ import Form from "./Form"; import { Button } from "@mui/material"; import ArrowLeftWhiteD from "@/components/icons/ArrowLeftWhiteD"; -function DetailUser({ user }) { +function Information({ user }) { const [data, setData] = useState({ phone: { value: user.phone, isEdit: true }, national_code: { value: user.national_code, isEdit: true }, @@ -50,4 +50,4 @@ function DetailUser({ user }) { ); } -export default DetailUser; +export default Information; diff --git a/components/dashboard/userAccount/sidebars/detailUser/listSelector.js b/components/dashboard/userAccount/detailUser/information/listSelector.js similarity index 100% rename from components/dashboard/userAccount/sidebars/detailUser/listSelector.js rename to components/dashboard/userAccount/detailUser/information/listSelector.js diff --git a/components/dashboard/userAccount/tabs/medications/ItemMedication.js b/components/dashboard/userAccount/detailUser/medications/ItemMedication.js similarity index 92% rename from components/dashboard/userAccount/tabs/medications/ItemMedication.js rename to components/dashboard/userAccount/detailUser/medications/ItemMedication.js index 9783661..315e949 100644 --- a/components/dashboard/userAccount/tabs/medications/ItemMedication.js +++ b/components/dashboard/userAccount/detailUser/medications/ItemMedication.js @@ -1,7 +1,7 @@ -import ModalDeleteItem from "../../components/modal/ModalDeleteItem"; +import ModalDeleteItem from "@/components/dashboard/userAccount/components/modal/ModalDeleteItem"; import TextLoading from "@/app/component/loading/Text"; import { TableCell, TableRow } from "@mui/material"; -import ModalEditItem from "../../components/modal/ModalEditItem"; +import ModalEditItem from "@/components/dashboard/userAccount/components/modal/ModalEditItem"; import Content from "./modal/Content"; import { useState } from "react"; diff --git a/components/dashboard/userAccount/tabs/medications/index.js b/components/dashboard/userAccount/detailUser/medications/index.js similarity index 91% rename from components/dashboard/userAccount/tabs/medications/index.js rename to components/dashboard/userAccount/detailUser/medications/index.js index 2d56809..cbdf4e3 100644 --- a/components/dashboard/userAccount/tabs/medications/index.js +++ b/components/dashboard/userAccount/detailUser/medications/index.js @@ -1,8 +1,8 @@ import CustomTable from "@/app/component/CustomTable"; -import Head from "../../components/Head"; -import ModalAddMedications from "./modal"; +import Head from "@/components/dashboard/userAccount/components/Head"; import { useState } from "react"; import ItemMedication from "./ItemMedication"; +import ModalAddMedications from "./modal"; function Medications({ data, changeData }) { const tableHead = ["ردیف", "نام دارو", "دوز مصرفی", "تعداد و زمان مصرف", ""]; @@ -10,7 +10,7 @@ function Medications({ data, changeData }) { const [open, setOpen] = useState(false); return ( -
+
+
setData((prev) => ({ ...prev, [name]: value })); - console.log(data); return (
diff --git a/components/dashboard/userAccount/tabs/relatives/modal/index.js b/components/dashboard/userAccount/detailUser/relatives/modal/index.js similarity index 93% rename from components/dashboard/userAccount/tabs/relatives/modal/index.js rename to components/dashboard/userAccount/detailUser/relatives/modal/index.js index 6411ff2..9cbe776 100644 --- a/components/dashboard/userAccount/tabs/relatives/modal/index.js +++ b/components/dashboard/userAccount/detailUser/relatives/modal/index.js @@ -1,6 +1,6 @@ import { styleDefault } from "@/mui"; -import AddBtn from "../../../components/AddBtn"; -import UpdateBtn from "../../../components/UpdateBtn"; +import AddBtn from "@/components/dashboard/userAccount/components/AddBtn"; +import UpdateBtn from "@/components/dashboard/userAccount/components/UpdateBtn"; import { Button, Modal } from "@mui/material"; import Content from "./Content"; import { useState } from "react"; diff --git a/components/dashboard/userAccount/tabs/surgeries/ItemSurgeries.js b/components/dashboard/userAccount/detailUser/surgeries/ItemSurgeries.js similarity index 92% rename from components/dashboard/userAccount/tabs/surgeries/ItemSurgeries.js rename to components/dashboard/userAccount/detailUser/surgeries/ItemSurgeries.js index a8f1ceb..02e5079 100644 --- a/components/dashboard/userAccount/tabs/surgeries/ItemSurgeries.js +++ b/components/dashboard/userAccount/detailUser/surgeries/ItemSurgeries.js @@ -1,7 +1,7 @@ -import ModalDeleteItem from "../../components/modal/ModalDeleteItem"; +import ModalDeleteItem from "@/components/dashboard/userAccount/components/modal/ModalDeleteItem"; import TextLoading from "@/app/component/loading/Text"; import { TableCell, TableRow } from "@mui/material"; -import ModalEditItem from "../../components/modal/ModalEditItem"; +import ModalEditItem from "@/components/dashboard/userAccount/components/modal/ModalEditItem"; import Content from "./modal/Content"; import { useState } from "react"; diff --git a/components/dashboard/userAccount/tabs/surgeries/index.js b/components/dashboard/userAccount/detailUser/surgeries/index.js similarity index 78% rename from components/dashboard/userAccount/tabs/surgeries/index.js rename to components/dashboard/userAccount/detailUser/surgeries/index.js index 2533e94..59631ec 100644 --- a/components/dashboard/userAccount/tabs/surgeries/index.js +++ b/components/dashboard/userAccount/detailUser/surgeries/index.js @@ -1,14 +1,10 @@ import CustomTable from "@/app/component/CustomTable"; -import TextLoading from "@/app/component/loading/Text"; -import EditB from "@/components/icons/EditB"; -import TrashB from "@/components/icons/TrashB"; -import { Button, TableCell, TableRow } from "@mui/material"; -import Head from "../../components/Head"; -import ModalAddSurgeries from "./modal"; +import Head from "@/components/dashboard/userAccount/components/Head"; import { useState } from "react"; import ItemSurgeries from "./ItemSurgeries"; +import ModalAddSurgeries from "./modal"; -function Surgeries({ data, updateData, changeData }) { +function Surgeries({ data, changeData }) { const tableHead = [ "ردیف", "نوع جراحی", @@ -20,7 +16,7 @@ function Surgeries({ data, updateData, changeData }) { const [open, setOpen] = useState(false); return ( -
+
, + , + , + , + , + , + ]; + + return ( +
+ {value === 5 ? ( + + ) : ( + <> + +
+ {sidebars[value]} +
+ + )} +
+ ); +} + +export default UserAccountPage; diff --git a/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/Head.js b/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/Head.js index 28a2fe8..5adcf50 100644 --- a/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/Head.js +++ b/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/Head.js @@ -3,7 +3,7 @@ import { Button } from "@mui/material"; import ButtonData from "./ButtonData"; import TextLoading from "@/app/component/loading/Text"; -function Head({ user, setIsTurnsDetails, loading }) { +function Head({ setIsTurnsDetails }) { return (
@@ -13,13 +13,13 @@ function Head({ user, setIsTurnsDetails, loading }) { > - +

جزئیات نوبت شما

- +
); } diff --git a/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/index.js b/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/index.js index 15aed02..2744393 100644 --- a/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/index.js +++ b/components/dashboard/userAccount/sidebars/turns/isTurnsDetails/index.js @@ -5,7 +5,7 @@ import Head from "./Head"; function IsTurnsDetails({ user, setIsTurnsDetails }) { return (
- +
diff --git a/lib/ability.js b/lib/ability.js index b4a3fa0..a2b6984 100644 --- a/lib/ability.js +++ b/lib/ability.js @@ -3,13 +3,11 @@ import { AbilityBuilder, createMongoAbility } from "@casl/ability"; export function defineAbilitiesFor(user) { const { can, cannot, build } = new AbilityBuilder(createMongoAbility); - if (user?.role === "admin") { + if (user) { can("access", "Dashboard"); - } else if (user?.role === "manager") { - can("access", "Dashboard"); - } else { - can("access", "Dashboard"); - // cannot("access", "Dashboard"); + } else { + // can("access", "Dashboard"); + cannot("access", "Dashboard"); } return build(); diff --git a/lib/auth.js b/lib/auth.js index 40df985..945419d 100644 --- a/lib/auth.js +++ b/lib/auth.js @@ -2,7 +2,7 @@ import { cookies } from "next/headers"; export async function getUser() { const cookieStore = cookies(); - const raw = cookieStore.get("user"); + const raw = cookieStore.get("access_token"); if (!raw) return null; - return JSON.parse(raw.value); + return raw; } diff --git a/services/response.js b/services/response.js index b55aeb1..86d5237 100644 --- a/services/response.js +++ b/services/response.js @@ -29,4 +29,5 @@ export const request = { }, }); }, + getUserProfile: (uuid) => api.get(`/api/v1/user-profile/${uuid}`), };