diff --git a/src/stories/components/ConflictsWithWarning.stories.tsx b/src/stories/components/ConflictsWithWarning.stories.tsx new file mode 100644 index 00000000..f1f9855a --- /dev/null +++ b/src/stories/components/ConflictsWithWarning.stories.tsx @@ -0,0 +1,25 @@ +import { Meta, StoryObj } from '@storybook/react'; +import ConflictsWithWarning from '@views/components/common/ConflictsWithWarning/ConflictsWithWarning'; + +const meta = { + title: 'Components/Common/ConflictsWithWarning', + component: ConflictsWithWarning, + parameters: { + layout: 'centered', + }, + tags: ['autodocs'], + argTypes: { + ConflictingCourse: { control: 'string' }, + SectionNumber: { control: 'string' }, + }, +} satisfies Meta; +export default meta; + +type Story = StoryObj; + +export const Default: Story = { + args: { + ConflictingCourse: 'BVO 311C', + SectionNumber: '47280', + }, +}; \ No newline at end of file diff --git a/src/views/components/common/ConflictsWithWarning/ConflictsWithWarning.tsx b/src/views/components/common/ConflictsWithWarning/ConflictsWithWarning.tsx new file mode 100644 index 00000000..6b9646c0 --- /dev/null +++ b/src/views/components/common/ConflictsWithWarning/ConflictsWithWarning.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import Text from '../Text/Text'; + +/** + * Props for ConflictWithWarningProps + */ +export interface ConflictsWithWarningProps { + ConflictingCourse: string; + SectionNumber: string; +} + +/** + * The ConflictsWithWarning component is used to display a warning message when a course conflicts + * with another course as part of the labels and details section + * + * @param props ConflictsWithWarningProps + */ +export default function ConflictsWithWarning( { ConflictingCourse, SectionNumber }: ConflictsWithWarningProps): JSX.Element { + const UniqueCourseConflictText = `${ConflictingCourse} (${SectionNumber})`; + + return ( +
+ + Conflicts With: + + + {UniqueCourseConflictText} + +
+ ); +} + +function ConflictsWithoutWarningText( {children}: {children: string} ) { + return ( + + {children} + + ); +}