diff --git a/libs/website/feature/introduction/ui/mission/mission.section.tsx b/libs/website/feature/introduction/ui/mission/mission.section.tsx new file mode 100644 index 00000000..8658c3f3 --- /dev/null +++ b/libs/website/feature/introduction/ui/mission/mission.section.tsx @@ -0,0 +1,22 @@ +import React from 'react' +import { ClientOnly } from 'remix-utils/client-only' +import { MISSION_CONSTANTS } from '../../constants/mission.constants' +import { Mission } from './mission' +import { SplineMission } from './spline-mission.client' + +export function MissionSection() { + return ( +
+ + {() => ( + + )} + +
+
+ +
+
+
+ ) +} diff --git a/libs/website/feature/introduction/ui/mission/mission.stories.tsx b/libs/website/feature/introduction/ui/mission/mission.stories.tsx new file mode 100644 index 00000000..47e62142 --- /dev/null +++ b/libs/website/feature/introduction/ui/mission/mission.stories.tsx @@ -0,0 +1,23 @@ +import type { Meta, StoryObj } from '@storybook/react' +import asciiLogo from '@website/assets/ascii-art/logos/cuhacking-1.svg' +import { Mission } from './mission' + +const meta: Meta = { + title: 'cuHacking Design System/Mission', + component: Mission, + tags: ['autodocs'], + parameters: { + layout: 'centered', + }, + argTypes: { + logo: { + control: 'text', + }, + }, +} + +export default meta + +type Story = StoryObj + +export const DefaultMission: Story = { args: { logo: asciiLogo.src } } diff --git a/libs/website/feature/introduction/ui/mission/mission.tsx b/libs/website/feature/introduction/ui/mission/mission.tsx new file mode 100644 index 00000000..24e3740e --- /dev/null +++ b/libs/website/feature/introduction/ui/mission/mission.tsx @@ -0,0 +1,52 @@ +import { GlassmorphicCard } from '@cuhacking/shared/ui/src/cuHacking/components/glassmorphic-card' +import { Separator } from '@cuhacking/shared/ui/src/cuHacking/components/separator' +import { TerminalText } from '@cuhacking/shared/ui/src/cuHacking/components/terminal-text' +import React from 'react' + +interface MissionProps { + logo: string +} + +// TODO: Refactor so that it takes in props for text +export function Mission({ logo }: MissionProps) { + return ( + + +
+
+ cuHacking Logo +
+ +
+

OUR MISSION

+
+ +

+ cuHacking is a 36-hour hackathon that + ✨sparks creativity + {' '} + and problem-solving among 🍁Ottawa's brightest minds. +

+ +
+ +

+ {' '} + A catalyst for + innovation + , + collaboration + , and + learning + , providing an inclusive space for passionate minds to create and grow together. + +

+ +
+
+
+
+
+ + ) +} diff --git a/libs/website/feature/introduction/ui/mission/spline-mission.client.tsx b/libs/website/feature/introduction/ui/mission/spline-mission.client.tsx new file mode 100644 index 00000000..948187c2 --- /dev/null +++ b/libs/website/feature/introduction/ui/mission/spline-mission.client.tsx @@ -0,0 +1,14 @@ +import Spline from '@splinetool/react-spline' +import React from 'react' + +export function SplineMission() { + return ( +
+ +
+ + ) +}