Compare commits

...

5 Commits

Author SHA1 Message Date
victorAnumudu 6d16e7f63f faq content add from API 2023-06-16 12:15:08 +01:00
ameye 153bc7ab7d Merge branch 'refferal-style' of WrenchBoard/Users-Wrench into master 2023-06-15 20:37:21 +00:00
victorAnumudu 054688af8b referral layout and style fixed 2023-06-15 21:02:49 +01:00
CHIEFSOFT\ameye 9994ccc26a History page 2023-06-15 12:11:06 -04:00
ameye f5c24ffb0c Merge branch 'other-interest-amendment' of WrenchBoard/Users-Wrench into master 2023-06-15 15:43:20 +00:00
10 changed files with 111 additions and 65 deletions
+2 -2
View File
@@ -10,7 +10,7 @@ export default function Accordion({ datas }) {
<> <>
<div className="accordion-item overflow-hidden relative z-[1]"> <div className="accordion-item overflow-hidden relative z-[1]">
<div <div
className="accordion-title-bar flex items-center space-x-3 py-5 border-b border-light-purple dark:border-[#5356fb29] " className="accordion-title-bar flex items-center space-x-3 py-5 border-b border-light-purple dark:border-[#5356fb29] cursor-pointer"
onClick={accordionHandler} onClick={accordionHandler}
> >
<div className="accordion-title-icon relative"> <div className="accordion-title-icon relative">
@@ -36,7 +36,7 @@ export default function Accordion({ datas }) {
<div className="w-[3px] h-auto bg-purple rounded-[28px]"></div> <div className="w-[3px] h-auto bg-purple rounded-[28px]"></div>
<div className="flex-1"> <div className="flex-1">
<p className="text-base text-thin-light-gray tracking-wide"> <p className="text-base text-thin-light-gray tracking-wide">
{datas.content} {datas.msg}
</p> </p>
</div> </div>
</div> </div>
@@ -68,13 +68,13 @@ export default function InputCom({
)} )}
</div> </div>
<div <div
className={`input-wrapper border border-[#f5f8fa] dark:border-[#5e6278] w-full rounded-[0.475rem] h-[42px] overflow-hidden relative font-medium leading-6 bg-clip-padding text-[#5e6278] dark:text-gray-100 bg-[#f5f8fa] dark:bg-[#5e6278] text-base ${inputClass}`} className={`input-wrapper border border-[#f5f8fa] dark:border-[#5e6278] w-full rounded-full h-[42px] overflow-hidden relative font-medium leading-6 bg-clip-padding text-[#5e6278] dark:text-gray-100 bg-[#f5f8fa] dark:bg-[#5e6278] text-base ${inputClass}`}
> >
<input <input
placeholder={placeholder} placeholder={placeholder}
value={value} value={value}
onChange={inputHandler} onChange={inputHandler}
className={`input-field placeholder:text-base text-dark-gray w-full h-full ${ className={`input-field placeholder:text-base text-dark-gray w-full h-full tracking-wide ${
inputBg ? inputBg : "bg-[#FAFAFA]" inputBg ? inputBg : "bg-[#FAFAFA]"
} dark:bg-[#11131F] focus:ring-0 focus:outline-none ${fieldClass}`} } dark:bg-[#11131F] focus:ring-0 focus:outline-none ${fieldClass}`}
type={type} type={type}
+1 -1
View File
@@ -241,7 +241,7 @@ export default function History() {
</div> </div>
{/* END OF RECENT ACTIVITY SECTION */} {/* END OF RECENT ACTIVITY SECTION */}
</div> </div>
<HistoryTable /> {/*<HistoryTable />*/}
</div> </div>
</div> </div>
</Layout> </Layout>
@@ -15,7 +15,7 @@ function ReferralTable({history}) {
} }
return ( return (
<div className='flex flex-col justify-between h-full'> <div className='flex flex-col justify-between min-h-[420px] overflow-x-auto'>
<table className="referral-list w-full table-auto border-collapse text-left"> <table className="referral-list w-full table-auto border-collapse text-left">
<thead className='border-b-2'> <thead className='border-b-2'>
<tr className='text-slate-600'> <tr className='text-slate-600'>
+58 -46
View File
@@ -116,10 +116,21 @@ function ReferralDisplay() {
}, [refHistoryReload]); }, [refHistoryReload]);
return ( return (
<div className="content-wrapper w-full lg:flex xl:space-x-8 lg:space-x-4 bottomMargin"> <div className="content-wrapper w-full lg:flex xl:space-x-8 bottomMargin">
<div className="lg:w-1/2 w-full mb-10 lg:mb-0"> <div className="lg:w-2/2 w-full mb-10 lg:mb-0">
<div className="referral w-full md:p-8 p-4 h-full bg-white dark:bg-dark-white rounded-2xl shadow"> <div className="sm:flex justify-between items-center mb-6">
<h2 className="text-slate-900 dark:text-white text-xl lg:text-2xl font-medium"> <div className="mb-5 sm:mb-0">
<h1 className="text-26 font-bold inline-flex gap-3 text-dark-gray dark:text-white items-center">
<span>
Refer a Friend
</span>
</h1>
</div>
</div>
<div className="referral w-full md:p-8 p-4 bg-white dark:bg-dark-white rounded-2xl shadow">
<h2 className="mb-4 text-slate-900 dark:text-white text-xl lg:text-2xl font-medium">
Send Referral Send Referral
</h2> </h2>
<Formik <Formik
@@ -129,42 +140,44 @@ function ReferralDisplay() {
> >
{(props) => ( {(props) => (
<Form className="referral-info"> <Form className="referral-info">
{/* Firstname */} <div className="block md:mb-6 md:flex gap-10">
<div className="field w-full mb-6"> {/* Firstname */}
<InputCom <div className="field w-full mb-6 md:mb-0">
fieldClass="px-6" <InputCom
label="Firstname" fieldClass="px-6"
type="text" label="Firstname"
name="firstname" type="text"
placeholder="Firstname" name="firstname"
value={props.values.firstname} placeholder="Firstname"
inputHandler={props.handleChange} value={props.values.firstname}
blurHandler={props.handleBlur} inputHandler={props.handleChange}
/> blurHandler={props.handleBlur}
{props.errors.firstname && props.touched.firstname && ( />
<p className="text-sm text-red-500"> {props.errors.firstname && props.touched.firstname && (
{props.errors.firstname} <p className="text-sm text-red-500">
</p> {props.errors.firstname}
)} </p>
</div> )}
</div>
{/* Lastname */} {/* Lastname */}
<div className="field w-full mb-6"> <div className="field w-full mb-6 md:mb-0">
<InputCom <InputCom
fieldClass="px-6" fieldClass="px-6"
label="Lastname" label="Lastname"
type="text" type="text"
name="lastname" name="lastname"
placeholder="Lastname" placeholder="Lastname"
value={props.values.lastname} value={props.values.lastname}
inputHandler={props.handleChange} inputHandler={props.handleChange}
blurHandler={props.handleBlur} blurHandler={props.handleBlur}
/> />
{props.errors.lastname && props.touched.lastname && ( {props.errors.lastname && props.touched.lastname && (
<p className="text-sm text-red-500"> <p className="text-sm text-red-500">
{props.errors.lastname} {props.errors.lastname}
</p> </p>
)} )}
</div>
</div> </div>
<div className="field w-full mb-6"> <div className="field w-full mb-6">
@@ -193,8 +206,7 @@ function ReferralDisplay() {
) : ( ) : (
<button <button
type="submit" type="submit"
className="text-lg text-white bg-sky-blue p-2 hover:opacity-90 rounded-md" className="px-2 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white" >
>
Send Message Send Message
</button> </button>
)} )}
@@ -203,20 +215,20 @@ function ReferralDisplay() {
)} )}
</Formik> </Formik>
</div> </div>
</div>
<div className="lg:w-1/2 w-full mb-10 lg:mb-0"> <div className="w-full md:p-8 p-4 bg-white dark:bg-dark-white rounded-2xl shadow">
<div className="referral w-full md:p-8 p-4 h-full max-h-[700px] bg-white dark:bg-dark-white overflow-y-auto rounded-2xl shadow">
<h2 className="mb-2 text-slate-900 dark:text-white text-xl lg:text-2xl font-medium"> <h2 className="mb-2 text-slate-900 dark:text-white text-xl lg:text-2xl font-medium">
Referral List Referral List
</h2> </h2>
{referralList.loading ? ( {referralList.loading ? (
<LoadingSpinner size="32" color="sky-blue" /> <LoadingSpinner size="32" color="sky-blue" />
) : ( ) : (
<ReferralTable history={referralList} /> <ReferralTable history={referralList} />
)} )}
</div> </div>
</div> </div>
</div> </div>
); );
} }
+9 -5
View File
@@ -1,14 +1,18 @@
import React from "react"; import React from "react";
import Accordion from "../../Helpers/Accordion"; import Accordion from "../../Helpers/Accordion";
import LoadingSpinner from "../../Spinners/LoadingSpinner";
export default function FaqTab({ datas = [] }) { export default function FaqTab({ datas }) {
return ( return (
<div className="faq-tab w-full"> <div className="faq-tab w-full">
<div className="accordion-items w-full"> <div className="accordion-items w-full">
{datas && {datas.loading ?
datas.length > 0 && <LoadingSpinner color='sky-blue' size={16} />
datas.map((value) => ( :
<Accordion key={value.id + Math.random()} datas={value} /> datas &&
datas?.data?.length > 0 &&
datas.data.map((value, index) => (
<Accordion key={index + Math.random()} datas={value} />
))} ))}
</div> </div>
</div> </div>
+3 -5
View File
@@ -1,7 +1,7 @@
import React, { useRef, useState } from "react"; import React, { useRef, useState } from "react";
import cover from "../../assets/images/profile-info-cover.png"; import cover from "../../assets/images/profile-info-cover.png";
import profile from "../../assets/images/profile-info-profile.png"; import profile from "../../assets/images/profile-info-profile.png";
import faq from "../../data/faq.json";
import Icons from "../Helpers/Icons"; import Icons from "../Helpers/Icons";
import Layout from "../Partials/Layout"; import Layout from "../Partials/Layout";
import ChangePasswordTab from "./Tabs/ChangePasswordTab"; import ChangePasswordTab from "./Tabs/ChangePasswordTab";
@@ -12,7 +12,7 @@ import PaymentMathodsTab from "./Tabs/PaymentMathodsTab";
import PersonalInfoTab from "./Tabs/PersonalInfoTab"; import PersonalInfoTab from "./Tabs/PersonalInfoTab";
import TermsConditionTab from "./Tabs/TermsConditionTab"; import TermsConditionTab from "./Tabs/TermsConditionTab";
export default function Settings() { export default function Settings({faq}) {
const tabs = [ const tabs = [
{ {
id: 1, id: 1,
@@ -83,8 +83,6 @@ export default function Settings() {
} }
}; };
// fab tab
const faqData = faq.datas;
return ( return (
<> <>
<Layout> <Layout>
@@ -259,7 +257,7 @@ export default function Settings() {
)} )}
{tab === "login_activity" && <LoginActivityTab />} {tab === "login_activity" && <LoginActivityTab />}
{tab === "password" && <ChangePasswordTab />} {tab === "password" && <ChangePasswordTab />}
{tab === "faq" && <FaqTab datas={faqData} />} {tab === "faq" && <FaqTab datas={faq} />}
{tab === "terms" && <TermsConditionTab />} {tab === "terms" && <TermsConditionTab />}
</div> </div>
</div> </div>
+3
View File
@@ -10,6 +10,9 @@
src: url("./assets/fonts/Product Sans Bold.ttf"); src: url("./assets/fonts/Product Sans Bold.ttf");
} }
.referral{
margin-bottom: 20px
}
.heroSilderTitle{ .heroSilderTitle{
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
font-family: sans; color: white; font-family: sans; color: white;
+11 -1
View File
@@ -687,9 +687,19 @@ class usersService {
action: 14015, action: 14015,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/activejobstatus ", postData); return this.postAuxEnd("/activejobstatus", postData);
} }
// END POINT FOR OWNER JOB ACTION
getFaq() {
var postData = {
uid: localStorage.getItem("uid"),
// member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"),
};
return this.postAuxEnd("/faq", postData);
}
/* /*
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username) - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username)
- 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password) - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password)
+21 -2
View File
@@ -1,10 +1,29 @@
import React from "react"; import React,{useState, useEffect} from "react";
import Settings from "../components/Settings"; import Settings from "../components/Settings";
import usersService from "../services/UsersService";
export default function SettingsPage() { export default function SettingsPage() {
const apiCall = new usersService()
let [faq, setFaq] = useState({loading:true, data:[]}) // STATE TO HOLD FAQ DATA
//FUNCTION TO GET FAQ
const getFaq = () => {
apiCall.getFaq().then(res => {
setFaq({loading:false, data:res.data.result_list})
}).catch(err => {
setFaq({loading:false, data:[]})
console.log('Error', err)
})
}
useEffect(()=>{
getFaq()
},[])
return ( return (
<> <>
<Settings /> <Settings faq={faq} />
</> </>
); );
} }