diff --git a/apps/site/src/app/(home)/sections/Intro/Intro.module.scss b/apps/site/src/app/(home)/sections/Intro/Intro.module.scss index a889fa17..ddc0850a 100644 --- a/apps/site/src/app/(home)/sections/Intro/Intro.module.scss +++ b/apps/site/src/app/(home)/sections/Intro/Intro.module.scss @@ -2,6 +2,8 @@ .intro { @include bootstrap.padding(10rem 0.5rem); + margin-left: 10px; + margin-right: 10px; background-image: url("~src/assets/images/index-card-mobile.svg"); background-size: cover; @@ -27,10 +29,19 @@ .pin { position: absolute; - top: 0; - left: 50%; - transform: translate(-75%, -50%); + top: -12%; + left: 45%; width: auto; + + @include bootstrap.media-breakpoint-down(xl) { + left: 45%; + } + @include bootstrap.media-breakpoint-down(lg) { + left: 40%; + } + @include bootstrap.media-breakpoint-down(md) { + left: 35%; + } } .hackDoodle { diff --git a/apps/site/src/app/(home)/sections/Intro/Intro.tsx b/apps/site/src/app/(home)/sections/Intro/Intro.tsx index 9e57a16b..7ef43765 100644 --- a/apps/site/src/app/(home)/sections/Intro/Intro.tsx +++ b/apps/site/src/app/(home)/sections/Intro/Intro.tsx @@ -3,6 +3,7 @@ import Image from "next/image"; import Container from "react-bootstrap/Container"; +import { motion, cubicBezier } from "framer-motion"; import pin from "@/assets/images/index-card-pin.svg"; import hackDoodle from "@/assets/images/hack-doodle.png"; @@ -12,9 +13,24 @@ const Intro = () => { return (
- Index card pin { const mentorHeader = (

Interested in becoming a mentor?

@@ -35,20 +55,32 @@ const Mentor = () => { return ( -
- - post-it tape -
- {mentorHeader} + + + + +
+ {mentorHeader} + {mentorDescription} +
+ {applyLink} + + {mentorDescription} -
- {applyLink} - - - {mentorDescription} - {applyLink} - -
+ {applyLink} + + +
); }; diff --git a/apps/site/src/components/Sticker/Stickers/HackSticker/HackSticker.tsx b/apps/site/src/components/Sticker/Stickers/HackSticker/HackSticker.tsx index cd098ecb..398abf35 100644 --- a/apps/site/src/components/Sticker/Stickers/HackSticker/HackSticker.tsx +++ b/apps/site/src/components/Sticker/Stickers/HackSticker/HackSticker.tsx @@ -8,8 +8,8 @@ const HackSticker: React.FC = (props) => ( diff --git a/apps/site/src/components/Sticker/Stickers/index.ts b/apps/site/src/components/Sticker/Stickers/index.ts deleted file mode 100644 index 5336080b..00000000 --- a/apps/site/src/components/Sticker/Stickers/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as HackSticker } from "./HackSticker/HackSticker"; -export { default as HeartSticker } from "./HeartSticker/HeartSticker"; diff --git a/apps/site/src/components/Sticker/Stickers/index.tsx b/apps/site/src/components/Sticker/Stickers/index.tsx new file mode 100644 index 00000000..d14e7554 --- /dev/null +++ b/apps/site/src/components/Sticker/Stickers/index.tsx @@ -0,0 +1,30 @@ +import type React from "react"; +import type { StickerProps } from "./stickerProps"; +import HackLogo from "@/assets/icons/hack.png"; +import HeartEmoji from "@/assets/images/heart_emoji.png"; +import BaseSticker from "../BaseSticker"; +import { fastShake, lightShake } from "@/components/animation"; + +export const HackSticker: React.FC = (props) => { + return ( + + ); +}; + +export const HeartSticker: React.FC = (props) => ( + +); diff --git a/apps/site/src/lib/styles/globals.scss b/apps/site/src/lib/styles/globals.scss index ea01aef5..682ecd5c 100644 --- a/apps/site/src/lib/styles/globals.scss +++ b/apps/site/src/lib/styles/globals.scss @@ -5,6 +5,8 @@ $container-padding: 8rem; .background { background-image: url("~@/assets/background/anteater-head-tiling.gif"); background-size: 464px; // half size for 2x scaling + overflow-x: hidden; + max-width: 100%; } .accordion { diff --git a/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.module.scss b/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.module.scss index 002a409f..2d513759 100644 --- a/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.module.scss +++ b/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.module.scss @@ -6,6 +6,9 @@ position: relative; padding: 1rem 0; box-shadow: 0 6px 5px -2px rgba(gray, 0.5); + @media screen and (max-width: 400px) { + width: 300px; + } } .tape { @@ -13,7 +16,12 @@ width: 238px; height: 60px; position: absolute; - top: -12.5%; + top: 3%; + left: 15%; + z-index: 10; + @media screen and (max-width: 400px) { + left: 10%; + } } .container { diff --git a/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.tsx b/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.tsx index 11e82d01..38058c12 100644 --- a/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.tsx +++ b/apps/site/src/views/Resources/components/ResourceCard/ResourceCard.tsx @@ -1,5 +1,6 @@ +"use client"; import Image from "next/image"; - +import { Variants, motion, AnimatePresence, cubicBezier } from "framer-motion"; import openNewWindow from "@/assets/icons/open-new-window.svg"; import styles from "./ResourceCard.module.scss"; @@ -16,6 +17,27 @@ interface ResourceCardProps { stickyNoteColor: string; } +const variant: Variants = { + initial: { + scale: 1.1, + opacity: 0, + rotateX: 20, + translateY: 30, + }, + animate: { + scale: 1, + rotateX: 0, + opacity: 1, + translateY: 0, + transition: { + duration: 0.85, + staggerChildren: 0.1, + staggerDirection: -1, + ease: cubicBezier(0.33, 1, 0.68, 1), + }, + }, +}; + export default function ResourceCard({ title, description, @@ -24,38 +46,75 @@ export default function ResourceCard({ stickyNoteColor, }: ResourceCardProps) { return ( -
-
-
- {stickerSrc && Resource logo} -

{title}

- {description} -
- - {links.map(({ text, link }) => ( - + + + - {text} - + + {links.map(({ text, link }) => ( + + {text} + + Open link in new window + + + ))} + + + ); }