diff --git a/src/components/design_system/button/Button.module.css b/src/components/design_system/button/Button.module.css index 9165d19d..7cc52b50 100644 --- a/src/components/design_system/button/Button.module.css +++ b/src/components/design_system/button/Button.module.css @@ -90,6 +90,7 @@ .pilled { border-radius: 20px; padding: 5px 10px; + background-color: var(--primary-90); } .circular { diff --git a/src/components/layout/Layout.tsx b/src/components/layout/Layout.tsx index 6b66869a..1e79fa77 100644 --- a/src/components/layout/Layout.tsx +++ b/src/components/layout/Layout.tsx @@ -22,8 +22,9 @@ const Layout = ({ children }: LayoutProps) => {
{children}
diff --git a/src/components/navbar/NavBar.tsx b/src/components/navbar/NavBar.tsx index e5d9fd70..aef88302 100644 --- a/src/components/navbar/NavBar.tsx +++ b/src/components/navbar/NavBar.tsx @@ -1,9 +1,10 @@ import CloseIcon from "@mui/icons-material/Close"; -import CoPresent from "@mui/icons-material/CoPresent"; +import PeopleOutline from "@mui/icons-material/PeopleOutline"; import Logout from "@mui/icons-material/Logout"; import MenuIcon from "@mui/icons-material/Menu"; -import PeopleOutline from "@mui/icons-material/PeopleOutline"; -import Settings from "@mui/icons-material/Settings"; +import SchoolOutlined from "@mui/icons-material/SchoolOutlined"; +import ContentPaste from "@mui/icons-material/ContentPaste"; +import SettingsOutlined from "@mui/icons-material/SettingsOutlined"; import AppBar from "@mui/material/AppBar"; import Box from "@mui/material/Box"; import Drawer from "@mui/material/Drawer"; @@ -90,9 +91,10 @@ export default function NavBar() { const drawer = (
- } text="Students" /> - } text="Staff" /> - } text="Settings" /> + } text="Assigned" /> + } text="Students" /> + } text="Staff" /> + } text="Settings" /> } text="Logout" diff --git a/src/components/taskCard/TaskCard.module.css b/src/components/taskCard/TaskCard.module.css index d50a0928..1b96cf21 100644 --- a/src/components/taskCard/TaskCard.module.css +++ b/src/components/taskCard/TaskCard.module.css @@ -48,7 +48,8 @@ color: var(--grey-30); display: flex; flex-direction: column; + justify-content: flex-end; align-items: flex-end; gap: 3px; - margin: 10px 0; + width: 65%; } diff --git a/src/components/taskCard/taskCard.tsx b/src/components/taskCard/taskCard.tsx index 5ef82928..476a4d05 100644 --- a/src/components/taskCard/taskCard.tsx +++ b/src/components/taskCard/taskCard.tsx @@ -1,11 +1,9 @@ -// import Image from "next/image"; -import React, { useMemo } from "react"; -import $taskCard from "./TaskCard.module.css"; import $button from "@/components/design_system/button/Button.module.css"; import $box from "@/styles/Box.module.css"; -import Link from "next/link"; -import ProgressBar from "../progressBar/progressBar"; import { differenceInWeeks, format } from "date-fns"; +import Link from "next/link"; +import { useMemo } from "react"; +import $taskCard from "./TaskCard.module.css"; interface ParaTaskCard { task_id: string; @@ -23,9 +21,10 @@ interface ParaTaskCard { interface TaskCardProps { task: ParaTaskCard; + isPara: boolean; } -const TaskCard = ({ task }: TaskCardProps) => { +const TaskCard = ({ task, isPara }: TaskCardProps) => { const completionRate = useMemo(() => { const num = parseInt(task.completed_trials as string) || 0; const calculatedRate = Math.floor( @@ -63,35 +62,35 @@ const TaskCard = ({ task }: TaskCardProps) => { }`}
- {/* Student's profile picture. */} -
= 100 ? $taskCard.imageDone : $taskCard.image - } - >
-
- {task.first_name} {task.last_name} -
+ {task.first_name} {task.last_name}
-
+ +

- {task.category} - {task.description} + {task?.category} - {task?.description}

-
-
- {completionRate}% complete - -
+
+ {/* Para smaller screen view can click on card instead */} + {!isPara ? ( + + View benchmark + + ) : null} - = 100 ? $button.inactive : "" - }`} - > - Collect data - + = 100 ? $button.inactive : "" + }`} + > + Collect data + +
+
); }; diff --git a/src/pages/benchmarks/index.tsx b/src/pages/benchmarks/index.tsx index 08872d62..f9477e23 100644 --- a/src/pages/benchmarks/index.tsx +++ b/src/pages/benchmarks/index.tsx @@ -1,14 +1,25 @@ -import React from "react"; -import TaskCard from "@/components/taskCard/taskCard"; import { trpc } from "@/client/lib/trpc"; +import TaskCard from "@/components/taskCard/taskCard"; import $typo from "@/styles/Typography.module.css"; -import { Container, Box } from "@mui/material"; +import FilterAlt from "@mui/icons-material/FilterAlt"; +import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown"; +import Sort from "@mui/icons-material/Sort"; +import { Box, Container } from "@mui/material"; import Image from "next/image"; +import Link from "next/link"; +import { useState } from "react"; +import $button from "../../components/design_system/button/Button.module.css"; import noBenchmarks from "../../public/img/no-benchmarks.png"; +import SearchIcon from "@mui/icons-material/Search"; function Benchmarks() { + const [isPara, setIsPara] = useState(false); const { data: tasks, isLoading } = trpc.para.getMyTasks.useQuery(); + const handleTogglePara = () => { + setIsPara(!isPara); + }; + if (isLoading) { return
Loading...
; } @@ -33,15 +44,90 @@ function Benchmarks() { ) : ( - + + +

Assigned Students

+
+ {/* Temporary Toggle View of CM and Para */} + {isPara ? "Para" : "Case Manager"} + + + {/* Search Pill Placeholder */} + + Search + + + {/* Filter Pill Placeholder */} + + Filter + + + {/* Sort Pill Placeholder*/} + + Sort + +
+
+ + + {tasks?.map((task) => { + const completed = Math.floor( + Number(task.completed_trials) / Number(task.target_max_attempts) + ); + return ( +
+ {/* Temporary CM & Para View */} + {isPara && !completed ? ( + + + + ) : ( + + )} +
+ ); + })} +
+
)} ); diff --git a/src/styles/Box.module.css b/src/styles/Box.module.css index a63b4fb9..ce3b845f 100644 --- a/src/styles/Box.module.css +++ b/src/styles/Box.module.css @@ -17,7 +17,7 @@ .inactive { composes: default; background-color: var(--grey-80); - border: none; + /* border: none; */ color: var(--grey-50); }