-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into feature/sponsors
- Loading branch information
Showing
25 changed files
with
605 additions
and
391 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
155 changes: 155 additions & 0 deletions
155
apps/site/src/app/(home)/sections/GetInvolved/GetInvolved.module.scss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
@use "zothacks-theme" as theme; | ||
@use "bootstrap-utils" as bootstrap; | ||
|
||
$text-font-weight: 600; | ||
$text-font-size: 1.5rem; | ||
$border-radius: 14px; | ||
$speech-padding: 20px; | ||
$speech-shadow: 0 10px 0 rgba(1, 57, 70, 0.2); | ||
|
||
@mixin speechBubble($bg-color, $border-color) { | ||
background-color: $bg-color; | ||
border: 6px solid $border-color; | ||
border-radius: $border-radius; | ||
padding: $speech-padding; | ||
font-weight: $text-font-weight; | ||
font-size: $text-font-size; | ||
text-align: center; | ||
|
||
@include bootstrap.media-breakpoint-up(md) { | ||
padding: 32px 48px; | ||
text-align: left; | ||
} | ||
} | ||
|
||
@mixin boxShadow { | ||
box-shadow: $speech-shadow; | ||
} | ||
|
||
.container { | ||
padding-top: 0 !important; | ||
} | ||
|
||
.headingText { | ||
color: theme.$white; | ||
margin-bottom: 48px; | ||
font-weight: $text-font-weight; | ||
} | ||
|
||
.anteaterContainerLeft, | ||
.anteaterContainerRight { | ||
display: none; | ||
height: 187px; | ||
width: 136px; | ||
z-index: 4; | ||
@include bootstrap.media-breakpoint-up(md) { | ||
display: block; | ||
position: relative; | ||
} | ||
} | ||
|
||
.anteaterContainerLeft { | ||
@include bootstrap.media-breakpoint-up(md) { | ||
left: -32px; | ||
top: -32px; | ||
} | ||
} | ||
|
||
.anteaterContainerRight { | ||
@include bootstrap.media-breakpoint-up(md) { | ||
top: -64px; | ||
left: 48px; | ||
margin-left: auto; | ||
} | ||
} | ||
|
||
.anteaterImage { | ||
&:hover { | ||
transform: scale(1.05); | ||
animation: rotateAnimation 0.7s ease-in-out 1; | ||
} | ||
|
||
height: 187px; | ||
width: 136px; | ||
z-index: 5; | ||
transition: transform 0.5s ease-in-out; | ||
} | ||
|
||
@keyframes rotateAnimation { | ||
0%, | ||
100% { | ||
transform: scale(1.05) rotate(0deg); | ||
} | ||
33% { | ||
transform: scale(1.05) rotate(-7deg); | ||
} | ||
66% { | ||
transform: scale(1.05) rotate(7deg); | ||
} | ||
} | ||
|
||
.speechSectionLeft, | ||
.speechSectionRight { | ||
margin-bottom: 20px; | ||
position: relative; | ||
} | ||
|
||
.speechSectionRight { | ||
@include bootstrap.media-breakpoint-up(md) { | ||
top: -230px; | ||
} | ||
} | ||
|
||
.speechBubbleOuterLeft, | ||
.speechBubbleOuterRight { | ||
position: relative; | ||
background-color: theme.$white; | ||
border-radius: 18px; | ||
padding: 4px; | ||
@include boxShadow; | ||
|
||
@include bootstrap.media-breakpoint-up(md) { | ||
width: 65%; | ||
} | ||
} | ||
|
||
.speechBubbleOuterLeft { | ||
z-index: 2; | ||
@include bootstrap.media-breakpoint-up(md) { | ||
margin-left: 90px; | ||
} | ||
} | ||
|
||
.speechBubbleOuterRight { | ||
z-index: 1; | ||
@include bootstrap.media-breakpoint-up(md) { | ||
margin-left: auto; | ||
margin-right: 90px; | ||
} | ||
} | ||
|
||
.speechBubbleLeft { | ||
@include speechBubble(theme.$white, theme.$black); | ||
} | ||
|
||
.speechBubbleRight { | ||
@include speechBubble(theme.$light-green, theme.$black); | ||
} | ||
|
||
.applyButton { | ||
background-color: theme.$purple; | ||
color: theme.$white; | ||
border: 0px; | ||
padding: 4px 24px; | ||
font-weight: $text-font-weight; | ||
|
||
@include bootstrap.media-breakpoint-up(md) { | ||
padding: 4px 32px; | ||
} | ||
|
||
&::before { | ||
background-color: theme.$purple; | ||
color: theme.$white; | ||
padding: 10px; | ||
} | ||
} |
65 changes: 65 additions & 0 deletions
65
apps/site/src/app/(home)/sections/GetInvolved/GetInvolved.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
"use client"; | ||
import Container from "react-bootstrap/Container"; | ||
import Button from "react-bootstrap/Button"; | ||
import anteater_left from "@/assets/images/involved_anteater_left.png"; | ||
import anteater_right from "@/assets/images/involved_anteater_right.png"; | ||
import styles from "./GetInvolved.module.scss"; | ||
|
||
const GetInvolved = () => { | ||
const sectionHeading = <h2 className={styles.headingText}>GET INVOLVED</h2>; | ||
const leftBubbleText = <p>Want to develop your first project?</p>; | ||
const rightBubbleText = ( | ||
<p>Otherwise, if you have some experience under your belt,</p> | ||
); | ||
const applyLink = ( | ||
<Button href="/apply" type="button" className={styles.applyButton}> | ||
Apply as a Hacker | ||
</Button> | ||
); | ||
|
||
const mentorLink = ( | ||
<Button href="/mentor" type="button" className={styles.applyButton}> | ||
Apply as a Mentor | ||
</Button> | ||
); | ||
|
||
return ( | ||
<Container className={styles.container} as="section"> | ||
{sectionHeading} | ||
<div> | ||
<div className={styles.speechSectionLeft}> | ||
<div className={styles.speechBubbleOuterLeft}> | ||
<div className={styles.speechBubbleLeft}> | ||
{leftBubbleText} | ||
{applyLink} | ||
</div> | ||
</div> | ||
<div className={styles.anteaterContainerLeft}> | ||
<img | ||
className={styles.anteaterImage} | ||
src={anteater_left.src} | ||
alt="A cartoon anteater sitting on a ring buoy coding" | ||
/> | ||
</div> | ||
</div> | ||
<div className={styles.speechSectionRight}> | ||
<div className={styles.speechBubbleOuterRight}> | ||
<div className={styles.speechBubbleRight}> | ||
{rightBubbleText} | ||
{mentorLink} | ||
</div> | ||
</div> | ||
<div className={styles.anteaterContainerRight}> | ||
<img | ||
className={styles.anteaterImage} | ||
src={anteater_right.src} | ||
alt="A cartoon anteater captain sitting on a ring buoy" | ||
/> | ||
</div> | ||
</div> | ||
</div> | ||
</Container> | ||
); | ||
}; | ||
|
||
export default GetInvolved; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from "./GetInvolved"; |
78 changes: 39 additions & 39 deletions
78
apps/site/src/app/(home)/sections/Intro/Intro.module.scss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,57 +1,57 @@ | ||
@use "bootstrap-utils" as bootstrap; | ||
|
||
.intro { | ||
@include bootstrap.padding(10rem 0.5rem); | ||
margin-left: 10px; | ||
margin-right: 10px; | ||
|
||
background-image: url("~@/assets/images/index-card-mobile.svg"); | ||
background-size: cover; | ||
background-position: top; | ||
background-repeat: no-repeat; | ||
position: relative; | ||
.description { | ||
text-align: center; | ||
box-shadow: | ||
4px 4px 5px 4px rgba(0, 0, 0, 0.2), | ||
-1px -1px 8px 4px rgba(0, 0, 0, 0.2); | ||
font-size: 1rem; | ||
|
||
h2 { | ||
@include bootstrap.margin-bottom(3rem); | ||
@include bootstrap.media-breakpoint-up(sm) { | ||
font-size: 1.5rem; | ||
} | ||
} | ||
|
||
.header { | ||
font-size: 1.25rem; | ||
font-weight: 600; | ||
|
||
@include bootstrap.media-breakpoint-up(sm) { | ||
@include bootstrap.padding(8rem 4rem); | ||
background-image: url("~@/assets/images/index-card.svg"); | ||
background-size: 100% 100%; | ||
box-shadow: none; | ||
font-size: 2rem; | ||
} | ||
} | ||
|
||
.pin { | ||
position: absolute; | ||
top: -12%; | ||
left: 45%; | ||
width: auto; | ||
.intro { | ||
display: flex; | ||
flex-direction: column; | ||
justify-content: center; | ||
max-width: 90vw; | ||
margin-top: 3vw; | ||
|
||
@media screen and (min-width: 400px) { | ||
margin-top: 12.5vw; | ||
} | ||
|
||
@include bootstrap.media-breakpoint-down(xl) { | ||
left: 45%; | ||
@include bootstrap.media-breakpoint-up(sm) { | ||
margin-top: 15vw; | ||
} | ||
@include bootstrap.media-breakpoint-down(lg) { | ||
left: 40%; | ||
|
||
@media screen and (min-width: 650px) { | ||
margin-top: 20vw; | ||
} | ||
@include bootstrap.media-breakpoint-down(md) { | ||
left: 35%; | ||
|
||
@include bootstrap.media-breakpoint-up(md) { | ||
margin-top: 1vw; | ||
} | ||
} | ||
|
||
.hackDoodle { | ||
position: absolute; | ||
bottom: 0; | ||
right: 0; | ||
transform: translate(-25%, 50%); | ||
width: auto; | ||
@media screen and (min-width: 850px) { | ||
margin-top: 3vw; | ||
} | ||
|
||
@include bootstrap.media-breakpoint-up(lg) { | ||
max-width: 80vw; | ||
margin-top: 8vw; | ||
} | ||
|
||
@include bootstrap.media-breakpoint-down(lg) { | ||
display: none; | ||
@include bootstrap.media-breakpoint-up(xxl) { | ||
max-width: 75vw; | ||
margin-top: 15vw; | ||
} | ||
} |
Oops, something went wrong.