chore: add default story

This commit is contained in:
doprz
2024-03-06 13:45:44 -06:00
parent bc935cc80a
commit 115d794ef9
3 changed files with 58 additions and 46 deletions

View File

@@ -7,18 +7,16 @@ import CancelledIcon from '~icons/material-symbols/warning';
import Text from '../Text/Text';
export interface CalendarCourseCellProps {
courseDeptAndInstr: string;
timeAndLocation?: string;
status: Status;
colors: CourseColors;
/** The Course that the meeting is for. */
course: Course;
/* index into course meeting array to display */
meetingIdx?: number;
/** The background color for the course. */
color: string;
}
const CalendarCourseCell: React.FC<CalendarCourseCellProps> = ({
courseDeptAndInstr,
timeAndLocation,
status,
colors,
}: CalendarCourseCellProps) => {
const CalendarCourseCell: React.FC<CalendarCourseCellProps> = ({ course, meetingIdx }: CalendarCourseCellProps) => {
let meeting: CourseMeeting | null = meetingIdx !== undefined ? course.schedule.meetings[meetingIdx] : null;
let rightIcon: React.ReactNode | null = null;
if (status === Status.WAITLISTED) {
rightIcon = <WaitlistIcon className='h-5 w-5' />;

View File

@@ -2,7 +2,9 @@ import React from 'react';
import { DAY_MAP } from 'src/shared/types/CourseMeeting';
import styles from './CalendarGrid.module.scss';
import CalendarCell from '../CalendarGridCell/CalendarGridCell';
import { CourseMeeting } from 'src/shared/types/CourseMeeting';
import CalendarCourseCell from '../CalendarCourseCell/CalendarCourseCell';
import { Chip } from '../Chip/Chip';
const daysOfWeek = Object.keys(DAY_MAP).filter(key => !['S', 'SU'].includes(key));
const hoursOfDay = Array.from({ length: 14 }, (_, index) => index + 8);
@@ -22,14 +24,14 @@ for (let i = 0; i < 13; i++) {
}
interface Props {
CourseMeetingBlocks: CourseMeeting[];
courseCells: typeof CalendarCourseCell[];
}
/**
* Grid of CalendarGridCell components forming the user's course schedule calendar view
* @param props
*/
export function Calendar({ courseMeetingBlocks }: React.PropsWithChildren<Props>): JSX.Element {
export function Calendar({ courseCells }: React.PropsWithChildren<Props>): JSX.Element {
return (
<div className={styles.calendar}>
@@ -54,12 +56,16 @@ export function Calendar({ courseMeetingBlocks }: React.PropsWithChildren<Props>
{day}
</div>
))}
{grid.map((row, rowIndex) => row)}
{grid.map((row) => row)}
</div>
</div>
{courseMeetingBlocks.map((block: CourseMeeting, index: number) => (
<div key={index}>
{block}
{courseCells.map((Block: typeof CalendarCourseCell) => (
<div key={`${Block}`}
style ={{
gridColumn: `1`,
gridRow: `1`
}}>
<Chip label='test'/>
</div>
))}
</div>