Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| df3710ec8d | |||
| 9b2145ff00 | |||
| 7ce87a3ee8 | |||
| 37fa170108 | |||
| 9a269b5732 | |||
| f766c19465 | |||
| 30a344970a | |||
| e4b1ceae30 | |||
| aae99a7b50 |
@@ -8,4 +8,6 @@ REACT_APP_APPSITE=" https://myfitapp.mermsemr.com"
|
||||
|
||||
|
||||
REACT_APP_AUX_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfit"
|
||||
REACT_APP_USERS_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
|
||||
REACT_APP_USERS_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
|
||||
|
||||
REACT_APP_SESSION_EXPIRE_MINUTES = 5
|
||||
@@ -145,6 +145,7 @@ export default function AuthProfile() {
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<ActivitiesTab />
|
||||
</div>
|
||||
</Layout>
|
||||
</>
|
||||
|
||||
@@ -20,12 +20,12 @@ export default function Login() {
|
||||
};
|
||||
|
||||
// email
|
||||
const [email, setMail] = useState("support@mermsemr.com");
|
||||
const [email, setMail] = useState("");
|
||||
const handleEmail = (e) => {
|
||||
setMail(e.target.value);
|
||||
};
|
||||
// password
|
||||
const [password, setPassword] = useState("123456");
|
||||
const [password, setPassword] = useState("");
|
||||
const handlePassword = (e) => {
|
||||
setPassword(e.target.value);
|
||||
};
|
||||
@@ -39,9 +39,11 @@ export default function Login() {
|
||||
};
|
||||
const loginResult = await userApi.logInUser(postData); // just for a test
|
||||
// if (email === "support@mermsemr.com") {
|
||||
if (loginResult.data.status > 0) { // just for a start
|
||||
if (loginResult.data.status > 0 && loginResult.data.session_token !='') { // just for a start
|
||||
localStorage.setItem("email", `${email}`);
|
||||
localStorage.setItem("session_token", `${loginResult.data.session_token}`);
|
||||
setLoginLoading(true);
|
||||
// userApi.getUserReminders(); //testing
|
||||
setTimeout(() => {
|
||||
toast.success("Login Successfully");
|
||||
navigate("/", { replace: true });
|
||||
|
||||
@@ -26,7 +26,7 @@ export default function Accordion({ datas }) {
|
||||
</span>
|
||||
</div>
|
||||
<div className="accordion-title w-full">
|
||||
<p className="text-18 tracking-wide text-dark-gray dark:text-white">
|
||||
<p className="text-18 tracking-wide text-dark-gray dark:text-white cursor-default">
|
||||
{datas.title}
|
||||
</p>
|
||||
</div>
|
||||
@@ -35,7 +35,7 @@ export default function Accordion({ datas }) {
|
||||
<div className="accordion-body-content flex space-x-4 sm:pl-10 pl-5 pt-5">
|
||||
<div className="w-[3px] h-auto bg-purple rounded-[28px]"></div>
|
||||
<div className="flex-1">
|
||||
<p className="text-base text-thin-light-gray tracking-wide">
|
||||
<p className="text-base text-thin-light-gray tracking-wide cursor-default">
|
||||
{datas.content}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -104,9 +104,7 @@ export default function SellHistoryMarketVisitorAnalytic({ className }) {
|
||||
}`}
|
||||
>
|
||||
<div className="content-wrapper w-full lg:flex xl:space-x-8 lg:space-x-4">
|
||||
<div className="lg:w-1/2 w-full mb-10 lg:mb-0">
|
||||
<SellHistoryWidget />
|
||||
</div>
|
||||
|
||||
<div className="flex-1 ">
|
||||
<div className="market-visitor w-full md:p-8 p-4 h-full bg-white dark:bg-dark-white overflow-hidden rounded-2xl section-shadow">
|
||||
<div className="flex flex-col justify-between h-full">
|
||||
@@ -127,6 +125,11 @@ export default function SellHistoryMarketVisitorAnalytic({ className }) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="lg:w-1/2 w-full mb-10 lg:mb-0">
|
||||
<SellHistoryWidget />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,29 @@
|
||||
import React from "react";
|
||||
import HistoryAnalyticsCard from "../Cards/HistoryAnalyticsCard";
|
||||
import Layout from "../Partials/Layout";
|
||||
import ReminderTable from "./ReminderTable";
|
||||
import React from 'react'
|
||||
import HistoryAnalyticsCard from '../Cards/HistoryAnalyticsCard'
|
||||
import Layout from '../Partials/Layout'
|
||||
import ReminderTable from './ReminderTable'
|
||||
import { Link } from 'react-router-dom'
|
||||
|
||||
export default function Reminders() {
|
||||
return (
|
||||
<>
|
||||
<Layout>
|
||||
<div className="content-wrapper-profile-only w-full mb-6">
|
||||
<div className="auth-tab-content relative mb-10">
|
||||
<div className="lg:flex justify-between">
|
||||
<div className="tab-items"></div>
|
||||
<div style={{ transform: 'translateY(-22px)' }}>
|
||||
<Link
|
||||
to="/add-reminder"
|
||||
className="btn-gradient lg:flex hidden w-[153px] h-[46px] rounded-full text-white justify-center items-center"
|
||||
>
|
||||
Add Reminder
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
<div className="hidden lg:block w-full h-[1px] bg-[#DCD5FE] dark:bg-[#5356fb29] absolute top-[42px] left-0"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="history-wrapper w-full mb-10">
|
||||
<div className="main-wrapper w-full">
|
||||
<ReminderTable />
|
||||
@@ -14,5 +31,5 @@ export default function Reminders() {
|
||||
</div>
|
||||
</Layout>
|
||||
</>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
||||
@@ -8,246 +8,135 @@ export default function LoginActivityTab() {
|
||||
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
|
||||
<tbody>
|
||||
<tr className="text-base text-thin-light-gray border-b dark:border-[#5356fb29] default-border-b dark:border-[#5356fb29] ottom ">
|
||||
<td className="py-4 text-center">OS</td>
|
||||
<td className="py-4 text-center">Browser</td>
|
||||
<td className="py-4 text-center">Channel</td>
|
||||
<td className="py-4 text-center">Date</td>
|
||||
<td className="py-4 text-center">Location</td>
|
||||
<td className="py-4 text-center">Last session</td>
|
||||
<td className="py-4 text-center">Status</td>
|
||||
<td className="py-4 text-center"></td>
|
||||
</tr>
|
||||
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
|
||||
<td className="text-center py-4">
|
||||
<div className="flex items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Windows
|
||||
Desktop
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<div className="flex space-x-1 items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Google Chrome
|
||||
10-10-2035
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-dark-gray dark:text-white whitespace-nowrap px-2">
|
||||
Dhaka , Bangladesh
|
||||
10.0.0.1000
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-thin-light-gray font-medium whitespace-nowrap px-2">
|
||||
2 days ago
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-sm px-[10px] py-[6px] rounded-full bg-light-green text-white capitalize">
|
||||
active
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<button
|
||||
type="button"
|
||||
className=" text-thin-light-gray hover:text-red-400"
|
||||
>
|
||||
<Icons name="deep-delete" />
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
|
||||
<td className="text-center py-4">
|
||||
<div className="flex items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Mac
|
||||
Desktop
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<div className="flex space-x-1 items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Firefox
|
||||
10-10-2035
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-dark-gray dark:text-white whitespace-nowrap px-2">
|
||||
Tokyo,japan
|
||||
10.0.0.1000
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-thin-light-gray font-medium whitespace-nowrap px-2">
|
||||
5 days ago
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-sm px-[10px] py-[6px] rounded-full bg-light-red text-white capitalize">
|
||||
Inactive
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<button
|
||||
type="button"
|
||||
className=" text-thin-light-gray hover:text-red-400"
|
||||
>
|
||||
<Icons name="deep-delete" />
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
|
||||
<td className="text-center py-4">
|
||||
<div className="flex items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
App
|
||||
Desktop
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<div className="flex space-x-1 items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
App
|
||||
10-10-2035
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-dark-gray dark:text-white whitespace-nowrap px-2">
|
||||
Barhin,Dubai
|
||||
10.0.0.1000
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-thin-light-gray font-medium whitespace-nowrap px-2">
|
||||
2 days ago
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-sm px-[10px] py-[6px] rounded-full bg-light-green text-white capitalize">
|
||||
active
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<button
|
||||
type="button"
|
||||
className=" text-thin-light-gray hover:text-red-400"
|
||||
>
|
||||
<Icons name="deep-delete" />
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
|
||||
<td className="text-center py-4">
|
||||
<div className="flex items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Windows
|
||||
Desktop
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<div className="flex space-x-1 items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Google Chrome
|
||||
10-10-2035
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-dark-gray dark:text-white whitespace-nowrap px-2">
|
||||
Dhaka , Bangladesh
|
||||
10.0.0.1000
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-thin-light-gray font-medium whitespace-nowrap px-2">
|
||||
2 days ago
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-sm px-[10px] py-[6px] rounded-full bg-light-green text-white capitalize">
|
||||
active
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<button
|
||||
type="button"
|
||||
className=" text-thin-light-gray hover:text-red-400"
|
||||
>
|
||||
<Icons name="deep-delete" />
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
|
||||
<td className="text-center py-4">
|
||||
<div className="flex items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Mac
|
||||
Desktop
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<div className="flex space-x-1 items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
Firefox
|
||||
10-10-2035
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-dark-gray dark:text-white whitespace-nowrap px-2">
|
||||
Tokyo,japan
|
||||
10.0.0.1000
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-thin-light-gray font-medium whitespace-nowrap px-2">
|
||||
5 days ago
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-sm px-[10px] py-[6px] rounded-full bg-light-red text-white capitalize">
|
||||
Inactive
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<button
|
||||
type="button"
|
||||
className=" text-thin-light-gray hover:text-red-400"
|
||||
>
|
||||
<Icons name="deep-delete" />
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
|
||||
<td className="text-center py-4">
|
||||
<div className="flex items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
App
|
||||
Mobile
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<div className="flex space-x-1 items-center justify-center">
|
||||
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap px-2">
|
||||
App
|
||||
10-10-2035
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-dark-gray dark:text-white whitespace-nowrap px-2">
|
||||
Barhin,Dubai
|
||||
10.0.0.1000
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-base text-thin-light-gray font-medium whitespace-nowrap px-2">
|
||||
2 days ago
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<span className="text-sm px-[10px] py-[6px] rounded-full bg-light-green text-white capitalize">
|
||||
active
|
||||
</span>
|
||||
</td>
|
||||
<td className="text-center py-4">
|
||||
<button
|
||||
type="button"
|
||||
className=" text-thin-light-gray hover:text-red-400"
|
||||
>
|
||||
<Icons name="deep-delete" />
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
+12
-17
@@ -2,38 +2,33 @@
|
||||
"datas": [
|
||||
{
|
||||
"id": 0,
|
||||
"title": "Can I resell an NFT?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game. What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game"
|
||||
"title": "What is myFit App?",
|
||||
"content": "myFit is your personal health care concierge. this app helps you to manage the intricacies of your daily and long term health activities. With myFit, your health record is yours at all point, you decide your provider access as needed from time to time."
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"title": "What can you do with an NFT after buying it?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game."
|
||||
"title": "How can I manage my health plan with myFit?",
|
||||
"content": "myFit learns and help You to keep track of all aspects of your health - physical, mental and emotional. It bestow your unique lifestyle, needs and comprehensive well-being."
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Can you lose money on NFT?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game."
|
||||
"title": "What can I track with myFit?",
|
||||
"content": "myFit automatically keeps track of physical activities, medical status & visits , schedules ,view and cancel appointments. myFit keeps your health in one place and connects you to support a healthier lifestyle."
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "How does NFT prove ownership?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game."
|
||||
"title": "How can I track with myFit?",
|
||||
"content": "Open myFit app , add information about your health, goals and save.Under each category of your choosing, select Activity, set a goal , see your progress."
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "How can you tell if someone owns an NFT?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game."
|
||||
"title": "How secure is myFit App?",
|
||||
"content": "myFit technology works synchronously with information you choose to share and will be encrypted and stored on a dedicated server so that MyFit can provide you with personalized, healthy decisions. MyFit is built to keep your data secure and protect your privacy. Your data is encrypted and you are always in control of your information."
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Can you lose more than you invest in NFTs?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game."
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "What can you do with an NFT after buying it?",
|
||||
"content": "What you do own when you buy an NFT are the keys to a non-fungible – perhaps unique – token. That token is yours to trade or hold or display in Decentraland. But the digital file associated with an NFT is just as easy to copy and paste and download as any other – the Finally, players lose their NFTs sometimes according to the rules and regulations of the NFT game."
|
||||
"title": "What kind of device do I need?",
|
||||
"content": "All you need is iPhone or Android device to enjoy all personalized metrics for personal use. Instant free download from apple and play store."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -11,17 +11,30 @@ class usersService {
|
||||
/*
|
||||
clean up the request data here
|
||||
*/
|
||||
localStorage.setItem("session_token", ``);
|
||||
return this.postAuxEnd("/login", reqData);
|
||||
}
|
||||
|
||||
getUserReminders(){
|
||||
return this.getAuxEnd("/reminders", null);
|
||||
}
|
||||
//---------------------------------------- -----
|
||||
//---------------------------------------- -----
|
||||
// Unified call below
|
||||
//---------------------------------------- -----
|
||||
//---------------------------------------- -----
|
||||
getAuxEnd(uri, reqData) {
|
||||
debugger;
|
||||
const session_token = localStorage.getItem("session_token");
|
||||
let axiosConfig = {
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
'Authorization': `Basic ${session_token}`,
|
||||
}
|
||||
};
|
||||
const endPoint = process.env.REACT_APP_USERS_ENDPOINT + uri;
|
||||
return Axios.get(endPoint)
|
||||
return Axios.get(endPoint,axiosConfig)
|
||||
.then((response) => {
|
||||
// console.log(response);
|
||||
// res = response;
|
||||
@@ -44,13 +57,12 @@ class usersService {
|
||||
|
||||
postAuxEnd(uri, reqData) {
|
||||
const endPoint = process.env.REACT_APP_USERS_ENDPOINT + uri;
|
||||
const token = '..your token..'
|
||||
const session_token = localStorage.getItem("session_token");
|
||||
let axiosConfig = {
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
'Authorization': `Basic ${token}`,
|
||||
'Authorization': `Basic ${session_token}`,
|
||||
}
|
||||
};
|
||||
//Access-Control-Allow-Origin
|
||||
@@ -60,7 +72,7 @@ class usersService {
|
||||
};
|
||||
// Axios.defaults.headers.post['Content-Type'] ='application/json;charset=utf-8';
|
||||
// Axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*'; //,axiosConfig
|
||||
return Axios.post(endPoint, reqData)
|
||||
return Axios.post(endPoint, reqData,axiosConfig)
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// res = response;
|
||||
|
||||
Reference in New Issue
Block a user