Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 51a3c60590 | |||
| ab597039ba | |||
| 6fd2dcdb3d | |||
| c8fe2eadf6 | |||
| 1e174b7432 | |||
| dda8fa7d30 | |||
| d0f1d5ee34 | |||
| a2843d97e2 | |||
| a0e417fc68 | |||
| 10e65fa6ff | |||
| f503422c42 | |||
| bd470ea8bc | |||
| 6c14b2587c | |||
| 085756b8bc | |||
| eb4d5315de |
@@ -39,4 +39,12 @@
|
||||
button{
|
||||
font-size: 1rem!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 { Provider } from 'react-redux';
|
||||
import store from './store/store'
|
||||
import AppRouters from './AppRouters';
|
||||
|
||||
import './App.css';
|
||||
|
||||
|
||||
function App() {
|
||||
const queryClient = new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: {
|
||||
refetchOnWindowFocus: false,
|
||||
retry: 3,
|
||||
// refetchOnMount: false,
|
||||
staleTime: Infinity // can also be a number in millisecond
|
||||
},
|
||||
const queryClient = new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: {
|
||||
refetchOnWindowFocus: false,
|
||||
retry: 3,
|
||||
// refetchOnMount: false,
|
||||
staleTime: 360000 // can also be a number in millisecond
|
||||
},
|
||||
})
|
||||
},
|
||||
})
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<AppRouters />
|
||||
<Provider store={store}>
|
||||
<AppRouters />
|
||||
</Provider>
|
||||
</QueryClientProvider>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import SettingsPage from './views/SettingsPage'
|
||||
import ProductPage from './views/ProductPage'
|
||||
import SocketIOContextProvider from './component/context/SocketIOContext';
|
||||
import CSignupPage from './views/CSignupPage';
|
||||
import HelpPage from './views/HelpPage';
|
||||
|
||||
function AppRouters() {
|
||||
return (
|
||||
@@ -45,6 +46,7 @@ function AppRouters() {
|
||||
<Route path={siteLinks.user} element={<UserPage />} />
|
||||
<Route path={siteLinks.calendar} element={<CalendarPage />} />
|
||||
<Route path={siteLinks.settings} element={<SettingsPage />} />
|
||||
<Route path={siteLinks.help} element={<HelpPage />} />
|
||||
</Route>
|
||||
</Route>
|
||||
</Route>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import { Form, Formik } from "formik";
|
||||
import * as Yup from "yup";
|
||||
import { useDispatch } from 'react-redux'
|
||||
|
||||
import { Link, useNavigate, useParams } from 'react-router-dom'
|
||||
import siteLinks from '../../links/siteLinks'
|
||||
import { useMutation } from '@tanstack/react-query';
|
||||
import { completeRegistration, verifyEmail } from '../../services/services';
|
||||
import { updateUserDetails } from '../../store/UserDetails'
|
||||
|
||||
import { IoMdArrowDropdown } from "react-icons/io";
|
||||
|
||||
@@ -29,6 +31,8 @@ export default function CSignup() {
|
||||
|
||||
const {jwt} = useParams()
|
||||
|
||||
const dispatch = useDispatch()
|
||||
|
||||
const navigate = useNavigate()
|
||||
|
||||
const [user, setUser] = useState(null)
|
||||
@@ -51,15 +55,19 @@ export default function CSignup() {
|
||||
return completeRegistration(fields)
|
||||
},
|
||||
onSuccess: (res) => {
|
||||
const {token, room} = res?.data?.data
|
||||
if(token){
|
||||
localStorage.setItem('token', token)
|
||||
localStorage.setItem('room', room)
|
||||
// const data = {token}
|
||||
// dispatch(updateUserDetails({ ...data }));
|
||||
navigate('/dash') // later add redux to dispatch state
|
||||
if(res?.data?.resultCode != '0'){
|
||||
throw({message: res?.data?.resultDescription})
|
||||
}
|
||||
}
|
||||
const {token, room, uid} = res?.data
|
||||
if(!token || !room){
|
||||
throw({message: 'something went wrong, try again!'})
|
||||
}
|
||||
localStorage.setItem('token', token)
|
||||
localStorage.setItem('room', room)
|
||||
localStorage.setItem('uid', uid)
|
||||
dispatch(updateUserDetails({ ...res?.data }));
|
||||
navigate('/dash') // later add redux to dispatch state
|
||||
},
|
||||
// onError: (err) => {
|
||||
// console.log('err', err)
|
||||
// }
|
||||
|
||||
@@ -49,6 +49,7 @@ export default function Signup2() {
|
||||
const signUp = (values) => {
|
||||
// helpers.resetForm()
|
||||
// console.log('values', values, helpers)
|
||||
delete values.isChecked
|
||||
mutation.mutate(values)
|
||||
}
|
||||
|
||||
|
||||
@@ -21,29 +21,37 @@ export default function Calendar(){
|
||||
// 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 calendarEvents = useMutation({
|
||||
// mutationFn: (reqData) => {
|
||||
// return getCalendarEvents(reqData)
|
||||
// },
|
||||
// onError: (error) => {
|
||||
// console.log(error)
|
||||
// },
|
||||
// onSuccess: (res) => {
|
||||
// if(res?.data?.resultCode != '0'){
|
||||
// throw({message: 'Something went wrong'})
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
|
||||
useEffect(()=>{
|
||||
// useEffect(()=>{
|
||||
// let reqData = {
|
||||
// token: localStorage.getItem('token'), // USER TOKEN
|
||||
// uid: localStorage.getItem('uid') // USER UID
|
||||
// }
|
||||
// calendarEvents.mutate(reqData)
|
||||
// },[])
|
||||
let reqData = {
|
||||
token: localStorage.getItem('token'), // USER TOKEN
|
||||
uid: localStorage.getItem('uid') // USER UID
|
||||
}
|
||||
calendarEvents.mutate(reqData)
|
||||
},[])
|
||||
const {data, isFetching, isError, error} = useQuery({
|
||||
queryKey: queryKeys.calendar_events,
|
||||
queryFn: () => getCalendarEvents(reqData)
|
||||
})
|
||||
|
||||
const receievedEvents = calendarEvents?.data?.data
|
||||
const receievedEvents = data?.data
|
||||
const category = receievedEvents?.category //EVENT CATEGORIES FROM API
|
||||
const eventList = receievedEvents?.list //EVENT LIST FROM API
|
||||
|
||||
@@ -84,15 +92,15 @@ export default function Calendar(){
|
||||
</div>
|
||||
<div className="card-body">
|
||||
<div className="row">
|
||||
{calendarEvents?.isPending ?
|
||||
{isFetching ?
|
||||
<>
|
||||
<div className="col-12">
|
||||
<p className='text-mute'>Loading...</p>
|
||||
</div>
|
||||
</>
|
||||
: calendarEvents?.error ?
|
||||
: isError ?
|
||||
<div className="col-12">
|
||||
<p className='text-danger'>{calendarEvents?.error?.message}</p>
|
||||
<p className='text-danger'>{error?.message}</p>
|
||||
</div>
|
||||
:
|
||||
<>
|
||||
|
||||
@@ -81,7 +81,7 @@ export default function EventCalendar({removeAfterDrop, eventList, activeCategor
|
||||
useEffect(()=>{
|
||||
// let newEventList = eventList?.map(item => ({...item, start: new Date(item?.start)}))
|
||||
let newEventList = eventList?.filter(item => (Number(item.category) == Number(activeCategory)))?.map(item => ({...item, start: new Date(item?.start)}))
|
||||
console.log('newEventList', newEventList)
|
||||
// console.log('newEventList', newEventList)
|
||||
setCurrentEvents(newEventList)
|
||||
},[activeCategory])
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,34 +1,22 @@
|
||||
import React, {useEffect} from 'react'
|
||||
import { useMutation } from '@tanstack/react-query'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { productsData } from '../../services/services'
|
||||
import productPath from "../../utils/productpath";
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import queryKeys from '../../services/queryKeys'
|
||||
|
||||
|
||||
export default function Products() {
|
||||
const getProductsData = useMutation({
|
||||
mutationFn: (reqData) => {
|
||||
return productsData(reqData)
|
||||
},
|
||||
onError: (error) => {
|
||||
console.log(error)
|
||||
},
|
||||
onSuccess: (res) => {
|
||||
if(res?.data?.resultCode != '0'){
|
||||
throw({message: 'Something went wrong'})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
useEffect(()=>{
|
||||
let reqData = {
|
||||
let reqData = {
|
||||
token: localStorage.getItem('token'), // USER TOKEN
|
||||
uid: localStorage.getItem('uid') // USER UID
|
||||
}
|
||||
getProductsData.mutate(reqData)
|
||||
},[])
|
||||
|
||||
const products = getProductsData?.data?.data?.products_data // PRODUCTS DATA
|
||||
}
|
||||
const {data, isFetching, isError, error} = useQuery({
|
||||
queryKey: queryKeys.product,
|
||||
queryFn: () => productsData(reqData)
|
||||
})
|
||||
const products = data?.data?.products_data // PRODUCTS DATA
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -37,7 +25,7 @@ export default function Products() {
|
||||
<h4 className="card-title">My Products</h4>
|
||||
</div>
|
||||
<div className="card-body pb-0">
|
||||
{getProductsData?.isPending ?
|
||||
{isFetching ?
|
||||
<>
|
||||
<div className="row">
|
||||
<div className="col-12">
|
||||
@@ -45,10 +33,10 @@ export default function Products() {
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
: getProductsData?.isPending ?
|
||||
: isError ?
|
||||
<div className="row">
|
||||
<div className="col-12">
|
||||
<p className='text-danger'>{getProductsData?.error?.message}</p>
|
||||
<p className='text-danger'>{error?.message}</p>
|
||||
</div>
|
||||
</div>
|
||||
:
|
||||
|
||||
@@ -5,12 +5,18 @@ import queryKeys from '../../services/queryKeys'
|
||||
|
||||
export default function ProductsURL() {
|
||||
|
||||
const {data:data, isFetching, isError, error} = useQuery({
|
||||
let reqData = {
|
||||
token: localStorage.getItem('token'), // USER TOKEN
|
||||
uid: localStorage.getItem('uid') // USER UID
|
||||
}
|
||||
|
||||
const {data, isFetching, isError, error} = useQuery({
|
||||
queryKey: queryKeys.product_url,
|
||||
queryFn: () => productsURL()
|
||||
queryFn: () => productsURL(reqData)
|
||||
})
|
||||
|
||||
const urlData = data?.data?.url_data?.url
|
||||
const urlData = data?.data?.products_data
|
||||
// console.log('data', urlData)
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -57,8 +63,8 @@ export default function ProductsURL() {
|
||||
let productUrl = '/product/'+ item?.product_id
|
||||
return (
|
||||
<tr key={index}>
|
||||
<td>{Number(item?.no) + Number(index)}</td>
|
||||
<td>{item?.description} - <a href={productUrl} target='_blank'>{item?.url}</a></td>
|
||||
<td>{Number(item?.id)}</td>
|
||||
<td>{item?.description} - <a href={productUrl} target='_blank'>{item?.external_url}</a></td>
|
||||
|
||||
<td><span className={`badge ${statusColor}`}>{item?.status}</span></td>
|
||||
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a></td>
|
||||
|
||||
@@ -1,36 +1,44 @@
|
||||
import React, {useEffect} from 'react'
|
||||
import { useMutation } from '@tanstack/react-query'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { topBar } from '../../services/services'
|
||||
import queryKeys from '../../services/queryKeys'
|
||||
|
||||
export default function TopBar() {
|
||||
|
||||
const topBarData = useMutation({
|
||||
mutationFn: (reqData) => {
|
||||
return topBar(reqData)
|
||||
},
|
||||
onError: (error) => {
|
||||
console.log(error)
|
||||
},
|
||||
onSuccess: (res) => {
|
||||
if(res?.data?.resultCode != '0'){
|
||||
throw({message: 'Something went wrong'})
|
||||
}
|
||||
}
|
||||
})
|
||||
// const topBarData = useMutation({
|
||||
// mutationFn: (reqData) => {
|
||||
// return topBar(reqData)
|
||||
// },
|
||||
// onError: (error) => {
|
||||
// console.log(error)
|
||||
// },
|
||||
// onSuccess: (res) => {
|
||||
// if(res?.data?.resultCode != '0'){
|
||||
// throw({message: 'Something went wrong'})
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
|
||||
useEffect(()=>{
|
||||
let reqData = {
|
||||
// useEffect(()=>{
|
||||
// let reqData = {
|
||||
// token: localStorage.getItem('token'), // USER TOKEN
|
||||
// uid: localStorage.getItem('uid') // USER UID
|
||||
// }
|
||||
// topBarData.mutate(reqData)
|
||||
// },[])
|
||||
|
||||
let reqData = {
|
||||
token: localStorage.getItem('token'), // USER TOKEN
|
||||
uid: localStorage.getItem('uid') // USER UID
|
||||
}
|
||||
topBarData.mutate(reqData)
|
||||
},[])
|
||||
|
||||
const data = topBarData?.data?.data?.top_bar // top bar data
|
||||
}
|
||||
const {data:topBarData, isFetching, isError, error} = useQuery({
|
||||
queryKey: queryKeys.topBar,
|
||||
queryFn: () => topBar(reqData)
|
||||
})
|
||||
const data = topBarData?.data?.top_bar // top bar data
|
||||
|
||||
return (
|
||||
<>
|
||||
{topBarData.isPending ?
|
||||
{isFetching ?
|
||||
<>
|
||||
<div className="col-12">
|
||||
<div className="card p-4">
|
||||
@@ -38,10 +46,10 @@ export default function TopBar() {
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
: topBarData.error ?
|
||||
: isError?
|
||||
<div className="col-12">
|
||||
<div className="card p-4">
|
||||
<p className='text-danger'>{topBarData.error.message}</p>
|
||||
<p className='text-danger'>{error.message}</p>
|
||||
</div>
|
||||
</div>
|
||||
:
|
||||
|
||||
@@ -74,8 +74,8 @@ export default function UserHeader(){
|
||||
<div className="bg-gradient px-4 py-3">
|
||||
<div className="d-flex align-items-center justify-content-between">
|
||||
<div className="mr-1">
|
||||
<h5 className="text-white mb-0">{userDetails?.firstname} {userDetails?.lastname}</h5>
|
||||
<small className="text-white">{userDetails.email}</small>
|
||||
<h4 className="text-white mb-0 font-600">{userDetails?.firstname} {userDetails?.lastname}</h4>
|
||||
<p className="text-white font-600">{userDetails.email}</p>
|
||||
</div>
|
||||
<a href="#" onClick={logout} className="text-white font-20 tooltip-wrapper" data-toggle="tooltip"
|
||||
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}>
|
||||
<i className=" ti ti-settings pr-2 text-info"></i> Settings
|
||||
</Link>
|
||||
<a className="dropdown-item d-flex nav-link" href="#">
|
||||
<i className="fa fa-compass pr-2 text-warning"></i> Need help?</a>
|
||||
<Link className="dropdown-item d-flex nav-link" to={siteLinks.help}>
|
||||
<i className="fa fa-compass pr-2 text-warning"></i>
|
||||
Need help?
|
||||
</Link>
|
||||
|
||||
{/*<div className="row mt-2">*/}
|
||||
{/* <div className="col">*/}
|
||||
|
||||
@@ -25,7 +25,7 @@ export default function ProductProvision(props){
|
||||
queryFn: () => productProvision(reqData)
|
||||
})
|
||||
|
||||
const provisionData = provision?.data?.provision
|
||||
const provisionData = provision?.data
|
||||
|
||||
useEffect(()=>{
|
||||
joinRoom(productSubUID); // provision subscription room
|
||||
@@ -60,7 +60,7 @@ export default function ProductProvision(props){
|
||||
<div className="card-body">
|
||||
<div className="progress">
|
||||
<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>
|
||||
@@ -111,9 +111,7 @@ export default function ProductProvision(props){
|
||||
<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" />
|
||||
<div className="card-body">
|
||||
<p>
|
||||
{productDescription}
|
||||
</p>
|
||||
<div className="" dangerouslySetInnerHTML={{__html: productDescription}}/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ export default function ProductStart(props){
|
||||
const productDescription = props.productData?.description;
|
||||
const promotion_text = props.productData?.promotion_text;
|
||||
const product_status = props.productData?.status;
|
||||
const saleText = props.productData?.sale_text;
|
||||
|
||||
const modalRef = useRef()
|
||||
|
||||
const refetch = () => {
|
||||
@@ -59,7 +61,8 @@ export default function ProductStart(props){
|
||||
<img className="card-img-top" src={getImage(productBanner)} alt="Card image cap" />
|
||||
<div className="card-body">
|
||||
<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>
|
||||
@@ -115,16 +118,7 @@ export default function ProductStart(props){
|
||||
</button>
|
||||
</div>
|
||||
<div className="modal-body">
|
||||
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
|
||||
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>
|
||||
<div className="" dangerouslySetInnerHTML={{__html: saleText}}/>
|
||||
{/* {mutation.error &&
|
||||
<>
|
||||
<div className="col-12">
|
||||
|
||||
+3
-5
@@ -1,9 +1,9 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom/client';
|
||||
// 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 store from './store/store'
|
||||
|
||||
import App from './App';
|
||||
//import reportWebVitals from './reportWebVitals';
|
||||
@@ -17,9 +17,7 @@ const root = ReactDOM.createRoot(document.getElementById('root'));
|
||||
root.render(
|
||||
<React.StrictMode>
|
||||
<BrowserRouter>
|
||||
<Provider store={store}>
|
||||
<App />
|
||||
</Provider>
|
||||
<App />
|
||||
</BrowserRouter>
|
||||
</React.StrictMode>
|
||||
);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const siteLinks = {
|
||||
error: '*',
|
||||
help: '/help',
|
||||
home: '/',
|
||||
dash: '/dash',
|
||||
product: '/product/*',
|
||||
|
||||
+17
-17
@@ -99,6 +99,22 @@ export const contactData = (reqData) => {
|
||||
return postAuxEnd(`/panel/contacts`, postData, false)
|
||||
}
|
||||
|
||||
// FUNCTION TO GET DASHBOARD PRODUCT URL DATA SECTION
|
||||
export const productsURL = (reqData) => {
|
||||
let postData = {
|
||||
...reqData,
|
||||
}
|
||||
return postAuxEnd(`/panel/account/products/url`, postData, false)
|
||||
}
|
||||
|
||||
// FUNCTION TO GET DASHBOARD PRODUCT DATA SECTION
|
||||
export const productsData = (reqData) => {
|
||||
let postData = {
|
||||
...reqData,
|
||||
}
|
||||
return postAuxEnd(`/panel/account/products`, postData, false)
|
||||
}
|
||||
|
||||
// FUNCTION TO GET DASHBOARD RECENT ACTIONS SECTION
|
||||
export const recentActions = (reqData) => {
|
||||
let postData = {
|
||||
@@ -110,29 +126,13 @@ export const recentActions = (reqData) => {
|
||||
return postAuxEnd(`/panel/account/actions`, postData, false)
|
||||
}
|
||||
|
||||
// FUNCTION TO GET DASHBOARD PRODUCT DATA SECTION
|
||||
export const productsData = (reqData) => {
|
||||
let postData = {
|
||||
...reqData,
|
||||
}
|
||||
return postAuxEnd(`/panel/account/products`, postData, false)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// FUNCTION TO GET DASHBOARD PRODUCT URL DATA SECTION
|
||||
export const productsURL = (reqData) => {
|
||||
let postData = {
|
||||
...reqData,
|
||||
token: localStorage.getItem('token'), // USER TOKEN
|
||||
uid: localStorage.getItem('uid') // USER UID
|
||||
}
|
||||
return postAuxEnd(`/panel/account/products/url`, postData, false)
|
||||
// return getAuxEnd(`/panel/account/products/url`)
|
||||
}
|
||||
|
||||
|
||||
// FUNCTION TO REGISTER USER
|
||||
export const signUpUser = (reqData) => {
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
import HelpCom from '../component/help/HelpCom'
|
||||
|
||||
export default function HelpPage() {
|
||||
return (
|
||||
<HelpCom />
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user