Fix dashboard data requests, update dashboard data handling, change login field type, and redesign home button
This commit is contained in:
@@ -5,6 +5,7 @@ import { useState } from "react";
|
||||
import userData from "@/data/userData.json";
|
||||
import DashboardPage from "@/components/dashboard";
|
||||
import UserAccountPage from "./userAccount";
|
||||
import { request } from "@/services/response";
|
||||
|
||||
function Content({
|
||||
matchedCity,
|
||||
@@ -17,6 +18,16 @@ function Content({
|
||||
const [value, setValue] = useState(Number(params?.sidebar) || 0);
|
||||
const [isOpenSide, setIsOpenSide] = useState(initialIsOpenSide);
|
||||
const [isTurnsDetails, setIsTurnsDetails] = useState(false);
|
||||
const [prevData, setPrevData] = useState(dataUser);
|
||||
|
||||
const updateDataUser = () => {
|
||||
request
|
||||
.getUserProfile(userInfo.uuid)
|
||||
.then((res) => {
|
||||
setPrevData(res);
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
return (
|
||||
<DashboardPage
|
||||
@@ -32,10 +43,11 @@ function Content({
|
||||
>
|
||||
<UserAccountPage
|
||||
value={value}
|
||||
dataUser={dataUser}
|
||||
dataUser={prevData}
|
||||
userInfo={userInfo}
|
||||
user={userData.data}
|
||||
setIsOpenSide={setIsOpenSide}
|
||||
updateDataUser={updateDataUser}
|
||||
isTurnsDetails={isTurnsDetails}
|
||||
setIsTurnsDetails={setIsTurnsDetails}
|
||||
/>
|
||||
|
||||
@@ -11,15 +11,17 @@ import Allergies from "./allergies";
|
||||
import Surgeries from "./surgeries";
|
||||
import FamilyHistory from "./familyHistory";
|
||||
import Relatives from "./relatives";
|
||||
import { dieses } from "./information/dieses";
|
||||
|
||||
function DetailUser({
|
||||
user,
|
||||
dataUser,
|
||||
userInfo,
|
||||
isTurnsDetails,
|
||||
updateDataUser,
|
||||
setIsTurnsDetails,
|
||||
}) {
|
||||
const [tab, setTab] = useState(5);
|
||||
const [tab, setTab] = useState(0);
|
||||
const initialData = {
|
||||
name: dataUser?.name,
|
||||
description: dataUser?.description,
|
||||
@@ -39,6 +41,18 @@ function DetailUser({
|
||||
national_code: dataUser?.national_code,
|
||||
};
|
||||
|
||||
if (!dataUser) {
|
||||
initialData.other = [
|
||||
{
|
||||
disease: dieses,
|
||||
allergies: [],
|
||||
medications: [],
|
||||
surgeries: [],
|
||||
family_history: [],
|
||||
relatives: [],
|
||||
},
|
||||
];
|
||||
}
|
||||
const [data, setData] = useState(initialData);
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
@@ -57,10 +71,10 @@ function DetailUser({
|
||||
setLoading(true);
|
||||
request
|
||||
.patchUserProfile(data, dataUser.uuid)
|
||||
.then((res) => {
|
||||
.then(() => {
|
||||
setLoading(false);
|
||||
})
|
||||
.catch((err) => {
|
||||
.catch(() => {
|
||||
setLoading(false);
|
||||
});
|
||||
};
|
||||
@@ -74,6 +88,8 @@ function DetailUser({
|
||||
setData={setData}
|
||||
userInfo={userInfo}
|
||||
dataUser={dataUser}
|
||||
initialData={initialData}
|
||||
updateDataUser={updateDataUser}
|
||||
isTurnsDetails={isTurnsDetails}
|
||||
setIsTurnsDetails={setIsTurnsDetails}
|
||||
/>,
|
||||
|
||||
@@ -11,23 +11,20 @@ import {
|
||||
import AutoSelector from "@/app/component/element/AutoSelector";
|
||||
|
||||
function Form({ data, userInfo, insurance, changeData, prevData }) {
|
||||
const findVal = (list, name, arr) =>
|
||||
data &&
|
||||
list &&
|
||||
list.length &&
|
||||
list.find((g) => g.id === (arr ? data[name][0] : data[name]));
|
||||
const findVal = (list, name) =>
|
||||
data && list && list.length && list.find((g) => g.id === data[name]);
|
||||
|
||||
return (
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-[24px]">
|
||||
<Content title="شماره موبایل" isConfirmed={true}>
|
||||
<Field
|
||||
isTransparent={true}
|
||||
iconGray={true}
|
||||
type="number"
|
||||
disable={true}
|
||||
iconGray={true}
|
||||
name="work_phone"
|
||||
isTransparent={true}
|
||||
changeData={changeData}
|
||||
data={userInfo?.username}
|
||||
disable={true}
|
||||
name="work_phone"
|
||||
/>
|
||||
</Content>
|
||||
<Content title="کد ملی" isConfirmed={false}>
|
||||
@@ -81,9 +78,12 @@ function Form({ data, userInfo, insurance, changeData, prevData }) {
|
||||
updateData={(name, val) => {
|
||||
changeData([Number(val.id)], "value", name);
|
||||
}}
|
||||
value={findVal(insurance, "basic_insurance", true)?.name}
|
||||
label="نوع بیمه"
|
||||
// value={findVal(insurance, "basic_insurance", true)?.name}
|
||||
value={insurance?.find(
|
||||
(g) => Number(g.id) === data.basic_insurance[0]
|
||||
)}
|
||||
name="basic_insurance"
|
||||
label="نوع بیمه"
|
||||
list={insurance}
|
||||
/>
|
||||
</Content>
|
||||
|
||||
@@ -7,7 +7,7 @@ export const dieses = [
|
||||
{
|
||||
id: 2,
|
||||
name: "دیابت",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
@@ -17,17 +17,17 @@ export const dieses = [
|
||||
{
|
||||
id: 4,
|
||||
name: "بیماری قلبی عروقی",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: "سرطان",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
name: "آلزایمر",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
@@ -37,7 +37,7 @@ export const dieses = [
|
||||
{
|
||||
id: 8,
|
||||
name: "بیماری کلیوی",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
@@ -57,7 +57,7 @@ export const dieses = [
|
||||
{
|
||||
id: 12,
|
||||
name: "اضطراب مزمن",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
@@ -72,7 +72,7 @@ export const dieses = [
|
||||
{
|
||||
id: 15,
|
||||
name: "پرکاری تیروئید",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 16,
|
||||
@@ -87,7 +87,7 @@ export const dieses = [
|
||||
{
|
||||
id: 18,
|
||||
name: "هپاتیت C",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 19,
|
||||
@@ -97,17 +97,17 @@ export const dieses = [
|
||||
{
|
||||
id: 20,
|
||||
name: "COVID-19",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 21,
|
||||
name: "لوپوس",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 22,
|
||||
name: "اماس (MS)",
|
||||
status: "true",
|
||||
status: "false",
|
||||
},
|
||||
{
|
||||
id: 23,
|
||||
|
||||
@@ -5,7 +5,15 @@ import ArrowLeftWhiteD from "@/components/icons/ArrowLeftWhiteD";
|
||||
import { request } from "@/services/response";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
function Information({ user, data, setData, userInfo, dataUser }) {
|
||||
function Information({
|
||||
user,
|
||||
data,
|
||||
setData,
|
||||
userInfo,
|
||||
dataUser,
|
||||
initialData,
|
||||
updateDataUser,
|
||||
}) {
|
||||
const [disable, setDisable] = useState(true);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [insurance, setInsurance] = useState();
|
||||
@@ -18,7 +26,7 @@ function Information({ user, data, setData, userInfo, dataUser }) {
|
||||
setInsurance(res.data);
|
||||
}
|
||||
})
|
||||
.catch((err) => {});
|
||||
// .catch((err) => {});
|
||||
}, []);
|
||||
|
||||
const changeData = (value, type, name) => {
|
||||
@@ -36,6 +44,9 @@ function Information({ user, data, setData, userInfo, dataUser }) {
|
||||
dataUser ? dataUser.uuid : Cookies.get("uuid")
|
||||
)
|
||||
.then((res) => {
|
||||
if (!dataUser) {
|
||||
updateDataUser();
|
||||
}
|
||||
setLoading(false);
|
||||
})
|
||||
.catch((err) => {
|
||||
|
||||
@@ -26,6 +26,7 @@ function UserAccountPage({
|
||||
setIsTurnsDetails,
|
||||
value,
|
||||
setIsOpenSide,
|
||||
updateDataUser,
|
||||
dataUser,
|
||||
userInfo,
|
||||
}) {
|
||||
@@ -35,6 +36,7 @@ function UserAccountPage({
|
||||
dataUser={dataUser}
|
||||
userInfo={userInfo}
|
||||
isTurnsDetails={isTurnsDetails}
|
||||
updateDataUser={updateDataUser}
|
||||
setIsTurnsDetails={setIsTurnsDetails}
|
||||
/>,
|
||||
<Turns user={user} loading={false} setIsTurnsDetails={setIsTurnsDetails} />,
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import Cookies from "js-cookie";
|
||||
import Image from "next/image";
|
||||
|
||||
function Head({ user }) {
|
||||
const userInfo = Cookies.get("userInfo");
|
||||
const parsedInfo = JSON.parse(userInfo);
|
||||
|
||||
return (
|
||||
<div className="w-full flex flex-row md:flex-col items-center justify-center md:justify-start gap-[12px] md:gap-[4px]">
|
||||
<Image
|
||||
@@ -11,8 +15,12 @@ function Head({ user }) {
|
||||
width={73}
|
||||
/>
|
||||
<div className="flex flex-col items-start md:items-center justify-center gap-[8px] md:gap-[4px]">
|
||||
<p className="text-[#3B3B3B] text-[14px] font-bold">{user.name}</p>
|
||||
<p className="text-[#7E7E7E] text-[14px] font-normal">{user.phone}</p>
|
||||
<p className="text-[#3B3B3B] text-[14px] font-bold">
|
||||
{parsedInfo.realName}
|
||||
</p>
|
||||
<p className="text-[#7E7E7E] text-[14px] font-normal">
|
||||
{parsedInfo.username}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
function OTPForm({ index, value, onChange, inputRef, isError }) {
|
||||
return (
|
||||
<input
|
||||
ref={inputRef}
|
||||
type="tel"
|
||||
value={value}
|
||||
maxLength={1}
|
||||
ref={inputRef}
|
||||
onChange={(e) => {
|
||||
const val = e.target.value;
|
||||
if (/^\d?$/.test(val)) {
|
||||
|
||||
Reference in New Issue
Block a user