From 039a882a2b8162e2fbf19e037eb336ef10be0288 Mon Sep 17 00:00:00 2001 From: Julian Dominguez-Schatz Date: Fri, 29 Sep 2023 19:11:59 -0400 Subject: [PATCH] Add empty state for individual classrooms page tabs (#596) Co-authored-by: carissa-tang <69697180+carissa-tang@users.noreply.github.com> --- .../EmptyArchivedClassroomsMessage.tsx | 21 ++++ .../info/messages/EmptyClassroomsMessage.tsx | 2 +- .../pages/teacher/ClassroomsPage.tsx | 97 ++++++++++--------- 3 files changed, 74 insertions(+), 46 deletions(-) create mode 100644 frontend/src/components/common/info/messages/EmptyArchivedClassroomsMessage.tsx diff --git a/frontend/src/components/common/info/messages/EmptyArchivedClassroomsMessage.tsx b/frontend/src/components/common/info/messages/EmptyArchivedClassroomsMessage.tsx new file mode 100644 index 000000000..2ce2dda4d --- /dev/null +++ b/frontend/src/components/common/info/messages/EmptyArchivedClassroomsMessage.tsx @@ -0,0 +1,21 @@ +import React, { type ReactElement } from "react"; +import { Center, useStyleConfig } from "@chakra-ui/react"; + +import DisplayAssessmentsIllustration from "../../../../assets/illustrations/display-assessments.svg"; +import MessageContainer from "../MessageContainer"; + +const EmptyArchivedClassroomsMessage = (): ReactElement => { + const styles = useStyleConfig("Center", { variant: "emptyMessage" }); + return ( +
+ +
+ ); +}; + +export default EmptyArchivedClassroomsMessage; diff --git a/frontend/src/components/common/info/messages/EmptyClassroomsMessage.tsx b/frontend/src/components/common/info/messages/EmptyClassroomsMessage.tsx index 9bdb87794..9fa2dd6fe 100644 --- a/frontend/src/components/common/info/messages/EmptyClassroomsMessage.tsx +++ b/frontend/src/components/common/info/messages/EmptyClassroomsMessage.tsx @@ -14,7 +14,7 @@ const EmptyClassroomsMessage = ({ }: EmptyClassroomsStateProps): React.ReactElement => { const styles = useStyleConfig("Center", { variant: "emptyMessage" }); return ( -
+
} buttonText="Create a classroom" diff --git a/frontend/src/components/pages/teacher/ClassroomsPage.tsx b/frontend/src/components/pages/teacher/ClassroomsPage.tsx index f26eaaaee..45d396ad6 100644 --- a/frontend/src/components/pages/teacher/ClassroomsPage.tsx +++ b/frontend/src/components/pages/teacher/ClassroomsPage.tsx @@ -21,6 +21,7 @@ import { TABS_CLASSROOM, } from "../../../types/ClassroomTypes"; import HeaderWithButton from "../../common/HeaderWithButton"; +import EmptyArchivedClassroomsMessage from "../../common/info/messages/EmptyArchivedClassroomsMessage"; import EmptyClassroomsMessage from "../../common/info/messages/EmptyClassroomsMessage"; import QueryStateHandler from "../../common/QueryStateHandler"; import Pagination from "../../common/table/Pagination"; @@ -100,57 +101,63 @@ const ClassroomsPage = (): ReactElement => { {TABS_CLASSROOM.map((tab) => ( - - {paginatedData?.map( - ({ - id, - activeAssessments, - assessmentCount, - gradeLevel, - isActive, - className, - startDate, - studentCount, - }) => ( - - + + {paginatedData?.map( + ({ + id, + activeAssessments, + assessmentCount, + gradeLevel, + isActive, + className, + startDate, + studentCount, + }) => ( + + + + ), + )} + + + {totalPages > 1 && ( + - - ), - )} - - - {totalPages > 1 && ( - - )} - + )} + + + ) : tabIndex === 0 ? ( + + ) : ( + + )} ))} ) : ( - - - + )}