diff --git a/libs/website/feature/introduction/ui/welcome/spline-welcome.client.tsx b/libs/website/feature/introduction/ui/welcome/spline-welcome.client.tsx new file mode 100644 index 00000000..1d0a0662 --- /dev/null +++ b/libs/website/feature/introduction/ui/welcome/spline-welcome.client.tsx @@ -0,0 +1,11 @@ +import Spline from '@splinetool/react-spline' +import React from 'react' + +export function SplineWelcome() { + return ( + + ) +} diff --git a/libs/website/feature/introduction/ui/welcome/welcome.section.tsx b/libs/website/feature/introduction/ui/welcome/welcome.section.tsx new file mode 100644 index 00000000..f516868d --- /dev/null +++ b/libs/website/feature/introduction/ui/welcome/welcome.section.tsx @@ -0,0 +1,22 @@ +import React from 'react' +import { ClientOnly } from 'remix-utils/client-only' +import { WELCOME_CONSTATNTS } from '../../constants/welcome.constants' +import { SplineWelcome } from './spline-welcome.client' +import { Welcome } from './welcome' + +export function WelcomeSection() { + return ( + + + {() => ( + + )} + + + + + + + + ) +} diff --git a/libs/website/feature/introduction/ui/welcome/welcome.stories.tsx b/libs/website/feature/introduction/ui/welcome/welcome.stories.tsx new file mode 100644 index 00000000..ac9fa96d --- /dev/null +++ b/libs/website/feature/introduction/ui/welcome/welcome.stories.tsx @@ -0,0 +1,69 @@ +import type { Media } from '@cuhacking/shared/types/media' +import type { Meta, StoryObj } from '@storybook/react' +import discord_green from '@cuhacking/shared/assets/icons/socials/discord-green-1.svg' +import docs_green from '@cuhacking/shared/assets/icons/socials/docs-green-1.svg' +import email_green from '@cuhacking/shared/assets/icons/socials/email-green-1.svg' +import figma_green from '@cuhacking/shared/assets/icons/socials/figma-green-1.svg' +import github_green from '@cuhacking/shared/assets/icons/socials/github-green-1.svg' +import instagram_green from '@cuhacking/shared/assets/icons/socials/instagram-green-1.svg' +import linkedin_green from '@cuhacking/shared/assets/icons/socials/linkedin-green-1.svg' +import linktree_green from '@cuhacking/shared/assets/icons/socials/linktree-green-1.svg' +import { Welcome } from './welcome' + +const socials: { link: string, media: Media }[] = [ + { + link: 'https://github.com', + media: { src: github_green.src, alt: 'GitHub' }, + }, + { + link: 'https://instagram.com', + media: { src: instagram_green.src, alt: 'Instagram' }, + }, + { + link: 'https://linkedin.com', + media: { src: linkedin_green.src, alt: 'LinkedIn' }, + }, + { + link: 'https://linktr.ee', + media: { src: linktree_green.src, alt: 'Linktree' }, + }, + { + link: 'mailto:example@email.com', + media: { src: email_green.src, alt: 'Email' }, + }, + { + link: 'https://discord.com', + media: { src: discord_green.src, alt: 'Discord' }, + }, + { + link: 'https://docs.com', + media: { src: docs_green.src, alt: 'Documentation' }, + }, + { + link: 'https://figma.com', + media: { src: figma_green.src, alt: 'Figma' }, + }, +] + +const meta: Meta = { + title: 'cuHacking Design System/Intro', + component: Welcome, + tags: ['autodocs'], + parameters: { + layout: 'centered', + }, + args: { + socials, + }, + argTypes: { + socials: { + control: { type: 'object' }, + }, + }, +} + +export default meta + +type Story = StoryObj + +export const Default: Story = {} diff --git a/libs/website/feature/introduction/ui/welcome/welcome.tsx b/libs/website/feature/introduction/ui/welcome/welcome.tsx new file mode 100644 index 00000000..0631df16 --- /dev/null +++ b/libs/website/feature/introduction/ui/welcome/welcome.tsx @@ -0,0 +1,41 @@ +import { GlassmorphicCard } from '@cuhacking/shared/ui/src/cuHacking/components/glassmorphic-card' +import { TerminalText } from '@cuhacking/shared/ui/src/cuHacking/components/terminal-text' +import { Socials } from '@website/shared/ui/socials' +import React from 'react' + +interface Media { + src: string + alt: string +} + +interface IntroProps { + socials: { link: string, media: Media }[] +} +// TODO: Refactor so that it takes in props that can communicate colours +export function Welcome({ socials }: IntroProps) { + return ( + + HELLO, WORLD + + + + + cuHacking + + is coming to you + + Mar. 14 - 16 2025 @ Carleton University + + + + + In the meantime, check out all the cool stuff we're working on! + + + + + ) +}
+ + cuHacking + + is coming to you + + Mar. 14 - 16 2025 @ Carleton University + +
In the meantime, check out all the cool stuff we're working on!