Skip to content

Commit

Permalink
Add Delete option for users (#71)
Browse files Browse the repository at this point in the history
  • Loading branch information
rtnAyush authored Nov 8, 2023
1 parent 807a8ff commit 38d02df
Show file tree
Hide file tree
Showing 9 changed files with 277 additions and 110 deletions.
10 changes: 7 additions & 3 deletions api/src/routes/messMenu.route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,11 @@ routes
} catch (err: any) {
return res.status(400).json({ error: true, msg: err?.message });
}
})
.delete(async (req: Request, res: Response) => {
});

routes.delete(
"/day/:day/session/:session/name/:name",
async (req: Request, res: Response) => {
const { day, session, name } = req.params;
try {
if (!day) throw new Error("Missing Day");
Expand Down Expand Up @@ -107,6 +110,7 @@ routes
} catch (err: any) {
return res.status(400).json({ error: true, msg: err?.message });
}
});
}
);

export default routes;
2 changes: 2 additions & 0 deletions client/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500&display=swap" rel="stylesheet">
<script defer="defer" src="/text-app/static/js/main.e1bf02df.js"></script>
<link href="/text-app/static/css/main.7eebc124.css" rel="stylesheet">

<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<title>Mess Buddy</title>
</head>

Expand Down
104 changes: 64 additions & 40 deletions client/src/components/admin/AddMenuItem.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useEffect, useState } from "react";
import { Button, Form, Modal } from "react-bootstrap";
import { Button, Form, Modal, Table } from "react-bootstrap";
import useAxios from "../../hooks/useAxios";
import { useSelector } from "react-redux";
import AdminUnAuth from "../utils/AdminUnAuth";
Expand All @@ -12,13 +12,13 @@ export default function AddMenuItem() {
const sessions = ["breakfast", "lunch", "snack", "dinner"];
const days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
const [tabledata, setTable] = useState([
["", "", "", ""],
["", "", "", ""],
["", "", "", ""],
["", "", "", ""],
["", "", "", ""],
["", "", "", ""],
["", "", "", ""],
[[], [], [], []],
[[], [], [], []],
[[], [], [], []],
[[], [], [], []],
[[], [], [], []],
[[], [], [], []],
[[], [], [], []],
]);

const currUser = useSelector((state) => state?.user);
Expand All @@ -29,89 +29,113 @@ export default function AddMenuItem() {
for (let i = 0; i < arr.length; i++) {
if (arr[i].day === days[0]) {
if (arr[i].session === sessions[0]) {
newTable[0][0] += ` ${arr[i].food.name},`;
newTable[0][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[0][1] += ` ${arr[i].food.name},`;
newTable[0][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[0][2] += ` ${arr[i].food.name},`;
newTable[0][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[0][3] += ` ${arr[i].food.name},`;
newTable[0][3].push(arr[i].food.name);
}
} else if (arr[i].day === days[1]) {
if (arr[i].session === sessions[0]) {
newTable[1][0] += ` ${arr[i].food.name},`;
newTable[1][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[1][1] += ` ${arr[i].food.name},`;
newTable[1][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[1][2] += ` ${arr[i].food.name},`;
newTable[1][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[1][3] += ` ${arr[i].food.name},`;
newTable[1][3].push(arr[i].food.name);
}
} else if (arr[i].day === days[2]) {
if (arr[i].session === sessions[0]) {
newTable[2][0] += ` ${arr[i].food.name},`;
newTable[2][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[2][1] += ` ${arr[i].food.name},`;
newTable[2][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[2][2] += ` ${arr[i].food.name},`;
newTable[2][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[2][3] += ` ${arr[i].food.name},`;
newTable[2][3].push(arr[i].food.name);
}
} else if (arr[i].day === days[3]) {
if (arr[i].session === sessions[0]) {
newTable[3][0] += ` ${arr[i].food.name},`;
newTable[3][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[3][1] += ` ${arr[i].food.name},`;
newTable[3][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[3][2] += ` ${arr[i].food.name},`;
newTable[3][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[3][3] += ` ${arr[i].food.name},`;
newTable[3][3].push(arr[i].food.name);
}
} else if (arr[i].day === days[4]) {
if (arr[i].session === sessions[0]) {
newTable[4][0] += ` ${arr[i].food.name},`;
newTable[4][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[4][1] += ` ${arr[i].food.name},`;
newTable[4][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[4][2] += ` ${arr[i].food.name},`;
newTable[4][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[4][3] += ` ${arr[i].food.name},`;
newTable[4][3].push(arr[i].food.name);
}
} else if (arr[i].day === days[5]) {
if (arr[i].session === sessions[0]) {
newTable[5][0] += ` ${arr[i].food.name},`;
newTable[5][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[5][1] += ` ${arr[i].food.name},`;
newTable[5][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[5][2] += ` ${arr[i].food.name},`;
newTable[5][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[5][3] += ` ${arr[i].food.name},`;
newTable[5][3].push(arr[i].food.name);
}
} else if (arr[i].day === days[6]) {
if (arr[i].session === sessions[0]) {
newTable[6][0] += ` ${arr[i].food.name},`;
newTable[6][0].push(arr[i].food.name);
} else if (arr[i].session === sessions[1]) {
newTable[6][1] += ` ${arr[i].food.name},`;
newTable[6][1].push(arr[i].food.name);
} else if (arr[i].session === sessions[2]) {
newTable[6][2] += ` ${arr[i].food.name},`;
newTable[6][2].push(arr[i].food.name);
} else if (arr[i].session === sessions[3]) {
newTable[6][3] += ` ${arr[i].food.name},`;
newTable[6][3].push(arr[i].food.name);
}
}
}
setTable(newTable);
}

async function handleDelete({ day, session, name }) {
try {
const res = await api.delete(`/menu/day/${day}/session/${session}/name/${name}`);
console.log(res.data);
window.location.reload();
} catch (error) {
console.error(error)
alert(error.response.data ? error.response.data.msg : "something went wrong");
}
}
function CreateTable() {
return (
<>
{tabledata.map((c, i) => {
return (
<tr key={i}>
<td key={`${i}5`}>{days[i]}</td>
{c.map((el, j) => {
{c.map((items, j) => {
return (
<td key={`${i}${j}`}>{el}</td>
<td key={`${i}${j}`}>
<div className='d-flex flex-wrap gap-1'>
{
items.map((item, k) => {
return (
<span
onClick={() => handleDelete({ day: days[i], session: sessions[j], name: item })}
className='food-item' key={`${i}${j}${k}`}>
{item}
</span>
)
})
}
</div>
</td>
)
}
)}
Expand Down Expand Up @@ -208,7 +232,7 @@ export default function AddMenuItem() {
</Modal>
<div className="table2">
<div className="tablecontainer2">
<table className="table3">
<Table className="table3">
<thead>
<tr>
<th>Day</th>
Expand All @@ -221,7 +245,7 @@ export default function AddMenuItem() {
<tbody className='tb'>
<CreateTable />
</tbody>
</table>
</Table>
</div>
</div>
</>
Expand Down
5 changes: 5 additions & 0 deletions client/src/components/complain/Complain.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ export default function Complain({ complain, currUser }) {
}

async function handleDelete() {
if (!currUser) {
navigate('/login', { state: { redirect: '/complaints' } });
return;
}

try {
await api.delete(`/complains/${complain?.id}`);
window.location.reload();
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/login/LoginPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const LoginPage = () => {
<div className='login-page-main-cont'>
<div className="login-cont">
<Link to={'/'} className="img-logo-cont">
<img src="/logo192.png" alt="" srcset="" />
<img src="/logo192.png" alt="" />
</Link>
<div className="heading text-center">
<h1>Welcome to Mess Buddy</h1>
Expand Down
2 changes: 0 additions & 2 deletions client/src/components/navbar/AccountIcon.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ export default function AccountIcon() {
const currUser = useSelector(state => state?.user);
const navigate = useNavigate();


return (
isLogged ?
<>
Expand All @@ -36,6 +35,5 @@ export default function AccountIcon() {
<Button variant='light' onClick={() => navigate('/login')} className='border'>
Login
</Button>

);
}
Loading

0 comments on commit 38d02df

Please sign in to comment.