Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve table alignment #311

Merged
merged 4 commits into from
Feb 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { useAccount } from "@/store/accountStore";
import { Case, Switch } from "react-if";
import { USER_TYPE } from "@/models/User";
import ProponentLayoutHead from "./ProponentLayoutHead";
import StaffLayoutHead from "./StaffLayoutHead";

export default function LayoutTableHead() {
const { userType } = useAccount();
return (
<Switch>
<Case condition={userType === USER_TYPE.PROPONENT}>
<ProponentLayoutHead />
</Case>
<Case condition={userType === USER_TYPE.STAFF}>
<StaffLayoutHead />
</Case>
</Switch>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { TableHead, TableRow } from "@mui/material";
import { BCDesignTokens } from "epic.theme";
import { SubmitTableHeadCell } from "@/components/Shared/Table/common";

export default function ProponentLayoutHead() {
return (
<TableHead
sx={{
border: 0,
".MuiTableCell-root": {
p: BCDesignTokens.layoutPaddingXsmall,
},
}}
>
<TableRow>
<SubmitTableHeadCell
sx={{
width: "55%",
}}
/>
<SubmitTableHeadCell
align="left"
sx={{
width: "15%",
}}
/>
<SubmitTableHeadCell
align="left"
sx={{
width: "15%",
}}
/>
<SubmitTableHeadCell
align="left"
sx={{
width: "15%",
}}
/>
</TableRow>
</TableHead>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export default function ProponentTableHead() {
<TableRow>
<SubmitTableHeadCell
sx={{
width: "50%",
width: "55%",
}}
>
Submission Name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export default function ProponentTableRow({ subPackage }: ProjectRowProps) {
return (
<>
<StyledProjectTableRow>
<StyledProjectTableCell sx={{ py: 0 }}>
<StyledProjectTableCell sx={{ py: 0 }} width={"55%"}>
<Link
sx={{
color: BCDesignTokens.themeBlue90,
Expand All @@ -46,13 +46,14 @@ export default function ProponentTableRow({ subPackage }: ProjectRowProps) {
<ArrowForwardIos fontSize="small" />
</Link>
</StyledProjectTableCell>
<StyledProjectTableCell align="left">
<StyledProjectTableCell align="left" width={"15%"}>
{dateUtils.formatDate(subPackage.submitted_on)}
</StyledProjectTableCell>
<StyledProjectTableCell align="left">
<StyledProjectTableCell align="left" width={"15%"}>
{subPackage.submitted_by ?? ""}
</StyledProjectTableCell>
<StyledProjectTableCell
width={"15%"}
align="right"
sx={{
pr: BCDesignTokens.layoutPaddingSmall,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import { TableHead, TableRow } from "@mui/material";
import { SubmitTableHeadCell } from "@/components/Shared/Table/common";

export default function StaffLayoutHead() {
return (
<TableHead>
<TableRow>
<SubmitTableHeadCell
align="left"
sx={{
width: "40%",
}}
></SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "8%",
}}
></SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "12%",
}}
></SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "5%",
lineHeight: 1.2,
wordWrap: "break-word",
}}
></SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "10%",
}}
></SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "10%",
}}
></SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "15%",
}}
></SubmitTableHeadCell>
</TableRow>
</TableHead>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function StaffTableHead() {
<SubmitTableHeadCell
align="left"
sx={{
width: "42%",
width: "40%",
}}
>
Submission Name
Expand All @@ -40,7 +40,7 @@ export default function StaffTableHead() {
<SubmitTableHeadCell
align="left"
sx={{
width: "8%",
width: "5%",
lineHeight: 1.2,
wordWrap: "break-word",
}}
Expand All @@ -50,23 +50,23 @@ export default function StaffTableHead() {
<SubmitTableHeadCell
align="left"
sx={{
width: "12%",
width: "10%",
}}
>
CC Completed On
</SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "8%",
width: "10%",
}}
>
MP Review
</SubmitTableHeadCell>
<SubmitTableHeadCell
align="left"
sx={{
width: "20%",
width: "15%",
}}
>
Status
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ export default function StaffTableRow({ submissionPackage }: ProjectRowProps) {
<StyledProjectTableCell
sx={{
minWidth: "150px",
flexGrow: 1,
py: 0,
width: "40%",
}}
align="left"
>
Expand Down Expand Up @@ -86,10 +85,10 @@ export default function StaffTableRow({ submissionPackage }: ProjectRowProps) {
<StyledProjectTableCell
align="left"
sx={{
maxWidth: "75px",
overflow: "hidden",
textOverflow: "ellipsis",
whiteSpace: "nowrap",
width: "8%",
}}
>
{type}
Expand All @@ -100,34 +99,35 @@ export default function StaffTableRow({ submissionPackage }: ProjectRowProps) {
lineHeight: 1.2,
wordWrap: "break-word",
color: BCDesignTokens.typographyFontSizeBody,
width: "12%",
}}
>
{dateutils.formatDate(submitted_on)}
</StyledProjectTableCell>
<StyledProjectTableCell
align="right"
align="left"
sx={{
color:
days_since_submission > 4
? BCDesignTokens.typographyColorDanger
: BCDesignTokens.supportBorderColorSuccess,
maxWidth: "75px",
width: "5%",
}}
>
{Boolean(days_since_submission) && `+ ${days_since_submission} Days`}
</StyledProjectTableCell>
<StyledProjectTableCell
align="right"
align="left"
sx={{
maxWidth: "75px",
width: "10%",
}}
>
{dateutils.formatDate(cc_completed_on)}
</StyledProjectTableCell>
<StyledProjectTableCell
align="right"
align="left"
sx={{
maxWidth: "75px",
width: "10%",
color: BCDesignTokens.supportBorderColorSuccess,
}}
>
Expand All @@ -137,6 +137,7 @@ export default function StaffTableRow({ submissionPackage }: ProjectRowProps) {
align="right"
sx={{
pr: BCDesignTokens.layoutPaddingSmall,
width: "15%",
}}
>
<PackageStatusChipStack submissionPackage={submissionPackage} />
Expand Down
3 changes: 2 additions & 1 deletion submit-web/src/components/Projects/ProjectTable/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Box, Table, TableBody, TableContainer } from "@mui/material";
import { SubmissionPackage } from "@/models/Package";
import ProjectTableHead from "./TableHead";
import ProjectTableRow from "./ProjectTableRow";
import LayoutTableHead from "./LayoutTableHead";

type ProjectTableProps = Readonly<{
submissionPackages: Array<SubmissionPackage>;
Expand All @@ -14,7 +15,7 @@ export default function ProjectTable({
return (
<TableContainer component={Box} sx={{ height: "100%" }}>
<Table>
{!headless && <ProjectTableHead />}
{!headless ? <ProjectTableHead /> : <LayoutTableHead />}
<TableBody>
{submissionPackages?.map((subPackage) => (
<ProjectTableRow key={subPackage.id} subPackage={subPackage} />
Expand Down
Loading