Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eb4d5315de | |||
| ee787c0740 | |||
| 6136d762a3 | |||
| 2f73e84a84 | |||
| 8c57e94bb6 | |||
| fa7660de29 | |||
| bde30f781a | |||
| 9f9dcc5e37 | |||
| ec11a7b5b3 | |||
| 38c5717667 | |||
| 77eaf15c6a | |||
| 60488524ed | |||
| 3584447c65 | |||
| 58cd232f91 |
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 18 KiB |
+7
-3
@@ -22,10 +22,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.login-links a {
|
.login-links a {
|
||||||
font-size: 15px;
|
font-size: 14px;
|
||||||
font-weight: 700;
|
|
||||||
padding: 0px 20px;
|
padding: 0px 20px;
|
||||||
border-right: 2px solid;
|
border-right: 2px solid #6c757d;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,4 +34,9 @@
|
|||||||
|
|
||||||
.login-links a:last-child{
|
.login-links a:last-child{
|
||||||
border: 0px;
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button{
|
||||||
|
font-size: 1rem!important;
|
||||||
|
font-weight: 700!important;
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.5 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,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"
|
||||||
|
|||||||
@@ -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 = {
|
||||||
const myproduct_data = data?.data?.myproduct_data
|
product_id : productID,
|
||||||
//setProductStatus(myproduct_data?.status)
|
token: localStorage.getItem('token'), // USER TOKEN
|
||||||
|
uid: localStorage.getItem('uid') // USER UID
|
||||||
const product_name = myproduct_data?.product_name;
|
}
|
||||||
|
getProductData.mutate(reqData)
|
||||||
const product_status = myproduct_data?.status;
|
},[])
|
||||||
|
|
||||||
|
const myproduct_data = getProductData?.data?.data?.myproduct?.myproudct // PRODUCT DETAILS
|
||||||
|
const product_name = myproduct_data?.product_name;
|
||||||
|
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>
|
||||||
:
|
:
|
||||||
|
|||||||
@@ -59,7 +59,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>
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ body {
|
|||||||
outline:0;
|
outline:0;
|
||||||
background:$body;
|
background:$body;
|
||||||
color:$muted;
|
color:$muted;
|
||||||
|
font-weight: $font-regular;
|
||||||
&.sidebar-mini {
|
&.sidebar-mini {
|
||||||
.app-main {
|
.app-main {
|
||||||
padding-left:$sidebar-mini;
|
padding-left:$sidebar-mini;
|
||||||
|
|||||||
@@ -39,8 +39,7 @@ h6 {
|
|||||||
|
|
||||||
p {
|
p {
|
||||||
color: $muted;
|
color: $muted;
|
||||||
font-weight: $font-regular;
|
font-size: $font-18;
|
||||||
font-size: $font-base;
|
|
||||||
line-height: $line-md;
|
line-height: $line-md;
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
|
|||||||
@@ -35,13 +35,13 @@ $container-max-widths: (
|
|||||||
|
|
||||||
// Colors
|
// Colors
|
||||||
$body : #f9f9fb;
|
$body : #f9f9fb;
|
||||||
$primary : #8E54E9;
|
$primary : #148399; //#8E54E9;
|
||||||
$primary2 : #4776E6;
|
$primary2 : #4776E6;
|
||||||
$secondary : #a1a1a1;
|
$secondary : #a1a1a1;
|
||||||
$light-gray : #eceef3;
|
$light-gray : #eceef3;
|
||||||
$dark-gray : #2c2e3e;
|
$dark-gray : #2c2e3e;
|
||||||
$darker-gray : #333333;
|
$darker-gray : #333333;
|
||||||
$muted : #a6a9b7;
|
$muted : #6c757d; //#a6a9b7;
|
||||||
$info : #45aaf2;
|
$info : #45aaf2;
|
||||||
$danger : #e3324c;
|
$danger : #e3324c;
|
||||||
$cyan : #2bcbba;
|
$cyan : #2bcbba;
|
||||||
@@ -75,7 +75,7 @@ $behance : #053eff;
|
|||||||
$whatsapp : #4FCE5D;
|
$whatsapp : #4FCE5D;
|
||||||
|
|
||||||
// Font family
|
// Font family
|
||||||
$font-primary : 'Roboto', sans-serif;
|
$font-primary : 'Plus Jakarta Sans', sans-serif;
|
||||||
|
|
||||||
//Font size
|
//Font size
|
||||||
|
|
||||||
|
|||||||
+20
-24
@@ -75,6 +75,22 @@ 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 RECENT ACTIONS SECTION
|
// FUNCTION TO GET DASHBOARD RECENT ACTIONS SECTION
|
||||||
export const recentActions = (reqData) => {
|
export const recentActions = (reqData) => {
|
||||||
let postData = {
|
let postData = {
|
||||||
@@ -98,6 +114,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 = {
|
||||||
@@ -114,7 +131,7 @@ export const signUpUser = (reqData) => {
|
|||||||
let postData = {
|
let postData = {
|
||||||
...reqData
|
...reqData
|
||||||
}
|
}
|
||||||
return postAuxEnd('/panel/auth/register', postData, false)
|
return postAuxEnd('/panel/Register', postData, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION TO VERIFY EMAIL
|
// FUNCTION TO VERIFY EMAIL
|
||||||
@@ -122,7 +139,7 @@ export const verifyEmail = (reqData) => {
|
|||||||
let postData = {
|
let postData = {
|
||||||
...reqData
|
...reqData
|
||||||
}
|
}
|
||||||
return postAuxEnd('/panel/auth/register/verify', postData, false)
|
return postAuxEnd('/panel/Register/verify', postData, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION TO COMPLETE REGISTRATION
|
// FUNCTION TO COMPLETE REGISTRATION
|
||||||
@@ -130,7 +147,7 @@ export const completeRegistration = (reqData) => {
|
|||||||
let postData = {
|
let postData = {
|
||||||
...reqData
|
...reqData
|
||||||
}
|
}
|
||||||
return postAuxEnd('/panel/auth/register/complete', postData, false)
|
return postAuxEnd('/panel/Register/complete', postData, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION TO SUBSCRIBE
|
// FUNCTION TO SUBSCRIBE
|
||||||
@@ -152,16 +169,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 = {
|
||||||
@@ -182,15 +189,4 @@ export const contactData = (reqData) => {
|
|||||||
}
|
}
|
||||||
return postAuxEnd(`/panel/contacts`, postData, false)
|
return postAuxEnd(`/panel/contacts`, postData, false)
|
||||||
// return getAuxEnd(`/panel/contacts`)
|
// 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}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user