Skip to content

Commit

Permalink
assignment list show both instructor and student assignments
Browse files Browse the repository at this point in the history
  • Loading branch information
dqnykamp committed Jun 4, 2024
1 parent 877f49d commit 54a6a93
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 17 deletions.
2 changes: 1 addition & 1 deletion client/src/Tools/_framework/Paths/ActivityViewer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export async function action({ params, request }) {
const { data } = await axios.post(`/api/assignActivity`, {
activityId: Number(params.activityId),
});
return redirect(`/assignments/${data.userId}`);
return redirect(`/assignments`);
}

return null;
Expand Down
2 changes: 2 additions & 0 deletions client/src/Tools/_framework/Paths/AssignmentEditor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ export async function action({ params, request }) {
name = "Untitled";
}

// TODO: add a way to change an assignment name
if (formObj._action == "update name") {
await axios.post(`/api/updateAssignmentName`, {
assignmentId: Number(params.assignmentId),
Expand All @@ -38,6 +39,7 @@ export async function action({ params, request }) {
return true;
}

// TODO: do we want to have images for assignments?
if (formObj._action == "update general") {
await axios.post("/api/updateAssignmentSettings", {
name,
Expand Down
25 changes: 17 additions & 8 deletions client/src/Tools/_framework/Paths/Assignments.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,12 @@ export async function action({ request }) {
}

export async function loader({ params }) {
const { data } = await axios.get(`/api/getAssignments/${params.userId}`);
const { data: assignmentData } = await axios.get(`/api/getAssignments`);

return data;
return {
user: assignmentData.user,
assignments: assignmentData.assignments,
};
}

const AssignmentsSection = styled.div`
Expand All @@ -79,7 +82,7 @@ const AssignmentsGrid = styled.div`

export function Assignments() {
let context = useOutletContext();
let data = useLoaderData();
let { user, assignments } = useLoaderData();

useEffect(() => {
document.title = `Portfolio - Doenet`;
Expand Down Expand Up @@ -129,15 +132,15 @@ export function Assignments() {
zIndex="500"
>
<Heading as="h2" size="lg">
{data.name}
{user.name}
</Heading>
<Heading as="h3" size="md">
Assignments
</Heading>
</Box>
<AssignmentsSection data-test="Assignments">
<Wrap p="10px" overflow="visible">
{data.assignments.length < 1 ? (
{assignments.length < 1 ? (
<Flex
flexDirection="column"
justifyContent="center"
Expand All @@ -153,14 +156,20 @@ export function Assignments() {
</Flex>
) : (
<>
{data.assignments.map((assignment) => {
{assignments.map((assignment) => {
const isInstructor = assignment.ownerId === user.userId;
return (
<ActivityCard
key={`Card${assignment.assignmentId}`}
{...assignment}
fullName={data.name}
fullName={isInstructor ? "Instructor" : "Student"}
menuItems={getCardMenuList(assignment.assignmentId)}
imageLink={`/assignmentEditor/${assignment.assignmentId}`}
imageLink={
isInstructor
? `/assignmentEditor/${assignment.assignmentId}`
: `/classCode/${assignment.classCode}`
}
suppressAvatar={true}
/>
);
})}
Expand Down
2 changes: 1 addition & 1 deletion client/src/Tools/_framework/Paths/Portfolio.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export async function action({ request, params }) {
await axios.post(`/api/assignActivity`, {
activityId: formObj.activityId,
});
return redirect(`/assignments/${params.userId}`);
return redirect(`/assignments`);
} else if (formObj?._action == "noop") {
return true;
}
Expand Down
5 changes: 1 addition & 4 deletions client/src/Tools/_framework/Paths/SiteHeader.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,7 @@ export function SiteHeader(props) {
<NavLinkTab to={`portfolio/${userId}`} dataTest="Portfolio">
Portfolio
</NavLinkTab>
<NavLinkTab
to={`assignments/${userId}`}
dataTest="Assignments"
>
<NavLinkTab to={`assignments`} dataTest="Assignments">
Assignments
</NavLinkTab>
{isAdmin && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export default function ActivityCard({
name,
fullName,
menuItems,
suppressAvatar = false,
}) {
if (!imagePath) {
imagePath = "/activity_default.jpg";
Expand All @@ -44,9 +45,9 @@ export default function ActivityCard({
</Link>
<CardBody p="1">
<Flex columnGap="2px">
<Avatar size="sm" name={fullName} />
{suppressAvatar ? null : <Avatar size="sm" name={fullName} />}

<Box width="140px" p="1">
<Box width="160px" p="1">
<Text
data-test="Card Label"
height="26px"
Expand Down
2 changes: 1 addition & 1 deletion client/src/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ const router = createBrowserRouter([
),
},
{
path: "assignments/:userId",
path: "assignments",
loader: assignmentsLoader,
action: assignmentsAction,
element: (
Expand Down

0 comments on commit 54a6a93

Please sign in to comment.