diff --git a/components/bank/landing.js b/components/bank/landing.js
index 612eaa0a..038178c5 100644
--- a/components/bank/landing.js
+++ b/components/bank/landing.js
@@ -1,6 +1,6 @@
import { Box, Button, Heading, Link, Text, Container, Badge } from 'theme-ui'
import Fade from 'react-reveal/Fade'
-import ScrollHint from './scroll-hint'
+import ScrollHint from '../scroll-hint'
import Image from 'next/image'
import hero from '../../public/bank/bg.webp'
diff --git a/components/hackathons/landing.js b/components/hackathons/landing.js
new file mode 100644
index 00000000..6768c2cb
--- /dev/null
+++ b/components/hackathons/landing.js
@@ -0,0 +1,128 @@
+import { Box, Button, Heading, Link, Text, Container, Badge } from 'theme-ui'
+import Fade from 'react-reveal/Fade'
+import ScrollHint from '../scroll-hint'
+import Image from 'next/image'
+import hero from '../../public/bank/bg.webp'
+
+export default function Landing() {
+ return (
+ <>
+
+
+
+
+
+
+ This semester, we're helping to kickstart
+
+
+ A renaissance of IRL{' '}
+ high school hackathons.
+
+
+ lakjsdf;lajsdf;lkjasd;lfja;sldkjfalskdjf;l
+
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
+
+function Slide({ children }) {
+ return (
+
+
+ {children}
+
+ )
+}
+
+function Vignette() {
+ return (
+
+ )
+}
+
+function Highlight(props) {
+ return (
+
+ )
+}
diff --git a/components/hackathons/rundown.js b/components/hackathons/rundown.js
new file mode 100644
index 00000000..a0fc5a0e
--- /dev/null
+++ b/components/hackathons/rundown.js
@@ -0,0 +1,67 @@
+import { Card, Heading, Grid, Text } from 'theme-ui'
+import Stage from '../stage'
+
+export default function Rundown() {
+ return (
+ a, > div': {
+ borderRadius: 'extra',
+ boxShadow: 'elevated',
+ px: [3, null, 4],
+ py: [4, null, 5]
+ },
+ span: {
+ boxShadow:
+ '-2px -2px 6px rgba(255,255,255,0.125), inset 2px 2px 6px rgba(0,0,0,0.1), 2px 2px 8px rgba(0,0,0,0.0625)'
+ },
+ svg: { fill: 'currentColor' }
+ }}
+ >
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/components/nav.js b/components/nav.js
index 9ebe37eb..ef44e434 100644
--- a/components/nav.js
+++ b/components/nav.js
@@ -144,6 +144,9 @@ const Navigation = props => (
Bank
+
+ Hackathons
+
Donate
diff --git a/components/bank/scroll-hint.js b/components/scroll-hint.js
similarity index 100%
rename from components/bank/scroll-hint.js
rename to components/scroll-hint.js
diff --git a/components/stage.js b/components/stage.js
new file mode 100644
index 00000000..67c8383a
--- /dev/null
+++ b/components/stage.js
@@ -0,0 +1,41 @@
+import { Box, Heading, Text } from 'theme-ui'
+import Icon from '../components/icon'
+
+const Stage = ({ icon, color, name, desc, children, ...props }) => (
+
+ {children || (
+
+
+
+ )}
+
+
+ {name}
+
+
+ {desc}
+
+
+
+)
+
+export default Stage
diff --git a/next.config.js b/next.config.js
index 131c12e7..3417b6fa 100755
--- a/next.config.js
+++ b/next.config.js
@@ -12,6 +12,7 @@ const nextConfig = {
'cdn.glitch.com',
'cloud-k18c7grqc-hack-club-bot.vercel.app',
'cloud-kcloydjv0-hack-club-bot.vercel.app',
+ 'cloud-dtijd5g0u-hack-club-bot.vercel.app'
]
},
webpack: (config, { isServer }) => {
@@ -50,7 +51,11 @@ const nextConfig = {
{ source: '/hack_camp/', destination: '/camp/', permanent: true },
{ source: '/branding/', destination: '/brand/', permanent: true },
{ source: '/ama/', destination: '/amas/', permanent: false },
- { source: '/open-source/', destination: '/opensource/', permanent: false },
+ {
+ source: '/open-source/',
+ destination: '/opensource/',
+ permanent: false
+ },
{ source: '/coc/', destination: '/conduct/', permanent: true },
{
source: '/code_of_conduct/',
diff --git a/pages/hackathons.js b/pages/hackathons.js
new file mode 100644
index 00000000..488410aa
--- /dev/null
+++ b/pages/hackathons.js
@@ -0,0 +1,34 @@
+import { Box, Container, Heading, Grid } from 'theme-ui'
+import Meta from '@hackclub/meta'
+import Head from 'next/head'
+import ForceTheme from '../components/force-theme'
+import Nav from '../components/nav'
+import Footer from '../components/footer'
+import Stage from '../components/stage'
+
+import Landing from '../components/hackathons/landing'
+import Rundown from '../components/hackathons/rundown'
+
+export default function Bank() {
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
diff --git a/pages/index.js b/pages/index.js
index 1d2a4d06..fc67d180 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -26,6 +26,7 @@ import FooterImgFile from '../public/home/footer.png'
import GoldenTrainImgFile from '../public/home/golden-train.png'
import Slack from '../components/slack'
import Announcement from '../components/announcement'
+import Stage from '../components/stage'
// import { timeSince } from '../lib/dates'
let Highlight = styled(Text)`
@@ -92,43 +93,6 @@ const Feature = ({ icon, color, name, desc, children, sx, ...props }) => (
)
-const Stage = ({ icon, color, name, desc, children, ...props }) => (
-
- {children || (
-
-
-
- )}
-
-
- {name}
-
-
- {desc}
-
-
-
-)
-
const Page = () => (
<>
(
/>
@@ -242,7 +206,11 @@ const Page = () => (
as="a"
variant="ctaLg"
href="/slack"
- sx={{ backgroundImage: t => t.util.gx('green', 'blue'), ml: [0, 3], mt: [3, 0] }}
+ sx={{
+ backgroundImage: t => t.util.gx('green', 'blue'),
+ ml: [0, 3],
+ mt: [3, 0]
+ }}
>
Join the Slack
@@ -484,9 +452,9 @@ const Page = () => (
name="Chat with 100s of club leaders"
desc={
<>
- In our Slack community, you’ll
- be invited to a space for Hack Club leaders to ask
- questions & chat, share projects, & attend weekly live events.
+ In our Slack community, you’ll be
+ invited to a space for Hack Club leaders to ask questions &
+ chat, share projects, & attend weekly live events.
>
}
/>