Compare commits

...

8 Commits

8 changed files with 62 additions and 17 deletions
@@ -9,7 +9,8 @@ export default function InputCom({
iconName, iconName,
inputHandler, inputHandler,
value, value,
maxLength maxLength,
borderColor
}) { }) {
return ( return (
<div className="input-com"> <div className="input-com">
@@ -21,12 +22,12 @@ export default function InputCom({
{label} {label}
</label> </label>
)} )}
<div className="input-wrapper border border-light-purple dark:border-[#5356fb29] w-full rounded-[50px] h-[58px] overflow-hidden relative "> <div className={`input-wrapper border border-light-purple dark:border-[#5356fb29] w-full rounded-[50px] h-[58px] overflow-hidden relative ${borderColor}`}>
<input <input
placeholder={placeholder} placeholder={placeholder}
value={value} value={value}
onChange={inputHandler} onChange={inputHandler}
className="input-field placeholder:text-base text-base px-6 text-dark-gray dark:text-white w-full h-full bg-[#FAFAFA] dark:bg-[#11131F] focus:ring-0 focus:outline-none" className="input-field placeholder:text-base text-base px-6 text-dark-gray dark:text-white w-full h-full bg-[#FAFAFA] dark:bg-[#11131F] focus:ring-0 focus:outline-none"
type={type} type={type}
id={name} id={name}
name={name} name={name}
+2
View File
@@ -26,6 +26,8 @@ export default function Layout({ children }) {
localStorage.removeItem('member_uuid'); localStorage.removeItem('member_uuid');
localStorage.removeItem('session_token'); localStorage.removeItem('session_token');
localStorage.removeItem('status'); localStorage.removeItem('status');
localStorage.removeItem('layout');
localStorage.removeItem('measurement_units');
// toast.success("Come Back Soon", { // toast.success("Come Back Soon", {
// icon: `🙂`, // icon: `🙂`,
// }); // });
+6 -5
View File
@@ -36,10 +36,10 @@ export default function AddEditReminder({ className }) {
'member_id': localStorage.getItem('member_id'), 'member_id': localStorage.getItem('member_id'),
description: location.state?.reminder.description || '', description: location.state?.reminder.description || '',
notes: location.state?.reminder.notes || '', notes: location.state?.reminder.notes || '',
category: location.state?.reminder.code || '', category: location.state?.reminder.category || '',
mode: location.state?.reminder.code || '' mode: location.state?.reminder.mode || ''
}) })
// console.log(reminder)
const onReminderInputChange = ({target:{name,value}}) => { //function to run when user changes any input on the add reminder page const onReminderInputChange = ({target:{name,value}}) => { //function to run when user changes any input on the add reminder page
setReminder(prev=>( setReminder(prev=>(
{...prev, [name]:value} {...prev, [name]:value}
@@ -128,6 +128,7 @@ export default function AddEditReminder({ className }) {
value={reminder.description} value={reminder.description}
inputHandler={onReminderInputChange} inputHandler={onReminderInputChange}
maxLength={100} maxLength={100}
borderColor='border border-pink'
/> />
</div> </div>
@@ -229,7 +230,7 @@ export default function AddEditReminder({ className }) {
value={reminder.notes} value={reminder.notes}
placeholder="Provide a detailed description of your item." placeholder="Provide a detailed description of your item."
rows="7" rows="7"
className="w-full h-full px-7 py-4 border border-light-purple dark:border-[#5356fb29] rounded-[20px] text-dark-gray dark:text-white bg-[#FAFAFA] dark:bg-[#11131F] focus:ring-0 focus:outline-none resize-none" className="w-full h-full px-7 py-4 border border-pink dark:border-[#5356fb29] rounded-[20px] text-dark-gray dark:text-white bg-[#FAFAFA] dark:bg-[#11131F] focus:ring-0 focus:outline-none resize-none"
onChange={onReminderInputChange} onChange={onReminderInputChange}
maxLength={250} maxLength={250}
/> />
@@ -266,7 +267,7 @@ export default function AddEditReminder({ className }) {
className="w-[152px] h-[46px] flex justify-center items-center btn-gradient text-base rounded-full text-white" className="w-[152px] h-[46px] flex justify-center items-center btn-gradient text-base rounded-full text-white"
onClick={handleAddReminder} onClick={handleAddReminder}
> >
{location.state?.reminder ? 'Edit' : 'Add Reminder'} {location.state?.reminder ? 'Update' : 'Add Reminder'}
</button> </button>
} }
</div> </div>
@@ -205,7 +205,6 @@ export default function ReminderTable({ className }) {
}) })
) )
} }
</tbody> </tbody>
</table> </table>
</div> </div>
@@ -0,0 +1,36 @@
import React from "react";
import { Link } from "react-router-dom";
export default function SubScriptionTop({ className }) {
return (
<div
className={`create-nft w-full lg:h-[140px] shadow lg:flex rounded-lg justify-between items-center md:p-9 p-4 bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] -2 border-pink mb-10 ${
className || ""
}`}
>
<div className="lg:w-8/12 w-full mb-8 lg:mb-0">
<h1 className="text-2xl text-dark-gray dark:text-white font-bold mb-2">
Some how we will say the name of uout current Subscription
</h1>
<p className="text-base text-thin-light-gray tracking-wide">
Last paymant date + nect pay day
</p>
</div>
<div className="flex-1 flex lg:justify-end">
<div className="flex items-center space-x-5">
<Link
to="#"
className="w-40 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
>
Some actions
</Link>
<Link to="#" className="text-dark-gray dark:text-white text-base">
<span className=" border-b dark:border-[#5356fb29] border-dark-gray font-medium">
terms and conditions
</span>
</Link>
</div>
</div>
</div>
);
}
+2 -1
View File
@@ -8,13 +8,14 @@ import CurrentBalanceWidget from "../MyWallet/CurrentBalanceWidget";
import Layout from "../Partials/Layout"; import Layout from "../Partials/Layout";
//import SellAnaliseStatics from "./SellAnaliseStatics"; //import SellAnaliseStatics from "./SellAnaliseStatics";
import SellProductHistoryTable from "./SellProductHistoryTable"; import SellProductHistoryTable from "./SellProductHistoryTable";
import SubScriptionTop from "./SubScriptionTop";
import PricingListTable from "./PricingListTable"; import PricingListTable from "./PricingListTable";
export default function Subscriptions() { export default function Subscriptions() {
return ( return (
<> <>
<Layout> <Layout>
<SubScriptionTop />
<div className="sell-page-wrapper w-full mb-10"> <div className="sell-page-wrapper w-full mb-10">
<div className="main-wrapper w-full"> <div className="main-wrapper w-full">
<div className="current_balance-bit-sell-widget w-full lg:h-[436px] mb-11"> <div className="current_balance-bit-sell-widget w-full lg:h-[436px] mb-11">
+5 -2
View File
@@ -735,7 +735,7 @@ TODO: Responsive ===========================
appearance: none; appearance: none;
background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat #fafafa; background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat #fafafa;
background-position: calc(100% - 0.75rem) center !important; background-position: calc(100% - 0.75rem) center !important;
border: 0.5px solid #E3E4FE; @apply border border-pink;
} }
.dark .reminder-select select { .dark .reminder-select select {
@@ -764,6 +764,7 @@ TODO: Responsive ===========================
padding: 1.25rem; padding: 1.25rem;
background: #fafafa; background: #fafafa;
border-radius: 9999px; border-radius: 9999px;
@apply border border-pink;
} }
.dark .react-date-picker__wrapper {border: 0.5px solid #25284F;} .dark .react-date-picker__wrapper {border: 0.5px solid #25284F;}
@@ -788,4 +789,6 @@ TODO: Responsive ===========================
.react-date-picker__inputGroup__leadingZero{ .react-date-picker__inputGroup__leadingZero{
cursor: pointer; cursor: pointer;
color: #374151; color: #374151;
} }
.animate-fadeIn {@apply transition duration-300}
+7 -5
View File
@@ -18,6 +18,8 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
localStorage.removeItem('member_id'); localStorage.removeItem('member_id');
localStorage.removeItem('member_uuid'); localStorage.removeItem('member_uuid');
localStorage.removeItem('status'); localStorage.removeItem('status');
localStorage.removeItem('layout');
localStorage.removeItem('measurement_units');
navigate("/login", { replace: true }); // redirects user to login page after session expires navigate("/login", { replace: true }); // redirects user to login page after session expires
}; };
@@ -30,15 +32,15 @@ const AuthRoute = ({ redirectPath = "/login", children }) => {
useEffect(()=>{ useEffect(()=>{
let sessionExpReminder = setTimeout(()=>{ //reminds user of session expiry after 4 mins 240000 let sessionExpReminder = setTimeout(()=>{ //reminds user of session expiry after 8 mins
expireSessionReminder() expireSessionReminder()
}, 240000) }, 480000)
let timeForSessionExpiry = setTimeout(()=>{ //reminds user of session expiry after 4 mins 300000 let timeForSessionExpiry = setTimeout(()=>{ //expire session after 10 mins
expireSession() expireSession()
}, 300000) }, 600000)
return ()=>{ // clears timeout side effect return ()=>{ // clears timeout side effect7
clearTimeout(sessionExpReminder) clearTimeout(sessionExpReminder)
clearInterval(timeForSessionExpiry) clearInterval(timeForSessionExpiry)
} }