Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bb0796d1e6 | |||
| 8b0aedcbf2 | |||
| dfdccc0287 | |||
| 12512cef97 | |||
| d5d0e64070 | |||
| d55f7ce175 | |||
| f81b687f9f | |||
| 3de1ef71c9 | |||
| fe7d23837c |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 28 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 14 KiB |
@@ -4,12 +4,12 @@ import { Link } from "react-router-dom";
|
||||
export default function LoginLayout({ slogan, children }) {
|
||||
return (
|
||||
<div className={`layout-wrapper login`}>
|
||||
<div className={`main-wrapper login-wrapper w-full h-screen overflow-y-auto p-2 sm:p-20`}>
|
||||
<div className={`main-wrapper login-wrapper w-full h-screen overflow-y-auto p-2 sm:px-20 sm:py-5`}>
|
||||
<div className="w-full h-full">
|
||||
<div className="flex-1 flex justify-center items-center">
|
||||
{children && children}
|
||||
</div>
|
||||
<div className="flex-1 flex justify-center items-center p-10">
|
||||
<div className="flex-1 flex justify-center items-center px-10 pt-10">
|
||||
<div className="flex items-center">
|
||||
<a
|
||||
href="https://www.wrenchboard.com/about-us"
|
||||
@@ -37,7 +37,7 @@ export default function LoginLayout({ slogan, children }) {
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-1 flex justify-center items-center p-10">
|
||||
<div className="flex-1 flex justify-center items-center px-10 py-1">
|
||||
<p className="text-black text-[15px] px-2 font-medium flex items-center">
|
||||
<span className="text-3xl mt-2 mr-1">©</span> 2023 - {" "}
|
||||
<Link to="/" className="text-[#009ef7] ml-1">
|
||||
|
||||
@@ -161,7 +161,7 @@ export default function Login() {
|
||||
<>
|
||||
<AuthLayout slogan="Welcome to WrenchBoard">
|
||||
<div className="w-full">
|
||||
<div className="mb-12">
|
||||
<div className="mb-5">
|
||||
<Link to="#">
|
||||
<img
|
||||
src={WrenchBoard}
|
||||
@@ -222,7 +222,7 @@ export default function Login() {
|
||||
fieldClass="sm:px-6 px-2"
|
||||
value={email}
|
||||
inputHandler={handleEmail}
|
||||
placeholder="support@mermsemr.com"
|
||||
placeholder="Your Email"
|
||||
label="Email"
|
||||
name="email"
|
||||
type="email"
|
||||
@@ -310,7 +310,7 @@ export default function Login() {
|
||||
fieldClass="px-6"
|
||||
value={email}
|
||||
inputHandler={handleEmail}
|
||||
placeholder="support@mermsemr.com"
|
||||
placeholder="Account ID"
|
||||
label="Username"
|
||||
name="email"
|
||||
type="email"
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import React, { useState } from "react";
|
||||
import { getTimeAgo } from "../../lib";
|
||||
import { useState } from "react";
|
||||
import SuggestTask from "../FamilyPopup/SuggestTask";
|
||||
|
||||
export default function FamilyMarketCard({ className, datas, hidden = false }) {
|
||||
// debugger;
|
||||
const [popUp, setPopUp] = useState(false);
|
||||
|
||||
const popUpHandler = () => {
|
||||
setPopUp((prev) => !prev);
|
||||
};
|
||||
// Image
|
||||
let selectedImage = require(`../../assets/images/family/${datas.banner || "default.jpg"}`);
|
||||
let selectedImage = require(`../../assets/images/family/${
|
||||
datas.banner || "default.jpg"
|
||||
}`);
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -39,7 +39,7 @@ export default function FamilyMarketCard({ className, datas, hidden = false }) {
|
||||
{hidden && <div className="flex justify-center"></div>}
|
||||
</div>
|
||||
</div>
|
||||
<div className="details-area mt-12">
|
||||
<div className="details-area mt-12 flex justify-between items-center gap-2">
|
||||
{/* title */}
|
||||
<button onClick={popUpHandler}>
|
||||
<h1 className="font-bold text-xl tracking-wide line-clamp-1 text-dark-gray dark:text-white capitalize">
|
||||
@@ -47,17 +47,18 @@ export default function FamilyMarketCard({ className, datas, hidden = false }) {
|
||||
</h1>
|
||||
</button>
|
||||
<div className="flex justify-between">
|
||||
<div className="flex items-center space-x-2">
|
||||
{/* <div className="flex items-center space-x-2">
|
||||
<p className="italic text-gray-400">
|
||||
{getTimeAgo(datas?.added)}
|
||||
</p>
|
||||
</div>
|
||||
</div> */}
|
||||
<div>
|
||||
<button
|
||||
type="button"
|
||||
onClick={popUpHandler}
|
||||
className="px-4 py-2.5 text-white text-sm bg-pink rounded-full tracking-wide"
|
||||
>
|
||||
Send
|
||||
View
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -65,7 +66,11 @@ export default function FamilyMarketCard({ className, datas, hidden = false }) {
|
||||
</div>
|
||||
</div>
|
||||
{popUp && (
|
||||
<SuggestTask onClose={popUpHandler} situation={popUp} details={{...datas, selectedImage}} />
|
||||
<SuggestTask
|
||||
onClose={popUpHandler}
|
||||
situation={popUp}
|
||||
details={{ ...datas, selectedImage }}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -21,6 +21,7 @@ const SuggestTask = ({ details, onClose, situation }) => {
|
||||
const apiCall = new usersService();
|
||||
|
||||
const handleSubmit = async (values) => {
|
||||
if(!values.title && !values.description) return;
|
||||
try {
|
||||
setSubmitTask({ loading: true });
|
||||
const reqData = { ...values };
|
||||
@@ -29,8 +30,8 @@ const SuggestTask = ({ details, onClose, situation }) => {
|
||||
setSubmitTask({ loading: false, msg: res.status, state: "bad" });
|
||||
return;
|
||||
}
|
||||
setSubmitTask({ loading: false, msg: res.status, state: "success" });
|
||||
setTimeout(() => {
|
||||
setSubmitTask({ loading: false, msg: res.status, state: "success" });
|
||||
onClose();
|
||||
}, 2000);
|
||||
} catch (error) {
|
||||
@@ -96,6 +97,7 @@ const SuggestTask = ({ details, onClose, situation }) => {
|
||||
inputBg="bg-slate-100"
|
||||
type="text"
|
||||
name="title"
|
||||
disable={details?.title}
|
||||
value={props.values.title}
|
||||
inputHandler={props.handleChange}
|
||||
blurHandler={props.handleBlur}
|
||||
@@ -144,14 +146,10 @@ const SuggestTask = ({ details, onClose, situation }) => {
|
||||
<span className="text-gradient"> Cancel</span>
|
||||
</button>
|
||||
|
||||
{/* {requestStatus.loading ? (
|
||||
<LoadingSpinner size="8" color="sky-blue" />
|
||||
) : ( */}
|
||||
<button
|
||||
type="submit"
|
||||
disabled={props.isSubmitting}
|
||||
className="text-white primary-gradient text-18 tracking-wide px-4 py-3 rounded-full"
|
||||
// className='w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white'
|
||||
>
|
||||
{submitTask.loading
|
||||
? "Submitting Task"
|
||||
|
||||
@@ -10,6 +10,7 @@ export default function Home(props) {
|
||||
console.log("PROPS IN HOME->", props);
|
||||
|
||||
let [nextDueTask, setNextDueTask] = useState({});
|
||||
const [MyOffersList, setMyOffersList] = useState([]);
|
||||
|
||||
const userApi = new usersService();
|
||||
|
||||
@@ -32,15 +33,32 @@ export default function Home(props) {
|
||||
});
|
||||
};
|
||||
|
||||
const getMyOffersList = async () => {
|
||||
try {
|
||||
const res = await userApi.getOffersList();
|
||||
setMyOffersList(res.data?.result_list);
|
||||
} catch (error) {
|
||||
console.log("Error getting offers", error);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
getHomeDate();
|
||||
const fetchData = async () => {
|
||||
await Promise.all([getHomeDate(), getMyOffersList()]);
|
||||
};
|
||||
|
||||
fetchData();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<div className="home-page-wrapper">
|
||||
{userDetails && userDetails?.account_type == "FAMILY" ? (
|
||||
<FamilyDash account={userDetails} commonHeadData={props.bannerList} />
|
||||
<FamilyDash
|
||||
account={userDetails}
|
||||
commonHeadData={props.bannerList}
|
||||
familyOffers={MyOffersList}
|
||||
/>
|
||||
) : userDetails && userDetails?.account_type == "FULL" ? (
|
||||
<FullAccountDash
|
||||
nextDueTask={nextDueTask}
|
||||
|
||||
@@ -8,7 +8,7 @@ import { useSelector } from "react-redux";
|
||||
export default function MyTaskPage() {
|
||||
const { myTaskTable } = useSelector((state) => state.tableReload);
|
||||
|
||||
let {commonHeadBanner} = useSelector(state => state.commonHeadBanner)
|
||||
let { commonHeadBanner } = useSelector((state) => state.commonHeadBanner);
|
||||
|
||||
const [MyActiveJobList, setMyActiveJobList] = useState({
|
||||
loading: true,
|
||||
@@ -43,8 +43,11 @@ export default function MyTaskPage() {
|
||||
}
|
||||
};
|
||||
useEffect(() => {
|
||||
getMyActiveJobList();
|
||||
getMyActiveOffersList();
|
||||
const fetchData = async () => {
|
||||
await Promise.all([getMyActiveJobList(), getMyActiveOffersList()]);
|
||||
};
|
||||
|
||||
fetchData();
|
||||
}, [myTaskTable]);
|
||||
|
||||
//debugger;
|
||||
|
||||
Reference in New Issue
Block a user