diff --git a/src/components/AuthPages/Login/index.jsx b/src/components/AuthPages/Login/index.jsx
index a2c56c9..cd33a44 100755
--- a/src/components/AuthPages/Login/index.jsx
+++ b/src/components/AuthPages/Login/index.jsx
@@ -45,10 +45,10 @@ export default function Login() {
// if (email === "support@mermsemr.com") {
if (loginResult.data.status > 0 && loginResult.data.session_token !='') { // just for a start
localStorage.setItem("email", `${email}`);
- localStorage.setItem("member_id", `${JSON.stringify(loginResult.data.member_id)}`);
- localStorage.setItem("member_uuid", `${JSON.stringify(loginResult.data.member_uuid)}`);
+ localStorage.setItem("member_id", loginResult.data.member_id);
+ localStorage.setItem("member_uuid", loginResult.data.member_uuid);
localStorage.setItem("session_token", `${loginResult.data.session_token}`);
- localStorage.setItem("status", `${JSON.stringify(loginResult.data.status)}`);
+ localStorage.setItem("status", loginResult.data.status);
localStorage.setItem("profile", `${JSON.stringify(loginResult.data.profile)}`);
setLoginLoading(true);
// userApi.getUserReminders(); //testing
diff --git a/src/components/Helpers/Inputs/InputCom/index.jsx b/src/components/Helpers/Inputs/InputCom/index.jsx
index 86aec14..d69bdc0 100755
--- a/src/components/Helpers/Inputs/InputCom/index.jsx
+++ b/src/components/Helpers/Inputs/InputCom/index.jsx
@@ -9,6 +9,7 @@ export default function InputCom({
iconName,
inputHandler,
value,
+ maxLength
}) {
return (
@@ -28,6 +29,8 @@ export default function InputCom({
className="input-field placeholder:text-base text-bese 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}
id={name}
+ name={name}
+ maxLength={maxLength}
/>
{iconName && (
@@ -37,4 +40,4 @@ export default function InputCom({
);
-}
+}
\ No newline at end of file
diff --git a/src/components/Reminders/AddEditReminder.jsx b/src/components/Reminders/AddEditReminder.jsx
index 94c4f1c..e854445 100644
--- a/src/components/Reminders/AddEditReminder.jsx
+++ b/src/components/Reminders/AddEditReminder.jsx
@@ -1,10 +1,104 @@
-import React from 'react'
+import React, {useState, useEffect} from 'react'
import Layout from '../Partials/Layout'
-import { Link } from 'react-router-dom'
+import { Link, useNavigate } from 'react-router-dom'
+
+// import { toast } from 'react-toastify';
+
import InputCom from "../Helpers/Inputs/InputCom";
+import Calendar from 'react-calendar';
+import 'react-calendar/dist/Calendar.css';
+
+import usersService from "../../services/UsersService";
+
export default function AddEditReminder({ className }) {
+ let navigate = useNavigate()
+ const api = new usersService();
+
+ const [startDate, setStartDate] = useState(new Date());
+ const [endDate, setEndDate] = useState(new Date());
+
+ const [mode, setMode] = useState([]) // for setting mode option display, content is updated when page loads
+
+ const [category, setCategory] = useState([]) // for setting category option display, content is updated when page loads
+
+ const [success, setSuccess] = useState(false)
+ const [message, setMessage]=useState({
+ status: false,
+ message: ''
+ })
+
+
+ const [reminder, setReminder]=useState({
+ 'member_id': localStorage.getItem('member_id'),
+ description: '',
+ note: '',
+ category: '',
+ mode: '',
+ 'start_date': startDate,
+ 'end_date': endDate
+ })
+
+ const onReminderInputChange = ({target:{name,value}}) => { //function to run when user changes any input on the add reminder page
+ setReminder(prev=>(
+ {...prev, [name]:value}
+ ))
+ }
+
+
+ const getUserMode = async () => {
+ try {
+ const res = await api.getUserModeCategory('remmode');
+ setMode(res.data);
+ } catch (error) {
+ console.log("Error getting mode");
+ }
+ };
+
+ const getUserCategory = async () => {
+ try {
+ const res = await api.getUserModeCategory('remcategory');
+ setCategory(res.data);
+ } catch (error) {
+ console.log("Error getting user category");
+ }
+ };
+
+ const handleAddReminder = async () => { // function to add reminder, after all test cases are met
+ // toast('Reminder Added')
+ setSuccess(true)
+ setMessage({status: true, message: ''})
+ let {description, note, category, mode} = reminder
+ //CHECKING IF AN EMPTY FIELD WAS PASSED
+ if(!description || !note || !category || !mode){
+ setSuccess(false)
+ setMessage({status: false, message: 'All fields must be filled'})
+ return
+ }
+
+ try {
+ const res = await api.addReminder(reminder);
+ if(res && res.status == 200){
+ setSuccess(false)
+ setMessage({status: true, message: 'Reminder added successfully'})
+ setTimeout(()=>{
+ navigate('/reminders', {replace: true})
+ }, 2000)
+ return
+ }
+ setSuccess(false)
+ setMessage({status: false, message: 'Opps cannot add reminder, try again'})
+ } catch (error) {
+ setSuccess(false)
+ setMessage({status: false, message: 'An error occurred'})
+ }
+ }
+
+ useEffect(() => {
+ getUserMode();
+ getUserCategory()
+ }, []);
return (
<>
@@ -16,7 +110,6 @@ export default function AddEditReminder({ className }) {
className || ""
}`}
>
-
{/*description */}
@@ -25,50 +118,80 @@ export default function AddEditReminder({ className }) {
type="text"
name="description"
placeholder="Describe the Reminder"
- value={''}
+ value={reminder.description}
+ inputHandler={onReminderInputChange}
+ maxLength={10}
/>
{/* first name and last name */}
-
+ /> */}
+
+
-
+ /> */}
+
+
-
+ /> */}
+
+
-
+ /> */}
+
+
@@ -78,16 +201,18 @@ export default function AddEditReminder({ className }) {
-
-
+ {message.message}
{/* border line */}
@@ -101,13 +226,24 @@ export default function AddEditReminder({ className }) {
Cancel
-
-
+ {
+ success ?
+
+ :
+
+ }
diff --git a/src/services/UsersService.js b/src/services/UsersService.js
index 05117a3..ab431ab 100644
--- a/src/services/UsersService.js
+++ b/src/services/UsersService.js
@@ -10,6 +10,11 @@ class usersService {
return this.postAuxEnd("/login", reqData);
}
+ //END POINT TO ADD REMINDER
+ addReminder(reqData){
+ return this.postAuxEnd("/editreminder", reqData);
+ }
+
getUserReminders(){
var reqData = {
member_id: localStorage.getItem("member_id")
@@ -24,6 +29,14 @@ class usersService {
return this.getAuxEnd("/loginhx", reqData);
}
+ //END POINT TO POPULATE MODE AND CATEGORY ON ADD REMINDER PAGED
+ getUserModeCategory(path){
+ var reqData = {
+ member_id: localStorage.getItem("member_id")
+ };
+ return this.getAuxEnd(`/${path}`, reqData);
+ }
+
getUserResources(){
var reqData = {
member_id: localStorage.getItem("member_id")