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..7d4b32f2 --- /dev/null +++ b/src/views/components/common/ConflictsWithWarning/ConflictsWithWarning.tsx @@ -0,0 +1,42 @@ +import React from 'react'; +import Text from '../Text/Text'; + +/** + * Props for PopupCourseBlock + */ +export interface ConflictsWithWarningProps { + ConflictingCourse: string; + SectionNumber: string; +} + +/** + * The "course block" to be used in the extension popup. + * + * @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} + + ); +}