Compare commits

...

2 Commits

Author SHA1 Message Date
DESKTOP-QHP1O2H\MIKE 60f9c1abc5 removed line spaces 2023-02-04 19:19:07 -05:00
DESKTOP-QHP1O2H\MIKE 54bcbee344 implemented reminder category 2023-02-04 19:16:51 -05:00
+157 -306
View File
@@ -4,26 +4,40 @@ import dataImage1 from "../../assets/images/data-table-user-1.png";
import usersService from "../../services/UsersService"; import usersService from "../../services/UsersService";
import SelectBox from "../Helpers/SelectBox"; import SelectBox from "../Helpers/SelectBox";
export default function ReminderTable({ className }) { export default function ReminderTable({ className }) {
const [userReminders, setUserReminders] = useState([]); const [userReminders, setUserReminders] = useState([]);
const filterCategories = ["All Categories", "Appointments","Exercise/Gym", "Medication"]; const [selectedCategory, setCategory] = useState(filterCategories[0])
const api = new usersService();
useEffect(() => { useEffect(() => {
getUserReminders(); getUserReminders();
}, []); }, []);
const api = new usersService();
const getUserReminders = async () => { const getUserReminders = async () => {
try { try {
const res = await api.getUserReminders(); const res = await api.getUserReminders();
setUserReminders(res.data.reminders); setUserReminders(res.data.reminders);
console.log("res", res);
} catch (error) { } catch (error) {
console.log("Error from User Reminders", error); console.log("Error from User Reminders", error);
} }
}; };
const [selectedCategory, setCategory] = useState(filterCategories[0]); const handleSelectCategory = (value) => {
let newValue = ""
if(value == 'All category'){
newValue = "All category"
}else if(value == 'Exercise/GYM') {
newValue = "EXEM"
}else if(value == 'Appointment') {
newValue = "APPT"
}else{
newValue = "MEDC"
}
setCategory(newValue);
}
// const filterCategories = ["All Categories", "Doctors Visit", "Medications"];
const filterCategories = ["All category", "Exercise/GYM", "Appointment", "Medication"];
return ( return (
<div <div
className={`update-table w-full p-8 bg-white dark:bg-dark-white overflow-hidden rounded-2xl section-shadow min-h-[520px] ${ className={`update-table w-full p-8 bg-white dark:bg-dark-white overflow-hidden rounded-2xl section-shadow min-h-[520px] ${
@@ -37,319 +51,156 @@ export default function ReminderTable({ className }) {
</h1> </h1>
</div> </div>
<SelectBox <SelectBox
action={setCategory} action={handleSelectCategory}
datas={filterCategories} datas={filterCategories}
className="Update-table-dropdown" className="Update-table-dropdown"
contentBodyClasses="w-auto min-w-max" contentBodyClasses="w-auto min-w-max"
/> />
</div> </div>
{userReminders.map((reminders, index) =>{ {
if (userReminders.length < 1 ) { userReminders.length < 1 ?
return( <div className="lg:flex justify-center">
<div className="lg:flex justify-center"> <div style={{ transform: 'translateY(150px)' }}>
<div style={{ transform: 'translateY(150px)' }}> <Link
<Link to="/add-reminder"
to="/add-reminder" className="btn-gradient lg:flex hidden w-[300px] h-[50px] rounded-full text-white justify-center items-center"
className="btn-gradient lg:flex hidden w-[300px] h-[50px] rounded-full text-white justify-center items-center" >
> 0 Reminders Start Reminder
0 Reminders Start Reminder </Link>
</Link>
</div>
</div> </div>
)} else{ </div>
return ( :
<div className="relative w-full overflow-x-auto sm:rounded-lg"> <div className="relative w-full overflow-x-auto sm:rounded-lg">
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400"> <table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<tbody> <tbody>
<tr className="text-base text-thin-light-gray whitespace-nowrap border-b dark:border-[#5356fb29] default-border-b dark:border-[#5356fb29] ottom "> <tr className="text-base text-thin-light-gray whitespace-nowrap border-b dark:border-[#5356fb29] default-border-bottom ">
<td className="py-4">Item</td> <td className="py-4">Item</td>
<td className="py-4 text-center">Start</td> <td className="py-4 text-center">Start</td>
<td className="py-4 text-center">End</td> <td className="py-4 text-center">End</td>
<td className="py-4 text-center">Reminder</td> <td className="py-4 text-center">Reminder</td>
<td className="py-4 text-right">.</td> <td className="py-4 text-right">.</td>
</tr> </tr>
{selectedCategory === "All Categories" ? ( {
userReminders.length > 0 && (
selectedCategory == "All category" ? (
userReminders.map((reminder, index) => (
<tr key={index} className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
{reminder.description.substring(0,30) + "..."}
</h1>
<span className="text-sm text-thin-light-gray">
<> Added <span className="text-purple">{new Date(reminder.added).toLocaleString()}</span>
{userReminders.map((reminders, index) => (
<tr key={reminders.id} className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
{reminders.description.substring(0,30) + "..."}
</h1>
<span className="text-sm text-thin-light-gray">
Added <span className="text-purple">{new Date(reminders.added).toLocaleString()}</span>
</span>
</div>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
{new Date(reminders.start_date).toLocaleString()}
</span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
{new Date(reminders.end_date).toLocaleString()}
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
{reminders.reminder}
</span> </span>
</td> </div>
<td className="text-right py-4 px-2"> </div>
<button </td>
type="button" <td className="text-center py-4 px-2">
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full" <div className="flex space-x-1 items-center justify-center">
>
Edit <span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
</button> {new Date(reminder.start_date).toLocaleString()}
</td> </span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
{new Date(reminder.end_date).toLocaleString()}
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
{reminder.reminder}
</span>
</td>
<td className="text-right py-4 px-2">
<button
type="button"
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full"
>
Edit
</button>
</td>
</tr> </tr>
))} ))
)
:
userReminders.map((reminder, index) => {
if(reminder.category == selectedCategory){
return (
<tr key={index} className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
{reminder.description.substring(0,30) + "..."}
</h1>
<span className="text-sm text-thin-light-gray">
</> Added <span className="text-purple">{new Date(reminder.added).toLocaleString()}</span>
) : selectedCategory === "Doctors Visit" ? (
<>
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
Doctors Testing Appointament
</h1>
<span className="text-sm text-thin-light-gray">
Added <span className="text-purple">10-10-2025</span>
</span>
</div>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-25 : 6:30 PM
</span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-28 : 6:30 PM
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
4
</span> </span>
</td> </div>
<td className="text-right py-4 px-2"> </div>
<button </td>
type="button" <td className="text-center py-4 px-2">
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full" <div className="flex space-x-1 items-center justify-center">
>
Edit
</button>
</td>
</tr>
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
Hospital Testing Appointament
</h1>
<span className="text-sm text-thin-light-gray">
Added <span className="text-purple">10-10-2025</span>
</span>
</div>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-25 : 6:30 PM
</span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-28 : 6:30 PM
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
4
</span>
</td>
<td className="text-right py-4 px-2">
<button
type="button"
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full"
>
Edit
</button>
</td>
</tr>
</>
) : (
<>
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
Pizza Testing Appointament
</h1>
<span className="text-sm text-thin-light-gray">
Added <span className="text-purple">10-10-2025</span>
</span>
</div>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-25 : 6:30 PM
</span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-28 : 6:30 PM
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
4
</span>
</td>
<td className="text-right py-4 px-2">
<button
type="button"
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full"
>
Edit
</button>
</td>
</tr>
<tr className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50">
<td className=" py-4">
<div className="flex space-x-2 items-center">
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center">
<img
src={dataImage1}
alt="data"
className="w-full h-full"
/>
</div>
<div className="flex flex-col">
<h1 className="font-bold text-xl text-dark-gray dark:text-white whitespace-nowrap">
Pizza Testing Appointament
</h1>
<span className="text-sm text-thin-light-gray">
Added <span className="text-purple">10-10-2025</span>
</span>
</div>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-25 : 6:30 PM
</span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
12-01-28 : 6:30 PM
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
4
</span>
</td>
<td className="text-right py-4 px-2">
<button
type="button"
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full"
>
Edit
</button>
</td>
</tr>
</>
)}
</tbody>
</table>
</div>
)
}
})}
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
{new Date(reminder.start_date).toLocaleString()}
</span>
</div>
</td>
<td className="text-center py-4 px-2">
<div className="flex space-x-1 items-center justify-center">
<span className="text-base text-dark-gray dark:text-white font-medium whitespace-nowrap">
{new Date(reminder.end_date).toLocaleString()}
</span>
</div>
</td>
<td className="text-right py-4 px-2">
<span className="text-base text-thin-light-gray whitespace-nowrap">
{reminder.reminder}
</span>
</td>
<td className="text-right py-4 px-2">
<button
type="button"
className="text-sm text-white bg-purple px-2.5 py-1.5 rounded-full"
>
Edit
</button>
</td>
</tr>
)
}
})
)
}
</tbody>
</table>
</div>
}
</div> </div>
); )
} }