Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dda8fa7d30 | |||
| a0e417fc68 | |||
| 10e65fa6ff | |||
| f503422c42 | |||
| bd470ea8bc | |||
| 6c14b2587c | |||
| 085756b8bc | |||
| eb4d5315de | |||
| 8ac742e5d6 | |||
| c2db47cbb8 | |||
| ee787c0740 | |||
| 6136d762a3 | |||
| 2f73e84a84 | |||
| 8c57e94bb6 | |||
| fa7660de29 | |||
| bde30f781a | |||
| 9f9dcc5e37 | |||
| 3584447c65 |
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
@@ -40,3 +40,11 @@ button{
|
|||||||
font-size: 1rem!important;
|
font-size: 1rem!important;
|
||||||
font-weight: 700!important;
|
font-weight: 700!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.font-600 {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion-button, .accordion-button:not(.collapsed) {
|
||||||
|
background-color: transparent!important;
|
||||||
|
}
|
||||||
+16
-11
@@ -1,23 +1,28 @@
|
|||||||
import { QueryClientProvider, QueryClient } from '@tanstack/react-query'
|
import { QueryClientProvider, QueryClient } from '@tanstack/react-query'
|
||||||
|
import { Provider } from 'react-redux';
|
||||||
|
import store from './store/store'
|
||||||
import AppRouters from './AppRouters';
|
import AppRouters from './AppRouters';
|
||||||
|
|
||||||
import './App.css';
|
import './App.css';
|
||||||
|
|
||||||
|
|
||||||
function App() {
|
const queryClient = new QueryClient({
|
||||||
const queryClient = new QueryClient({
|
defaultOptions: {
|
||||||
defaultOptions: {
|
queries: {
|
||||||
queries: {
|
refetchOnWindowFocus: false,
|
||||||
refetchOnWindowFocus: false,
|
retry: 3,
|
||||||
retry: 3,
|
// refetchOnMount: false,
|
||||||
// refetchOnMount: false,
|
staleTime: 360000 // can also be a number in millisecond
|
||||||
staleTime: Infinity // can also be a number in millisecond
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
function App() {
|
||||||
return (
|
return (
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
<AppRouters />
|
<Provider store={store}>
|
||||||
|
<AppRouters />
|
||||||
|
</Provider>
|
||||||
</QueryClientProvider>
|
</QueryClientProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import SettingsPage from './views/SettingsPage'
|
|||||||
import ProductPage from './views/ProductPage'
|
import ProductPage from './views/ProductPage'
|
||||||
import SocketIOContextProvider from './component/context/SocketIOContext';
|
import SocketIOContextProvider from './component/context/SocketIOContext';
|
||||||
import CSignupPage from './views/CSignupPage';
|
import CSignupPage from './views/CSignupPage';
|
||||||
|
import HelpPage from './views/HelpPage';
|
||||||
|
|
||||||
function AppRouters() {
|
function AppRouters() {
|
||||||
return (
|
return (
|
||||||
@@ -45,6 +46,7 @@ function AppRouters() {
|
|||||||
<Route path={siteLinks.user} element={<UserPage />} />
|
<Route path={siteLinks.user} element={<UserPage />} />
|
||||||
<Route path={siteLinks.calendar} element={<CalendarPage />} />
|
<Route path={siteLinks.calendar} element={<CalendarPage />} />
|
||||||
<Route path={siteLinks.settings} element={<SettingsPage />} />
|
<Route path={siteLinks.settings} element={<SettingsPage />} />
|
||||||
|
<Route path={siteLinks.help} element={<HelpPage />} />
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,5 +1,5 @@
|
|||||||
import React, { useCallback, useEffect, useState } from "react";
|
import React, { useCallback, useEffect, useState } from "react";
|
||||||
import { useQuery } from '@tanstack/react-query'
|
import { useMutation, useQuery } from '@tanstack/react-query'
|
||||||
|
|
||||||
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
||||||
import EventCalendar from "./EventCalendar";
|
import EventCalendar from "./EventCalendar";
|
||||||
@@ -16,12 +16,34 @@ export default function Calendar(){
|
|||||||
// setDraggedEvent(event)
|
// setDraggedEvent(event)
|
||||||
// }
|
// }
|
||||||
|
|
||||||
const {data, isFetching, isError, error} = useQuery({
|
// const {data, isFetching, isError, error} = useQuery({
|
||||||
queryKey: queryKeys.calendar_events,
|
// queryKey: queryKeys.calendar_events,
|
||||||
queryFn: () => getCalendarEvents()
|
// queryFn: () => getCalendarEvents()
|
||||||
|
// })
|
||||||
|
|
||||||
|
const calendarEvents = useMutation({
|
||||||
|
mutationFn: (reqData) => {
|
||||||
|
return getCalendarEvents(reqData)
|
||||||
|
},
|
||||||
|
onError: (error) => {
|
||||||
|
console.log(error)
|
||||||
|
},
|
||||||
|
onSuccess: (res) => {
|
||||||
|
if(res?.data?.resultCode != '0'){
|
||||||
|
throw({message: 'Something went wrong'})
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const receievedEvents = data?.data?.bar_data
|
useEffect(()=>{
|
||||||
|
let reqData = {
|
||||||
|
token: localStorage.getItem('token'), // USER TOKEN
|
||||||
|
uid: localStorage.getItem('uid') // USER UID
|
||||||
|
}
|
||||||
|
calendarEvents.mutate(reqData)
|
||||||
|
},[])
|
||||||
|
|
||||||
|
const receievedEvents = calendarEvents?.data?.data
|
||||||
const category = receievedEvents?.category //EVENT CATEGORIES FROM API
|
const category = receievedEvents?.category //EVENT CATEGORIES FROM API
|
||||||
const eventList = receievedEvents?.list //EVENT LIST FROM API
|
const eventList = receievedEvents?.list //EVENT LIST FROM API
|
||||||
|
|
||||||
@@ -62,15 +84,15 @@ export default function Calendar(){
|
|||||||
</div>
|
</div>
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<div className="row">
|
<div className="row">
|
||||||
{isFetching ?
|
{calendarEvents?.isPending ?
|
||||||
<>
|
<>
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
<p className='text-mute'>Loading...</p>
|
<p className='text-mute'>Loading...</p>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
: isError ?
|
: calendarEvents?.error ?
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
<p className='text-danger'>{error.message}</p>
|
<p className='text-danger'>{calendarEvents?.error?.message}</p>
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
<>
|
<>
|
||||||
@@ -83,7 +105,7 @@ export default function Calendar(){
|
|||||||
Drag and drop your event or click in the calendar.
|
Drag and drop your event or click in the calendar.
|
||||||
</p> */}
|
</p> */}
|
||||||
|
|
||||||
{category.map((item, index) => {
|
{category?.map((item, index) => {
|
||||||
let color = item?.cid == '1' ? 'fc-event-success' : item?.cid == '2' ? 'fc-event-danger' : item?.cid == '3' ? 'fc-event-warning' : 'fc-event-primary'
|
let color = item?.cid == '1' ? 'fc-event-success' : item?.cid == '2' ? 'fc-event-danger' : item?.cid == '3' ? 'fc-event-warning' : 'fc-event-primary'
|
||||||
let circleColor = item?.cid == '1' ? 'text-success' : item?.cid == '2' ? 'text-danger' : item?.cid == '3' ? 'text-warning' : 'text-primary'
|
let circleColor = item?.cid == '1' ? 'text-success' : item?.cid == '2' ? 'text-danger' : item?.cid == '3' ? 'text-warning' : 'text-primary'
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -2,27 +2,40 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
||||||
import getImage from "../../utils/getImage";
|
import getImage from "../../utils/getImage";
|
||||||
import { useQuery } from "@tanstack/react-query";
|
import { useMutation, useQuery } from "@tanstack/react-query";
|
||||||
import { contactData } from "../../services/services";
|
import { contactData } from "../../services/services";
|
||||||
import queryKeys from "../../services/queryKeys";
|
import queryKeys from "../../services/queryKeys";
|
||||||
import getCustomTime from "../../utils/getCustomTime";
|
import getCustomTime from "../../utils/getCustomTime";
|
||||||
|
|
||||||
export default function Contacts(){
|
export default function Contacts(){
|
||||||
|
|
||||||
const {data:contacts, isFetching, isError, error} = useQuery({
|
// const {data:contacts, isFetching, isError, error} = useQuery({
|
||||||
queryKey: queryKeys.contacts,
|
// queryKey: queryKeys.contacts,
|
||||||
queryFn: () => contactData()
|
// queryFn: () => contactData()
|
||||||
})
|
// })
|
||||||
|
|
||||||
const contactsData = contacts?.data?.calendar_data?.contacts // LIST OF CONTACTS
|
|
||||||
const contactsCategory = contacts?.data?.calendar_data?.category // LIST OF CATEGORY
|
|
||||||
|
|
||||||
const [activeCategoryUID, setActiveCategoryUID] = useState('0') // HOLDS VALUE OF THE ACTIVE CATEGORY
|
const [activeCategoryUID, setActiveCategoryUID] = useState('0') // HOLDS VALUE OF THE ACTIVE CATEGORY
|
||||||
|
|
||||||
const [activeContactUID, setActiveContactUID] = useState(null)
|
const [activeContactUID, setActiveContactUID] = useState('')
|
||||||
const [activeDetail, setActiveDetail] = useState(null)
|
const [activeDetail, setActiveDetail] = useState([])
|
||||||
|
|
||||||
const [filteredContactData, setFiltererdContactData] = useState(null)
|
const [filteredContactData, setFiltererdContactData] = useState([])
|
||||||
|
|
||||||
|
|
||||||
|
const getContactData = useMutation({
|
||||||
|
mutationFn: (reqData) => {
|
||||||
|
return contactData(reqData)
|
||||||
|
},
|
||||||
|
onError: (error) => {
|
||||||
|
console.log(error)
|
||||||
|
},
|
||||||
|
onSuccess: (res) => {
|
||||||
|
if(res?.data?.resultCode != '0'){
|
||||||
|
throw({message: 'Something went wrong'})
|
||||||
|
}
|
||||||
|
setFiltererdContactData(res?.data?.contacts)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
const changeActiveUID = (uid) => {
|
const changeActiveUID = (uid) => {
|
||||||
setActiveContactUID(uid)
|
setActiveContactUID(uid)
|
||||||
@@ -42,10 +55,21 @@ export default function Contacts(){
|
|||||||
changeActiveUID(filteredConData[0]?.uid)
|
changeActiveUID(filteredConData[0]?.uid)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
let reqData = {
|
||||||
|
token: localStorage.getItem('token'), // USER TOKEN
|
||||||
|
uid: localStorage.getItem('uid') // USER UID
|
||||||
|
}
|
||||||
|
getContactData.mutate(reqData)
|
||||||
|
},[])
|
||||||
|
|
||||||
|
const contactsData = getContactData?.data?.data?.contacts // LIST OF CONTACTS
|
||||||
|
const contactsCategory = getContactData?.data?.data?.category // LIST OF CATEGORY
|
||||||
|
|
||||||
return(
|
return(
|
||||||
<>
|
<>
|
||||||
<BreadcrumbComBS title='Contacts' paths={['Dashboard', 'Contacts']} />
|
<BreadcrumbComBS title='Contacts' paths={['Dashboard', 'Contacts']} />
|
||||||
{isFetching ?
|
{getContactData?.isPending ?
|
||||||
<>
|
<>
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
@@ -53,10 +77,10 @@ export default function Contacts(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
: isError ?
|
: getContactData?.error ?
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
<p className='text-danger'>{error.message}</p>
|
<p className='text-danger'>{getContactData?.error?.message}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
@@ -121,14 +145,14 @@ export default function Contacts(){
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{contactsCategory && contactsCategory.map(item => (
|
{contactsCategory && contactsCategory.map(item => (
|
||||||
<li key={item?.product_id} className="py-2" onClick={()=>changeActiveCategoryUID(item?.product_id)} style={{cursor: 'pointer'}}>
|
<li key={item?.cid} className="py-2" onClick={()=>changeActiveCategoryUID(`A00000${item?.cid}`)} style={{cursor: 'pointer'}}>
|
||||||
<div>
|
<div>
|
||||||
<span className="nav align-items-center">
|
<span className="nav align-items-center">
|
||||||
<span>
|
<span>
|
||||||
<i className={`fa fa-circle-o pr-4 ${activeCategoryUID == item?.product_id ? 'text-primary' : 'text-warning'}`}></i>
|
<i className={`fa fa-circle-o pr-4 ${activeCategoryUID == `A00000${item?.cid}` ? 'text-primary' : 'text-warning'}`}></i>
|
||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<span>{item?.title}</span>
|
<span>{item?.description}</span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -177,10 +201,10 @@ export default function Contacts(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="mail-msg scrollbar scroll_dark">
|
<div className="mail-msg scrollbar scroll_dark">
|
||||||
{contactsData && (filteredContactData || contactsData).map((contact, index)=> {
|
{contactsData && filteredContactData?.map((contact, index)=> {
|
||||||
const isActive = (contact.uid == activeContactUID) || (!activeContactUID && index == 0)
|
const isActive = (contact?.uid == activeContactUID) || (!activeContactUID && index == 0)
|
||||||
return (
|
return (
|
||||||
<div key={contact.uid} onClick={()=>changeActiveUID(contact.uid)} className={`mail-msg-item ${isActive && 'bg-light'}`}>
|
<div key={contact?.uid} onClick={()=>changeActiveUID(contact?.uid)} className={`mail-msg-item ${isActive && 'bg-light'}`}>
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<div className="media align-items-center">
|
<div className="media align-items-center">
|
||||||
<div className="mr-3">
|
<div className="mr-3">
|
||||||
@@ -190,15 +214,15 @@ export default function Contacts(){
|
|||||||
</div>
|
</div>
|
||||||
<div className="w-100">
|
<div className="w-100">
|
||||||
<div className="mail-msg-item-titel justify-content-between">
|
<div className="mail-msg-item-titel justify-content-between">
|
||||||
<p>{contact.sender}</p>
|
<p>{contact?.sender}</p>
|
||||||
{/* <p className="d-none d-xl-block">06:59 <span> PM </span></p> */}
|
{/* <p className="d-none d-xl-block">06:59 <span> PM </span></p> */}
|
||||||
<p className="d-none d-xl-block"><span>{new Date(contact.added).toDateString()}</span></p>
|
<p className="d-none d-xl-block"><span>{new Date(contact?.added).toDateString()}</span></p>
|
||||||
</div>
|
</div>
|
||||||
<h5 className="mb-0 my-2">{contact.title}</h5>
|
<h5 className="mb-0 my-2">{contact?.title}</h5>
|
||||||
<p>{contact.message.length < 100 ? contact.message : contact.message.substring(0,101) + ' ...' }</p>
|
<p>{contact?.message?.length < 100 ? contact?.message : contact?.message.substring(0,101) + ' ...' }</p>
|
||||||
<p className="d-xl-none">
|
<p className="d-xl-none">
|
||||||
<span>
|
<span>
|
||||||
{new Date(contact.added).toDateString()}
|
{new Date(contact?.added).toDateString()}
|
||||||
{/* {getCustomTime(contact.added)} */}
|
{/* {getCustomTime(contact.added)} */}
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
@@ -219,13 +243,13 @@ export default function Contacts(){
|
|||||||
<img src={getImage("avtar/03.jpg")} className="img-fluid" alt="user" />
|
<img src={getImage("avtar/03.jpg")} className="img-fluid" alt="user" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h4 className="mb-0">{activeContactUID ? activeDetail[0].sender : contactsData[0].sender}</h4>
|
<h4 className="mb-0">{activeContactUID ? activeDetail[0]?.sender : filteredContactData[0]?.sender}</h4>
|
||||||
<p>{activeContactUID ? new Date(activeDetail[0].added).toDateString() : new Date(contactsData[0].added).toDateString()}</p>
|
<p>{activeContactUID ? new Date(activeDetail[0]?.added).toDateString() : new Date(filteredContactData[0]?.added).toDateString()}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4 d-flex justify-content-between">
|
<div className="mt-4 d-flex justify-content-between">
|
||||||
<div>
|
<div>
|
||||||
<h3>{activeContactUID ? activeDetail[0].title : contactsData[0].title}</h3>
|
<h3>{activeContactUID ? activeDetail[0]?.title : filteredContactData[0]?.title}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className="d-flex">
|
<div className="d-flex">
|
||||||
{/*<a href="javascript:void(0)"><i className="fa fa-reply font-22 pr-3"></i></a>*/}
|
{/*<a href="javascript:void(0)"><i className="fa fa-reply font-22 pr-3"></i></a>*/}
|
||||||
@@ -233,7 +257,7 @@ export default function Contacts(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<p>{activeContactUID ? activeDetail[0].message : contactsData[0].message}</p>
|
<p>{activeContactUID ? activeDetail[0]?.message : filteredContactData[0]?.message}</p>
|
||||||
{/* <p className="my-4">hey adminjon...</p>
|
{/* <p className="my-4">hey adminjon...</p>
|
||||||
<p className="mb-2">I truly believe Augustine’s words are true and if you look at history you know it is true. There are many people in the world with amazing talents who realize only a small percentage of their potential. We all know people who live this truth.</p>
|
<p className="mb-2">I truly believe Augustine’s words are true and if you look at history you know it is true. There are many people in the world with amazing talents who realize only a small percentage of their potential. We all know people who live this truth.</p>
|
||||||
<p>We also know those epic stories, those modern-day legends surrounding the early failures of such supremely successful folks as Michael Jordan and Bill Gates. We can look a bit further back in time to Albert Einstein or even further back to Abraham Lincoln. What made each of these people so successful? Motivation.</p>
|
<p>We also know those epic stories, those modern-day legends surrounding the early failures of such supremely successful folks as Michael Jordan and Bill Gates. We can look a bit further back in time to Albert Einstein or even further back to Abraham Lincoln. What made each of these people so successful? Motivation.</p>
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
import React from "react";
|
||||||
|
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
||||||
|
|
||||||
|
|
||||||
|
export default function HelpCom(){
|
||||||
|
|
||||||
|
return(
|
||||||
|
<>
|
||||||
|
<BreadcrumbComBS title='Frequesntly Asked Questions' paths={['Dashboard', 'Help']} />
|
||||||
|
{/*<div className="row">*/}
|
||||||
|
{/* <div className="vh-100 col-12 flex align-items-center">Coming Soon</div>*/}
|
||||||
|
{/*</div>*/}
|
||||||
|
|
||||||
|
|
||||||
|
<div className="row account-contant">
|
||||||
|
<div className="col-12">
|
||||||
|
<div className="card card-statistics">
|
||||||
|
<div className="card-body p-lg-15" style={{backgroundColor:"#f9f9fb"}}>
|
||||||
|
|
||||||
|
<p className="mb-4">First, a disclaimer – the entire process of writing a blog post often takes more than a couple of hours, even if you can type eighty words as per minute and your writing skills are sharp.</p>
|
||||||
|
<div className="row">
|
||||||
|
<div className="accordion" id="accordionExample">
|
||||||
|
{['a', 'b', 'c', 'd'].map((item, index)=>{
|
||||||
|
return (
|
||||||
|
<div className="accordion-item">
|
||||||
|
<h2 className="accordion-header">
|
||||||
|
<button className="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target={`#${item}`} aria-expanded="true" aria-controls="collapseOne">
|
||||||
|
{`Accordion Item ${item} 1`}
|
||||||
|
</button>
|
||||||
|
</h2>
|
||||||
|
<div id={item} className={`accordion-collapse collapse ${index == 0 && 'show'}`} data-bs-parent="#accordionExample">
|
||||||
|
<div className="accordion-body">
|
||||||
|
<strong>This is the first item’s accordion body.</strong> It is shown by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It’s also worth noting that just about any HTML can go within the accordion-body, though the transition does limit overflow.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -2,11 +2,13 @@ import React from "react";
|
|||||||
|
|
||||||
export default function UserFooter(){
|
export default function UserFooter(){
|
||||||
|
|
||||||
|
const year = new Date().getFullYear()
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<footer className="footer">
|
<footer className="footer">
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-12 col-sm-6 text-center text-sm-left">
|
<div className="col-12 col-sm-6 text-center text-sm-left">
|
||||||
<p>© Copyright 2024. All rights reserved.</p>
|
<p>© Copyright {year}. All rights reserved.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="col col-sm-6 ml-sm-auto text-center text-sm-right">
|
<div className="col col-sm-6 ml-sm-auto text-center text-sm-right">
|
||||||
<p>A division of <i className="fa fa-key text-danger mx-1"></i> autoMedSys A.I.</p>
|
<p>A division of <i className="fa fa-key text-danger mx-1"></i> autoMedSys A.I.</p>
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ export default function UserHeader(){
|
|||||||
<div className="navbar-header d-flex align-items-center">
|
<div className="navbar-header d-flex align-items-center">
|
||||||
<a href="#" onClick={toggleSidebar} className="mobile-toggle"><i className="ti ti-align-right"></i></a>
|
<a href="#" onClick={toggleSidebar} className="mobile-toggle"><i className="ti ti-align-right"></i></a>
|
||||||
<a className="navbar-brand" href="/dash">
|
<a className="navbar-brand" href="/dash">
|
||||||
<img src={getImage('logo-light.png')} className="img-fluid logo-desktop" alt="logo"/>
|
<img src={getImage('logo-pink.png')} className="img-fluid logo-desktop" alt="logo"/>
|
||||||
<img src={getImage('logo-icon.png')} className="img-fluid logo-mobile" alt="logo"/>
|
<img src={getImage('logo-pink.png')} className="img-fluid logo-mobile" alt="logo"/>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<button onClick={removeSidebar} className="navbar-toggler" type="button" data-bs-toggle="collapse"
|
<button onClick={removeSidebar} className="navbar-toggler" type="button" data-bs-toggle="collapse"
|
||||||
@@ -67,15 +67,15 @@ export default function UserHeader(){
|
|||||||
<ul className="navbar-nav nav-right ml-auto">
|
<ul className="navbar-nav nav-right ml-auto">
|
||||||
<li className="nav-item user-profile">
|
<li className="nav-item user-profile">
|
||||||
<a href="#" className="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown">
|
<a href="#" className="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown">
|
||||||
<img src={getImage('avtar/02.jpg')} alt="avtar-img" />
|
<img src={getImage('profile-pic-circle.png')} alt="avtar-img" />
|
||||||
<span className="bg-success user-status"></span>
|
<span className="bg-success user-status"></span>
|
||||||
</a>
|
</a>
|
||||||
<div className="dropdown-menu animated fadeIn">
|
<div className="dropdown-menu animated fadeIn">
|
||||||
<div className="bg-gradient px-4 py-3">
|
<div className="bg-gradient px-4 py-3">
|
||||||
<div className="d-flex align-items-center justify-content-between">
|
<div className="d-flex align-items-center justify-content-between">
|
||||||
<div className="mr-1">
|
<div className="mr-1">
|
||||||
<h5 className="text-white mb-0">{userDetails?.firstname} {userDetails?.lastname}</h5>
|
<h4 className="text-white mb-0 font-600">{userDetails?.firstname} {userDetails?.lastname}</h4>
|
||||||
<small className="text-white">{userDetails.email}</small>
|
<p className="text-white font-600">{userDetails.email}</p>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" onClick={logout} className="text-white font-20 tooltip-wrapper" data-toggle="tooltip"
|
<a href="#" onClick={logout} className="text-white font-20 tooltip-wrapper" data-toggle="tooltip"
|
||||||
data-placement="top" title="" data-original-title="Logout"> <i
|
data-placement="top" title="" data-original-title="Logout"> <i
|
||||||
@@ -92,8 +92,10 @@ export default function UserHeader(){
|
|||||||
<Link className="dropdown-item d-flex nav-link" to={siteLinks.settings}>
|
<Link className="dropdown-item d-flex nav-link" to={siteLinks.settings}>
|
||||||
<i className=" ti ti-settings pr-2 text-info"></i> Settings
|
<i className=" ti ti-settings pr-2 text-info"></i> Settings
|
||||||
</Link>
|
</Link>
|
||||||
<a className="dropdown-item d-flex nav-link" href="#">
|
<Link className="dropdown-item d-flex nav-link" to={siteLinks.help}>
|
||||||
<i className="fa fa-compass pr-2 text-warning"></i> Need help?</a>
|
<i className="fa fa-compass pr-2 text-warning"></i>
|
||||||
|
Need help?
|
||||||
|
</Link>
|
||||||
|
|
||||||
{/*<div className="row mt-2">*/}
|
{/*<div className="row mt-2">*/}
|
||||||
{/* <div className="col">*/}
|
{/* <div className="col">*/}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
import React, {useState} from "react";
|
import {useEffect} from "react";
|
||||||
import { useQuery } from '@tanstack/react-query'
|
import { useMutation, useQuery } from '@tanstack/react-query'
|
||||||
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
|
||||||
// import getImage from "../../utils/getImage";
|
// import getImage from "../../utils/getImage";
|
||||||
import ProductStart from "./ProductStart";
|
import ProductStart from "./ProductStart";
|
||||||
import { useLocation } from 'react-router-dom';
|
import { useLocation } from 'react-router-dom';
|
||||||
import {MyProductData, productData} from "../../services/services";
|
import {MyProductData} from "../../services/services";
|
||||||
import queryKeys from "../../services/queryKeys";
|
|
||||||
import ProductActive from "./ProductActive";
|
import ProductActive from "./ProductActive";
|
||||||
import ProductProvision from "./ProductProvision";
|
import ProductProvision from "./ProductProvision";
|
||||||
import {productConst} from "../../constants/products";
|
import {productConst} from "../../constants/products";
|
||||||
@@ -13,34 +12,42 @@ import {productConst} from "../../constants/products";
|
|||||||
export default function ProductFactory(){
|
export default function ProductFactory(){
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const pathname = location.pathname;
|
const pathname = location.pathname;
|
||||||
const [productStatus, setProductStatus] = useState(0);
|
|
||||||
|
|
||||||
//productConst.PRODUCT_ACTIVE
|
|
||||||
|
|
||||||
|
|
||||||
// Split the pathname by '/' and get the last element
|
// Split the pathname by '/' and get the last element
|
||||||
const lastPart = pathname.split('/').pop();
|
const productID = pathname.split('/').pop();
|
||||||
// console.log(lastPart)
|
|
||||||
|
|
||||||
const {data, isFetching, isError, error} = useQuery({
|
const getProductData = useMutation({
|
||||||
queryKey: queryKeys.product,
|
mutationFn: (reqData) => {
|
||||||
queryFn: () => MyProductData(lastPart)
|
return MyProductData(reqData)
|
||||||
|
},
|
||||||
|
onError: (error) => {
|
||||||
|
console.log(error)
|
||||||
|
},
|
||||||
|
onSuccess: (res) => {
|
||||||
|
if(res?.data?.resultCode != '0'){
|
||||||
|
throw({message: 'Something went wrong'})
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
let reqData = {
|
||||||
|
product_id : productID,
|
||||||
|
token: localStorage.getItem('token'), // USER TOKEN
|
||||||
|
uid: localStorage.getItem('uid') // USER UID
|
||||||
|
}
|
||||||
|
getProductData.mutate(reqData)
|
||||||
|
},[])
|
||||||
|
|
||||||
|
const myproduct_data = getProductData?.data?.data?.myproduct?.myproudct // PRODUCT DETAILS
|
||||||
const myproduct_data = data?.data?.myproduct_data
|
|
||||||
//setProductStatus(myproduct_data?.status)
|
|
||||||
|
|
||||||
const product_name = myproduct_data?.product_name;
|
const product_name = myproduct_data?.product_name;
|
||||||
|
|
||||||
const product_status = myproduct_data?.status;
|
const product_status = myproduct_data?.status;
|
||||||
|
|
||||||
return(
|
return(
|
||||||
<>
|
<>
|
||||||
<BreadcrumbComBS title={product_name} paths={['Dashboard', 'Product']} />
|
<BreadcrumbComBS title={product_name} paths={['Dashboard', 'Product']} />
|
||||||
<div className="row">
|
<div className="row">
|
||||||
{isFetching ?
|
{getProductData?.isPending ?
|
||||||
<>
|
<>
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
@@ -48,10 +55,10 @@ export default function ProductFactory(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
: isError ?
|
: getProductData?.error ?
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
<p className='text-danger'>{error.message}</p>
|
<p className='text-danger'>{getProductData?.error?.message}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export default function ProductProvision(props){
|
|||||||
queryFn: () => productProvision(reqData)
|
queryFn: () => productProvision(reqData)
|
||||||
})
|
})
|
||||||
|
|
||||||
const provisionData = provision?.data?.provision
|
const provisionData = provision?.data
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
joinRoom(productSubUID); // provision subscription room
|
joinRoom(productSubUID); // provision subscription room
|
||||||
@@ -60,7 +60,7 @@ export default function ProductProvision(props){
|
|||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<div className="progress">
|
<div className="progress">
|
||||||
<div className="progress-bar progress-bar-striped progress-bar-animated" role="progressbar"
|
<div className="progress-bar progress-bar-striped progress-bar-animated" role="progressbar"
|
||||||
aria-valuenow={`${provisionData.percent_completed}%`} aria-valuemin="0" aria-valuemax="100" style={{width:`${provisionData.percent_completed}%`}} ></div>
|
aria-valuenow={`${provisionData?.percent_completed}%`} aria-valuemin="0" aria-valuemax="100" style={{width:`${provisionData?.percent_completed}%`}} ></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -111,9 +111,7 @@ export default function ProductProvision(props){
|
|||||||
<h4 className="card-title" style={{padding:'10px'}}>Started creating your selection</h4>
|
<h4 className="card-title" style={{padding:'10px'}}>Started creating your selection</h4>
|
||||||
<img className="card-img-top" src={getImage('widget/working.jpg')} alt="Card image cap" />
|
<img className="card-img-top" src={getImage('widget/working.jpg')} alt="Card image cap" />
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<p>
|
<div className="" dangerouslySetInnerHTML={{__html: productDescription}}/>
|
||||||
{productDescription}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ export default function ProductStart(props){
|
|||||||
const productDescription = props.productData?.description;
|
const productDescription = props.productData?.description;
|
||||||
const promotion_text = props.productData?.promotion_text;
|
const promotion_text = props.productData?.promotion_text;
|
||||||
const product_status = props.productData?.status;
|
const product_status = props.productData?.status;
|
||||||
|
const saleText = props.productData?.sale_text;
|
||||||
|
|
||||||
const modalRef = useRef()
|
const modalRef = useRef()
|
||||||
|
|
||||||
const refetch = () => {
|
const refetch = () => {
|
||||||
@@ -59,7 +61,8 @@ export default function ProductStart(props){
|
|||||||
<img className="card-img-top" src={getImage(productBanner)} alt="Card image cap" />
|
<img className="card-img-top" src={getImage(productBanner)} alt="Card image cap" />
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<h4 className="card-title">{productTitle}</h4>
|
<h4 className="card-title">{productTitle}</h4>
|
||||||
<p className="card-text">{productDescription}</p>
|
<div className="card-text" dangerouslySetInnerHTML={{__html: productDescription}}/>
|
||||||
|
{/* <p className="card-text">{productDescription}</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -115,16 +118,7 @@ export default function ProductStart(props){
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="modal-body">
|
<div className="modal-body">
|
||||||
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
|
<div className="" dangerouslySetInnerHTML={{__html: saleText}}/>
|
||||||
in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at
|
|
||||||
eros. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean lacinia
|
|
||||||
bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque
|
|
||||||
nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor
|
|
||||||
fringilla. Cras mattis consectetur purus sit amet fermentum. Cras justo odio,
|
|
||||||
</p>
|
|
||||||
{/* {mutation.error &&
|
{/* {mutation.error &&
|
||||||
<>
|
<>
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export default function Settings(){
|
|||||||
<div className="row account-contant">
|
<div className="row account-contant">
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
<div className="card card-statistics">
|
<div className="card card-statistics">
|
||||||
<div className="card-body p-0">
|
<div className="card-body p-0" style={{backgroundColor:"#f9f9fb"}}>
|
||||||
<div className="row no-gutters">
|
<div className="row no-gutters">
|
||||||
<div className="col-xl-3 pb-xl-0 pb-5 border-right">
|
<div className="col-xl-3 pb-xl-0 pb-5 border-right">
|
||||||
<div className="page-account-profil pt-5">
|
<div className="page-account-profil pt-5">
|
||||||
@@ -62,9 +62,9 @@ export default function Settings(){
|
|||||||
<button className="btn btn-light text-primary mb-2">Upload New Avatar
|
<button className="btn btn-light text-primary mb-2">Upload New Avatar
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
{/*<div>*/}
|
||||||
<button className="btn btn-danger">Delete</button>
|
{/* <button className="btn btn-danger">Delete</button>*/}
|
||||||
</div>
|
{/*</div>*/}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -77,15 +77,25 @@ export default function Settings(){
|
|||||||
<form>
|
<form>
|
||||||
<div className="form-row">
|
<div className="form-row">
|
||||||
<div className="form-group col-md-12">
|
<div className="form-group col-md-12">
|
||||||
<label htmlFor="name1">Full Name</label>
|
<label htmlFor="name1">First Name</label>
|
||||||
<input type="text" className="form-control" id="name1"
|
<input type="text" className="form-control" id="name1"
|
||||||
value="Alice Williams" />
|
value="Alice" />
|
||||||
</div>
|
</div>
|
||||||
<div className="form-group col-md-12">
|
<div className="form-group col-md-12">
|
||||||
<label htmlFor="title1">Title</label>
|
<label htmlFor="name1">Last Name</label>
|
||||||
<input type="text" className="form-control" id="title1"
|
<input type="text" className="form-control" id="name1"
|
||||||
value="Marketing expert" />
|
value="Williams" />
|
||||||
</div>
|
</div>
|
||||||
|
<div className="form-group col-md-12">
|
||||||
|
<label htmlFor="name1">Account Name</label>
|
||||||
|
<input type="text" className="form-control" id="name1"
|
||||||
|
value="This is the best hospital name" />
|
||||||
|
</div>
|
||||||
|
{/*<div className="form-group col-md-12">*/}
|
||||||
|
{/* <label htmlFor="title1">Email</label>*/}
|
||||||
|
{/* <input type="text" className="form-control" id="title1"*/}
|
||||||
|
{/* value="email@email.com" />*/}
|
||||||
|
{/*</div>*/}
|
||||||
<div className="form-group col-md-12">
|
<div className="form-group col-md-12">
|
||||||
<label htmlFor="phone1">Phone Number</label>
|
<label htmlFor="phone1">Phone Number</label>
|
||||||
<input type="text" className="form-control" id="phone1"
|
<input type="text" className="form-control" id="phone1"
|
||||||
@@ -108,135 +118,47 @@ export default function Settings(){
|
|||||||
value="1234 North Avenue Luke Lane, South Bend, IN 360001" />
|
value="1234 North Avenue Luke Lane, South Bend, IN 360001" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="form-row">
|
{/*<div className="form-row">*/}
|
||||||
<div className="col-12">
|
{/* <div className="form-group col-md-4">*/}
|
||||||
<label className="mb-1">Birthday</label>
|
{/* <label htmlFor="inputState3">City</label>*/}
|
||||||
</div>
|
{/* <select id="inputState3" className="form-control">*/}
|
||||||
<div className="form-group col-md-4">
|
{/* <option>Choose...</option>*/}
|
||||||
<select id="inputState" className="form-control">
|
{/* <option selected="">London</option>*/}
|
||||||
<option>Date</option>
|
{/* <option>Montreal</option>*/}
|
||||||
<option>01</option>
|
{/* <option>Delhi</option>*/}
|
||||||
<option>02</option>
|
{/* <option>Tokyo</option>*/}
|
||||||
<option>03</option>
|
{/* </select>*/}
|
||||||
<option>04</option>
|
{/* </div>*/}
|
||||||
<option>05</option>
|
{/* <div className="form-group col-md-4">*/}
|
||||||
<option>06</option>
|
{/* <label htmlFor="inputState4">State</label>*/}
|
||||||
<option>07</option>
|
{/* <select id="inputState4" className="form-control">*/}
|
||||||
<option>08</option>
|
{/* <option>Choose...</option>*/}
|
||||||
<option>09</option>
|
{/* <option selected="">England</option>*/}
|
||||||
<option>10</option>
|
{/* <option>California</option>*/}
|
||||||
<option selected="">11</option>
|
{/* <option>Texas</option>*/}
|
||||||
<option>12</option>
|
{/* <option>Scotland</option>*/}
|
||||||
<option>13</option>
|
{/* </select>*/}
|
||||||
<option>14</option>
|
{/* </div>*/}
|
||||||
<option>15</option>
|
{/* <div className="form-group col-md-4">*/}
|
||||||
<option>16</option>
|
{/* <label htmlFor="inputZip">Zip</label>*/}
|
||||||
<option>17</option>
|
{/* <input type="text" className="form-control" id="inputZip"*/}
|
||||||
<option>18</option>
|
{/* value="EC1A 1BB" />*/}
|
||||||
<option>19</option>
|
{/* </div>*/}
|
||||||
<option>20</option>
|
{/*</div>*/}
|
||||||
<option>21</option>
|
{/*<div className="form-group">*/}
|
||||||
<option>22</option>
|
{/* <div className="form-check">*/}
|
||||||
<option>23</option>
|
{/* <input className="form-check-input" type="checkbox"*/}
|
||||||
<option>24</option>
|
{/* id="gridCheck" />*/}
|
||||||
<option>25</option>
|
{/* <label className="form-check-label" htmlFor="gridCheck">*/}
|
||||||
<option>26</option>
|
{/* I agree to receive email notification.*/}
|
||||||
<option>27</option>
|
{/* </label>*/}
|
||||||
<option>28</option>
|
{/* </div>*/}
|
||||||
<option>29</option>
|
{/*</div>*/}
|
||||||
<option>30</option>
|
<div style={{textAlign:"right"}}>
|
||||||
<option>31</option>
|
<button type="submit" className="btn btn-primary">Update Profile
|
||||||
</select>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="form-group col-md-4">
|
|
||||||
<select id="inputState1" className="form-control">
|
|
||||||
<option>Month</option>
|
|
||||||
<option>January</option>
|
|
||||||
<option>February</option>
|
|
||||||
<option>March</option>
|
|
||||||
<option>April</option>
|
|
||||||
<option selected="">May</option>
|
|
||||||
<option>June</option>
|
|
||||||
<option>July</option>
|
|
||||||
<option>August</option>
|
|
||||||
<option>September</option>
|
|
||||||
<option>October</option>
|
|
||||||
<option>November</option>
|
|
||||||
<option>December</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="form-group col-md-4">
|
|
||||||
<select id="inputState2" className="form-control">
|
|
||||||
<option>Year</option>
|
|
||||||
<option>1984</option>
|
|
||||||
<option>1985</option>
|
|
||||||
<option>1986</option>
|
|
||||||
<option>1987</option>
|
|
||||||
<option>1988</option>
|
|
||||||
<option>1989</option>
|
|
||||||
<option>1990</option>
|
|
||||||
<option>1991</option>
|
|
||||||
<option>1992</option>
|
|
||||||
<option>1993</option>
|
|
||||||
<option selected="">1994</option>
|
|
||||||
<option>1995</option>
|
|
||||||
<option>1996</option>
|
|
||||||
<option>1997</option>
|
|
||||||
<option>1998</option>
|
|
||||||
<option>1999</option>
|
|
||||||
<option>2000</option>
|
|
||||||
<option>2001</option>
|
|
||||||
<option>2002</option>
|
|
||||||
<option>2003</option>
|
|
||||||
<option>2004</option>
|
|
||||||
<option>2005</option>
|
|
||||||
<option>2006</option>
|
|
||||||
<option>2007</option>
|
|
||||||
<option>2008</option>
|
|
||||||
<option>2009</option>
|
|
||||||
<option>2010</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="form-row">
|
|
||||||
<div className="form-group col-md-4">
|
|
||||||
<label htmlFor="inputState3">City</label>
|
|
||||||
<select id="inputState3" className="form-control">
|
|
||||||
<option>Choose...</option>
|
|
||||||
<option selected="">London</option>
|
|
||||||
<option>Montreal</option>
|
|
||||||
<option>Delhi</option>
|
|
||||||
<option>Tokyo</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div className="form-group col-md-4">
|
|
||||||
<label htmlFor="inputState4">State</label>
|
|
||||||
<select id="inputState4" className="form-control">
|
|
||||||
<option>Choose...</option>
|
|
||||||
<option selected="">England</option>
|
|
||||||
<option>California</option>
|
|
||||||
<option>Texas</option>
|
|
||||||
<option>Scotland</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div className="form-group col-md-4">
|
|
||||||
<label htmlFor="inputZip">Zip</label>
|
|
||||||
<input type="text" className="form-control" id="inputZip"
|
|
||||||
value="EC1A 1BB" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="form-group">
|
|
||||||
<div className="form-check">
|
|
||||||
<input className="form-check-input" type="checkbox"
|
|
||||||
id="gridCheck" />
|
|
||||||
<label className="form-check-label" htmlFor="gridCheck">
|
|
||||||
I agree to receive email notification.
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<button type="submit" className="btn btn-primary">Update Information
|
|
||||||
</button>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -282,7 +204,10 @@ export default function Settings(){
|
|||||||
<input type="text" className="form-control" id="we"
|
<input type="text" className="form-control" id="we"
|
||||||
value="https://yourwebsite.com" />
|
value="https://yourwebsite.com" />
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" className="btn btn-primary">Save & Update</button>
|
<div style={{textAlign:"right"}}>
|
||||||
|
<button type="submit" className="btn btn-primary">Update Links</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+166
-166
@@ -53,172 +53,172 @@ export default function Users(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-xxl-3 col-xl-4 col-sm-6">
|
{/*<div className="col-xxl-3 col-xl-4 col-sm-6">*/}
|
||||||
<div className="card card-statistics contact-contant">
|
{/* <div className="card card-statistics contact-contant">*/}
|
||||||
<div className="card-body py-4">
|
{/* <div className="card-body py-4">*/}
|
||||||
<div className="d-flex align-items-center">
|
{/* <div className="d-flex align-items-center">*/}
|
||||||
<div className="bg-img">
|
{/* <div className="bg-img">*/}
|
||||||
<img src="assets/img/avtar/02.jpg" alt="" className="img-fluid" />
|
{/* <img src="assets/img/avtar/02.jpg" alt="" className="img-fluid" />*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div className="ml-3">
|
{/* <div className="ml-3">*/}
|
||||||
<h4 className="mb-0">Samuel Woods</h4>
|
{/* <h4 className="mb-0">Samuel Woods</h4>*/}
|
||||||
<p><span className="badge badge-success-inverse px-2 py-1 mt-1">Friends</span></p>
|
{/* <p><span className="badge badge-success-inverse px-2 py-1 mt-1">Friends</span></p>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div>
|
{/* <div>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon">
|
{/* <div className="img-icon">*/}
|
||||||
<div className="img-icon"><i className="fa fa-mobile"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-mobile"></i></div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>026-123-8546</p>
|
{/* <p>026-123-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-phone"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-phone"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>80-1230-8546</p>
|
{/* <p>80-1230-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-envelope-o"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-envelope-o"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>Samuel.Woods@gmail.com</p>
|
{/* <p>Samuel.Woods@gmail.com</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/*</div>*/}
|
||||||
<div className="col-xxl-3 col-xl-4 col-sm-6">
|
{/*<div className="col-xxl-3 col-xl-4 col-sm-6">*/}
|
||||||
<div className="card card-statistics contact-contant">
|
{/* <div className="card card-statistics contact-contant">*/}
|
||||||
<div className="card-body py-4">
|
{/* <div className="card-body py-4">*/}
|
||||||
<div className="d-flex align-items-center">
|
{/* <div className="d-flex align-items-center">*/}
|
||||||
<div className="bg-img">
|
{/* <div className="bg-img">*/}
|
||||||
<img src="assets/img/avtar/03.jpg" alt="" className="img-fluid" />
|
{/* <img src="assets/img/avtar/03.jpg" alt="" className="img-fluid" />*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div className="ml-3">
|
{/* <div className="ml-3">*/}
|
||||||
<h4 className="mb-0">Garettdon</h4>
|
{/* <h4 className="mb-0">Garettdon</h4>*/}
|
||||||
<p><span className="badge badge-primary-inverse px-2 py-1 mt-1">Office</span></p>
|
{/* <p><span className="badge badge-primary-inverse px-2 py-1 mt-1">Office</span></p>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div>
|
{/* <div>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-mobile"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-mobile"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>026-123-8546</p>
|
{/* <p>026-123-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-phone"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-phone"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>80-1230-8546</p>
|
{/* <p>80-1230-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-envelope-o"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-envelope-o"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>Garettdon@gmail.com</p>
|
{/* <p>Garettdon@gmail.com</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/*</div>*/}
|
||||||
<div className="col-xxl-3 col-xl-4 col-sm-6">
|
{/*<div className="col-xxl-3 col-xl-4 col-sm-6">*/}
|
||||||
<div className="card card-statistics contact-contant">
|
{/* <div className="card card-statistics contact-contant">*/}
|
||||||
<div className="card-body py-4">
|
{/* <div className="card-body py-4">*/}
|
||||||
<div className="d-flex align-items-center">
|
{/* <div className="d-flex align-items-center">*/}
|
||||||
<div className="bg-img">
|
{/* <div className="bg-img">*/}
|
||||||
<img src="assets/img/avtar/04.jpg" alt="" className="img-fluid" />
|
{/* <img src="assets/img/avtar/04.jpg" alt="" className="img-fluid" />*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div className="ml-3">
|
{/* <div className="ml-3">*/}
|
||||||
<h4 className="mb-0">Garynice</h4>
|
{/* <h4 className="mb-0">Garynice</h4>*/}
|
||||||
<p><span className="badge badge-warning-inverse px-2 py-1 mt-1">Home</span></p>
|
{/* <p><span className="badge badge-warning-inverse px-2 py-1 mt-1">Home</span></p>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div>
|
{/* <div>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-mobile"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-mobile"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>026-123-8546</p>
|
{/* <p>026-123-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-phone"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-phone"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>80-1230-8546</p>
|
{/* <p>80-1230-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-envelope-o"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-envelope-o"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>Garynice@gmail.com</p>
|
{/* <p>Garynice@gmail.com</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/*</div>*/}
|
||||||
<div className="col-xxl-3 col-xl-4 col-sm-6">
|
{/*<div className="col-xxl-3 col-xl-4 col-sm-6">*/}
|
||||||
<div className="card card-statistics contact-contant">
|
{/* <div className="card card-statistics contact-contant">*/}
|
||||||
<div className="card-body py-4">
|
{/* <div className="card-body py-4">*/}
|
||||||
<div className="d-flex align-items-center">
|
{/* <div className="d-flex align-items-center">*/}
|
||||||
<div className="bg-img">
|
{/* <div className="bg-img">*/}
|
||||||
<img src="assets/img/avtar/05.jpg" alt="" className="img-fluid" />
|
{/* <img src="assets/img/avtar/05.jpg" alt="" className="img-fluid" />*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div className="ml-3">
|
{/* <div className="ml-3">*/}
|
||||||
<h4 className="mb-0">Andrew nico</h4>
|
{/* <h4 className="mb-0">Andrew nico</h4>*/}
|
||||||
<p><span className="badge badge-success-inverse px-2 py-1 mt-1">Friends</span></p>
|
{/* <p><span className="badge badge-success-inverse px-2 py-1 mt-1">Friends</span></p>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
<div>
|
{/* <div>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-mobile"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-mobile"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>026-123-8546</p>
|
{/* <p>026-123-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-phone"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-phone"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>80-1230-8546</p>
|
{/* <p>80-1230-8546</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
<ul className="nav">
|
{/* <ul className="nav">*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<div className="img-icon"><i className="fa fa-envelope-o"></i></div>
|
{/* <div className="img-icon"><i className="fa fa-envelope-o"></i></div>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
<li className="nav-item">
|
{/* <li className="nav-item">*/}
|
||||||
<p>Andrew.nico@gmail.com</p>
|
{/* <p>Andrew.nico@gmail.com</p>*/}
|
||||||
</li>
|
{/* </li>*/}
|
||||||
</ul>
|
{/* </ul>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/* </div>*/}
|
||||||
</div>
|
{/*</div>*/}
|
||||||
<div className="col-xxl-3 col-xl-4 col-sm-6">
|
<div className="col-xxl-3 col-xl-4 col-sm-6">
|
||||||
<div className="card card-statistics contact-contant">
|
<div className="card card-statistics contact-contant">
|
||||||
<div className="card-body py-4">
|
<div className="card-body py-4">
|
||||||
|
|||||||
@@ -85,7 +85,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mail-contant .mail-f{
|
.mail-contant .mail-f{
|
||||||
position: absolute;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
@include desktop {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
@include desktop-lg {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-5
@@ -1,9 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom/client';
|
import ReactDOM from 'react-dom/client';
|
||||||
// import './index.css';
|
// import './index.css';
|
||||||
import { Provider } from 'react-redux';
|
// import { Provider } from 'react-redux';
|
||||||
|
// import store from './store/store'
|
||||||
import { BrowserRouter } from 'react-router-dom';
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
import store from './store/store'
|
|
||||||
|
|
||||||
import App from './App';
|
import App from './App';
|
||||||
//import reportWebVitals from './reportWebVitals';
|
//import reportWebVitals from './reportWebVitals';
|
||||||
@@ -17,9 +17,7 @@ const root = ReactDOM.createRoot(document.getElementById('root'));
|
|||||||
root.render(
|
root.render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<Provider store={store}>
|
<App />
|
||||||
<App />
|
|
||||||
</Provider>
|
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
</React.StrictMode>
|
</React.StrictMode>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
const siteLinks = {
|
const siteLinks = {
|
||||||
error: '*',
|
error: '*',
|
||||||
|
help: '/help',
|
||||||
home: '/',
|
home: '/',
|
||||||
dash: '/dash',
|
dash: '/dash',
|
||||||
product: '/product/*',
|
product: '/product/*',
|
||||||
|
|||||||
+25
-31
@@ -75,6 +75,30 @@ export const topBar = (reqData) => {
|
|||||||
return postAuxEnd(`/panel/account/bar`, postData, false)
|
return postAuxEnd(`/panel/account/bar`, postData, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION TO GET PRODUCT BY ID
|
||||||
|
export const MyProductData = (reqData) => {
|
||||||
|
let postData = {
|
||||||
|
...reqData,
|
||||||
|
}
|
||||||
|
return postAuxEnd(`/panel/myproduct/dash`, postData, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FUNCTION TO GET CALENDAR EVENTS
|
||||||
|
export const getCalendarEvents = (reqData) => {
|
||||||
|
let postData = {
|
||||||
|
...reqData,
|
||||||
|
}
|
||||||
|
return postAuxEnd(`/panel/account/calendar`, postData, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FUNCTION TO GET DASHBOARD PRODUCT DATA SECTION
|
||||||
|
export const contactData = (reqData) => {
|
||||||
|
let postData = {
|
||||||
|
...reqData,
|
||||||
|
}
|
||||||
|
return postAuxEnd(`/panel/contacts`, postData, false)
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION TO GET DASHBOARD RECENT ACTIONS SECTION
|
// FUNCTION TO GET DASHBOARD RECENT ACTIONS SECTION
|
||||||
export const recentActions = (reqData) => {
|
export const recentActions = (reqData) => {
|
||||||
let postData = {
|
let postData = {
|
||||||
@@ -98,6 +122,7 @@ export const productsData = (reqData) => {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// FUNCTION TO GET DASHBOARD PRODUCT URL DATA SECTION
|
// FUNCTION TO GET DASHBOARD PRODUCT URL DATA SECTION
|
||||||
export const productsURL = (reqData) => {
|
export const productsURL = (reqData) => {
|
||||||
let postData = {
|
let postData = {
|
||||||
@@ -152,16 +177,6 @@ export const recoverPWD = (reqData) => {
|
|||||||
return postAuxEnd('/panel/auth/reset', postData, false)
|
return postAuxEnd('/panel/auth/reset', postData, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION TO GET CALENDAR EVENTS
|
|
||||||
export const getCalendarEvents = (reqData) => {
|
|
||||||
let postData = {
|
|
||||||
...reqData,
|
|
||||||
token: localStorage.getItem('token'), // USER TOKEN
|
|
||||||
uid: localStorage.getItem('uid') // USER UID
|
|
||||||
}
|
|
||||||
return postAuxEnd(`/panel/account/calendar`, postData, false)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FUNCTION TO GET MY PRODUCT PROVISION DATA
|
// FUNCTION TO GET MY PRODUCT PROVISION DATA
|
||||||
export const productProvision = (reqData) => {
|
export const productProvision = (reqData) => {
|
||||||
let postData = {
|
let postData = {
|
||||||
@@ -173,24 +188,3 @@ export const productProvision = (reqData) => {
|
|||||||
// return getAuxEnd(`/panel/myproduct/provision`, postData)
|
// return getAuxEnd(`/panel/myproduct/provision`, postData)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION TO GET DASHBOARD PRODUCT DATA SECTION
|
|
||||||
export const contactData = (reqData) => {
|
|
||||||
let postData = {
|
|
||||||
...reqData,
|
|
||||||
token: localStorage.getItem('token'), // USER TOKEN
|
|
||||||
uid: localStorage.getItem('uid') // USER UID
|
|
||||||
}
|
|
||||||
return postAuxEnd(`/panel/contacts`, postData, false)
|
|
||||||
// return getAuxEnd(`/panel/contacts`)
|
|
||||||
}
|
|
||||||
|
|
||||||
export const MyProductData = (productID) => {
|
|
||||||
const reqData = { product_id : productID}
|
|
||||||
let postData = {
|
|
||||||
...reqData,
|
|
||||||
token: localStorage.getItem('token'), // USER TOKEN
|
|
||||||
uid: localStorage.getItem('uid') // USER UID
|
|
||||||
}
|
|
||||||
return postAuxEnd(`/panel/myproduct/dash`, postData, false)
|
|
||||||
// return getAuxEnd(`/panel/myproduct/dash`,reqData)
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
let getImage = (location) => {
|
let getImage = (location) => {
|
||||||
if (!location) {
|
if (!location) {
|
||||||
return require(`../assets/img/logo.png`);
|
return require(`../assets/img/logo-pink.png`);
|
||||||
} else {
|
} else {
|
||||||
return require(`../assets/img/${location}`);
|
return require(`../assets/img/${location}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import HelpCom from '../component/help/HelpCom'
|
||||||
|
|
||||||
|
export default function HelpPage() {
|
||||||
|
return (
|
||||||
|
<HelpCom />
|
||||||
|
)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user