/bank: add Founder's Toolbox, and general updates & improvements to the page (#189)

* Add nonprofits

* Add avatar images

* Toolbox item component

* Toolbox item cards

* Fix padding on toolbox cards

and small timeline copy change

* Remove avatars

* Copy edits for toolbox/everything features

* Fix styles on ultrawide screens

* Bank account -> organization fund

and some other wording changes

* CFix a few style things

* AMove toolbox stuff in the features section

i'm late for schooooool aaaaa

* Make features less repetitive

* Copy edit on nonprofits'

* Use hack.af link for /z

* Change copy lead for nonprofit section

* Update Everything features

* Remove lead in the middle of features section

* Update navbar /bank link to use NextLink

* Use a Link instead of <a href> for HCB mention on homepage

* Update # of teams on Bank

* Try out a new lead

* Deep pass on features section of /bank

* Fix small grammar issue

* Minor copy tweak to nonprofit section sub-header

* Variety of small copy edits

* Remove unused imports & components

* FSmall mobile style fix

Co-authored-by: Zach Latta <zach@zachlatta.com>
This commit is contained in:
Ella 2021-09-03 07:18:06 -07:00 committed by GitHub
parent 4dbc848b3c
commit f065fd368a
26 changed files with 435 additions and 227 deletions

View file

@ -1,13 +1,4 @@
import {
Box,
Container,
Heading,
Text,
Avatar,
Badge,
Link,
Grid
} from 'theme-ui'
import { Box, Container, Heading, Text, Link, Grid } from 'theme-ui'
import Run from './Run'
import { Fade } from 'react-reveal'
import Icon from '../icon'
@ -36,7 +27,6 @@ export default function Everything() {
'Collect donations via card, check, or ACH': 'enter',
'Share access with your whole team': 'member-add',
'Bank account backed by Silicon Valley Bank': 'bank-account',
'Negotiated nonprofit rates with Stripe': 'enter',
'Instant invoice sending': 'transactions',
'Real-time dashboard of finances': 'analytics',
'Transaction data export': 'download',
@ -48,24 +38,12 @@ export default function Everything() {
{item}
</ListItem>
))}
<ListItem
start={
<Avatar
src="/team/mel.png"
size={32}
alt="Mels avatar"
mr={2}
/>
}
>
Amazing support team
</ListItem>
{Object.entries({
'Physical check sending & voiding': '',
'Online ACH transfers': '',
'Online direct deposit & ACH transfers': '',
'Generate attendee legal waivers': '',
'Instant Google Workspace & email addresses': '',
'Virtual debit cards (with Apple Pay)': '',
'Virtual debit cards (with Apple & Google Pay)': '',
'Debit card transaction paper trail': '',
'Self-serve, no-contract signup': '',
'Transparency Mode (optional)': '',
@ -131,7 +109,7 @@ export default function Everything() {
fiscal sponsor
</Link>{' '}
for your&nbsp;project. Industry standard varies between 7-14%
of&nbsp;revenue.
of&nbsp;revenue. Hack Club is a 501(c)(3) nonprofit.
</Text>
</Container>
</Container>

View file

@ -88,10 +88,92 @@ export default function Features() {
name="Google Workspace"
body="Get instant, free accounts for your team (like joy@hackpenn.com)."
/>
<Module
icon="email"
name="Postal"
body={
<>
Send email newsletters for free using our hosted instance of{' '}
<Link
href="https://sendy.co/"
color="smoke"
hoverline
target="_blank"
>
Sendy
</Link>
.
</>
}
/>
<Module
icon="flag"
name="PVSA Awards"
body={
<>
Issue the{' '}
<Link
href="https://www.presidentialserviceawards.gov"
color="smoke"
hoverline
target="_blank"
>
President's Volunteer Service Award
</Link>{' '}
to your volunteers.
</>
}
/>
<Module
icon="sam"
name="Zoom Pro"
body={
<>
Create Zoom Pro meetings for free from your calendar using{' '}
<Link
href="https://hack.af/z-home"
color="smoke"
hoverline
target="_blank"
>
Slash Z
</Link>
.
</>
}
/>
<Module
icon="sticker"
name="Sticker Mule"
body="Get up to $400 in Sticker Mule credit for custom swag."
/>
<Module
icon="embed"
name="Repl.it Hacker"
body={
<>
Free Hacker Plans for your team on{' '}
<Link
href="https://repl.it"
color="smoke"
hoverline
target="_blank"
>
repl.it
</Link>{' '}
for 1 year.
</>
}
/>
<Module
icon="slack"
name="Founder's Community"
body="A space on the Slack for nonprofit founders and event organizers."
/>
<Module
icon="support"
name="Support anytime"
body="Well never leave you hanging with best-effort 24hr response time."
body="Well never leave you hanging with 24hr response time on week days."
/>
</Grid>
</Container>

View file

@ -47,7 +47,6 @@ export default function Landing() {
variant="ultratitle"
sx={{
marginBottom: 4,
// lineHeight: 0.875,
textShadow: '0 0 16px rgba(0, 0, 0, 1)',
letterSpacing: '-0.02em',
'@media screen and (max-height: 600px)': {
@ -58,8 +57,8 @@ export default function Landing() {
}
}}
>
The bank for hackers to <Underline>make ideas real</Underline>
.
<Underline>Make your ideas real</Underline> with
Hack&nbsp;Club&nbsp;Bank.
</Heading>
<Container variant="copy">
<Text
@ -81,7 +80,7 @@ export default function Landing() {
>
Hack&nbsp;Arizona
</Link>{' '}
is one of 100+ teams who uses{' '}
is one of 300+ teams who uses{' '}
<strong>Hack&nbsp;Club&nbsp;Bank</strong> to run world-class
hackathons.
</Text>

View file

@ -0,0 +1,199 @@
import { Box, Image, Text, Heading, Container, Grid, Link } from 'theme-ui'
import { Slide } from 'react-reveal'
import Stat from '../stat'
import kebabCase from 'lodash/kebabCase'
const orgs = [
{
logo: '/bank/nonprofits/girlgenius.png',
name: 'Girl Genius',
director: 'Chloe Yan',
role: 'Executive Director',
budget: 5,
website: 'girlgeniusmag.tech',
description:
'Girl Genius Magazine inspires the next generation of female and non-binary leaders in STEAM through their magazine and online community. Fully student-ran, they are destroying conventional gender standards. Becoming fiscally sponsored allowed them to scale up their impact and reach a larger audience now at 5 issues and with 11k+ readers globally.'
},
{
logo: '/bank/nonprofits/techshift.png',
transparency: 'techshift',
name: 'TechShift',
director: 'Daniel Jin',
role: 'Co-Executive Director',
budget: 100,
website: 'techshift.org',
description:
'TechShift member organizations organize tech ethics and CS + Social Good courses, work with local community partners on technical projects, and build community spaces that focus on the intersection of tech and social issues. The 30+ student-run chapters launch programs in their communities, both on and off campus.'
},
{
logo: '/bank/nonprofits/projectboom.jpg',
transparency: 'projectboom',
name: 'Project Boom',
director: 'Kunal Botla',
role: 'Founder',
budget: '5.6',
budgetLabel: 'raised',
website: 'projectboom.org',
description:
'Project Boom is a student-run organization with a simple mission: to get students access to computers. Computers that would otherwise become electronic waste instead go to students in need. Joining Hack Club Bank gave Project Boom a platform to accept and store donations to support their mission to repair these computers.'
},
{
logo: '/bank/nonprofits/executebig.png',
name: 'Execute Big',
director: 'Mingjie Jiang',
role: 'Co-Executive Director',
budget: '4',
budgetLabel: 'funded',
website: 'executebig.org',
description:
'Execute Big is a minimal & transparent student-run nonprofit enabling all students to experience computer science education. They started by using left over hackathon funds to provide travel grants to students. Now their own nonprofit, theyve expanded to share computer science with underrepresented students nationally.'
}
]
export default function Nonprofits() {
return (
<Container
sx={{ pt: 6, pb: [2, null, 5], mx: 'auto', px: [null, null, 4] }}
>
<Container
variant="copy"
sx={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
textAlign: 'center',
pb: 3
}}
>
<Heading variant="title">Nonprofit? No problem.</Heading>
<Text variant="lead" color="muted">
Hack Club Bank is a powerful, safe, and easy-to-use financial
platform, whether you're receiving your first donation or spend
$100,000 a year.
</Text>
</Container>
<Grid
gap={4}
sx={{
gridTemplateColumns: ['100%', null, null, '1fr 1fr']
}}
>
{orgs.map(org => {
const id = kebabCase(org.name)
return (
<Organization
logo={org.logo}
name={org.name}
budget={org.budget}
budgetLabel={org.budgetLabel}
website={org.website}
description={org.description}
key={id}
/>
)
})}
</Grid>
</Container>
)
}
function Organization({
logo,
name,
budget,
budgetLabel,
website,
description
}) {
return (
<Slide bottom>
<Box
sx={{
backgroundColor: 'darkless',
color: 'smoke',
borderRadius: 'extra',
mx: 'auto'
}}
>
<Container sx={{ padding: 0, margin: 0 }}>
<Box p={[3, null, 4]}>
<Box
sx={{
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between'
}}
>
<Box sx={{ display: 'flex', alignItems: 'center' }}>
<Image
src={logo}
sx={{
height: '4rem',
width: '4rem',
objectFit: 'cover',
borderRadius: 'default'
}}
/>
<Box sx={{ ml: 3 }}>
<Text
color="white"
variant="headline"
sx={{
fontSize: [28, null, 38],
lineHeight: 1,
letterSpacing: -0.1
}}
children={name}
/>
<br />
<Link
href={`https://${website}`}
sx={{
textDecoration: 'none',
color: 'muted',
'&:hover': { textDecoration: 'underline' }
}}
>
{website}
</Link>
</Box>
</Box>
<DetailStat
value={`$${budget}k`}
label={budgetLabel ?? 'budget'}
/>
</Box>
<br />
<About>{description}</About>
</Box>
</Container>
</Box>
</Slide>
)
}
function DetailStat({ value, label }) {
return (
<Box sx={{ px: 0, mb: [3, 0], ml: [-1, 0], mx: 3 }}>
<Stat value={value} label={label} sm />
</Box>
)
}
function About({ children }) {
return (
<Text
sx={{
fontSize: 2,
color: 'snow',
textIndent: '-.375em',
lineHeight: 'caption',
fontSize: 18
}}
>
{children}
</Text>
)
}

View file

@ -1,4 +1,4 @@
import { Box, Heading, Text, Container } from 'theme-ui'
import { Box, Text, Container } from 'theme-ui'
import { Fade } from 'react-reveal'
import Icon from '../icon'
@ -26,7 +26,7 @@ export default function Run() {
</Text>
<br />
<Text variant="lead" sx={{ color: 'muted', fontSize: 28 }}>
Setting up a bank account is just the start. Hack Club Bank helps
Receiving and managing money is just the start. Hack Club Bank helps
you handle ongoing obligations while youre organizing.
</Text>
</Container>

View file

@ -1,4 +1,4 @@
import { Text, Heading, Box, Container, Input, Label, Button } from 'theme-ui'
import { Box, Input, Label, Button } from 'theme-ui'
import { useState } from 'react'
function Base({ children, action, target, method }) {
@ -15,14 +15,7 @@ function Base({ children, action, target, method }) {
)
}
function Field({
placeholder,
label,
name,
type,
value,
onChange,
}) {
function Field({ placeholder, label, name, type, value, onChange }) {
return (
<Box sx={{ my: 2 }}>
<Label htmlFor={name} sx={{ color: 'muted', fontSize: 18 }}>
@ -55,7 +48,7 @@ export default function Signup() {
name="prefill_Event Name"
placeholder="Windy City Hacks"
value={values.name}
onChange={e => setValues({...values, name: e.target.value})}
onChange={e => setValues({ ...values, name: e.target.value })}
/>
<Box sx={{ display: 'flex', flexDirection: 'row', gap: 2 }}>
<Field
@ -63,14 +56,14 @@ export default function Signup() {
name="prefill_First Name"
placeholder="Fiona"
value={values.first_name}
onChange={e => setValues({...values, first_name: e.target.value})}
onChange={e => setValues({ ...values, first_name: e.target.value })}
/>
<Field
label="Last name"
name="prefill_Last Name"
placeholder="Hackworth"
value={values.last_name}
onChange={e => setValues({...values, last_name: e.target.value})}
onChange={e => setValues({ ...values, last_name: e.target.value })}
/>
</Box>
<Field
@ -79,7 +72,7 @@ export default function Signup() {
placeholder="fiona@hackclub.com"
type="email"
value={values.email}
onChange={e => setValues({...values, email: e.target.value})}
onChange={e => setValues({ ...values, email: e.target.value })}
/>
<Button sx={{ bg: 'blue', mt: [2, 3], py: 3 }} type="submit">{`Finish ${
10 - Object.values(values).filter(n => n !== '').length
@ -87,4 +80,3 @@ export default function Signup() {
</Base>
)
}

View file

@ -11,7 +11,6 @@ export default function Start() {
as="section"
id="apply"
sx={{
// bg: 'darker',
pt: 6,
zIndex: -999
}}
@ -27,7 +26,7 @@ export default function Start() {
}}
>
<Heading variant="ultratitle" color="white" mb={2}>
Sign up for Hack&nbsp;Club Bank.
Sign up for Hack&nbsp;Club&nbsp;Bank.
</Heading>
<Container variant="narrow" sx={{ color: 'muted' }}>
<Text variant="lead">

View file

@ -1,5 +1,5 @@
import { useState, useEffect } from 'react'
import { Text, Box, Container } from 'theme-ui'
import { Text } from 'theme-ui'
import Stat from '../stat'
import api from '../../lib/api'
import { timeSince } from '../../lib/helpers'
@ -36,7 +36,6 @@ function Dot() {
animationDuration: '3s',
animationTimingFunction: 'ease-in-out',
animationIterationCount: 'infinite'
// animation: `3s ${flashing} easin-in-out infinite`
}}
/>
)

View file

@ -6,7 +6,6 @@ import {
Text,
Heading,
Container,
Card,
Grid,
Link
} from 'theme-ui'
@ -34,24 +33,6 @@ const events = [
testimonial:
'For our hackathon, Hack Club Bank has given us the tools to make sure our organization is professional with sponsors. Bank and their team have created an easily manageable resource to make sure any event is run successfully. We would highly recommend any organization be a part of the Hack Club ecosystem.'
},
{
name: 'Los Altos Hacks',
location: 'Sunnyvale, CA',
organizer: 'Jamsheed Mistri',
budget: 30,
attendees: 350,
testimonial:
'Hack Club Bank has made it incredibly easy to handle our events funds and has provided countless tools to increase our productivity. With Bank, I can focus on making the event the best it can be.'
},
{
name: 'SLO Hacks',
location: 'San Luis Obispo, CA',
organizer: 'Selynna Sun',
budget: 50,
attendees: 300,
testimonial:
'Hack Club Bank significantly improved the fiscal sponsorship process for SLO Hacks, through a beautifully-designed platform full of useful features, in addition to a responsive team addressed our questions as quickly as possible.'
},
{
name: 'MAHacks',
location: 'Boston, MA',
@ -107,7 +88,6 @@ export default function Testimonials() {
<Grid
gap={4}
sx={{
// gridTemplateColumns: 'repeat(auto-fill, minmax(18em, 1fr))'
gridTemplateColumns: ['100%', null, null, '1fr 1fr']
}}
>
@ -228,7 +208,7 @@ function Event({
href={`https://bank.hackclub.com/${transparency}`}
target="_blank"
rel="noreferrer"
sx={{mt: ['16px', '0px']}}
sx={{ mt: ['16px', '0px'] }}
>
<Button
mt={[null, null, 4, 0]}

View file

@ -1,4 +1,4 @@
import { Box, Flex, Avatar, Container, Text, Badge } from 'theme-ui'
import { Box, Flex, Container, Text, Badge } from 'theme-ui'
import { Slide } from 'react-reveal'
import Icon from '../icon'
@ -100,7 +100,7 @@ function Step({ icon, name, duration }) {
children={duration}
/>
<Text
sx={{ color: 'white', fontSize: 24, maxWidth: [200, null, 300] }}
sx={{ color: 'white', fontSize: 24, maxWidth: [250, null, 500] }}
children={name}
/>
</Container>
@ -115,22 +115,22 @@ export default function RealTimeline() {
<Step
icon="send"
name="Sign up, explore, order debit cards"
duration="Day 1"
duration="Step 1"
/>
<Step
icon="welcome"
name="Intro meeting with Hack Club Bank"
duration="Day 3"
name="Intro meeting with the Bank team"
duration="Step 2"
/>
<Step
icon="post"
name="Sign the contract &amp; unlock full access"
duration="Day 4"
duration="Step 3"
/>
<Step
icon="card"
name="Receive debit cards in the mail"
duration="Day 10"
duration="Step 4"
mb={0}
/>
</Timeline>

View file

@ -147,7 +147,9 @@ const Navigation = props => (
</NextLink>
<Link href="https://workshops.hackclub.com/" children="Workshops" />
<Link href="https://scrapbook.hackclub.com/" children="Scrapbook" />
<Link href="https://hackclub.com/bank/" children="Bank" />
<NextLink href="/bank" passHref>
<Link children="Bank" />
</NextLink>
<NextLink href="/donate" passHref>
<Link children="Donate" />
</NextLink>

View file

@ -19,7 +19,7 @@
"airtable-plus": "^1.0.4",
"globby": "^11.0.4",
"lodash": "^4.17.21",
"next": "^11.1.1",
"next": "^11.1.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-masonry-css": "^1.0.16",
@ -27,7 +27,7 @@
"react-scrolllock": "^5.0.1",
"react-use-websocket": "2.7.1",
"resnow": "^1.0.0",
"theme-ui": "^0.11"
"theme-ui": "^0.10"
},
"devDependencies": {}
}

View file

@ -1,26 +1,15 @@
import {
Card,
Box,
Button,
Container,
Flex,
Heading,
Image,
Text,
Grid,
theme
} from 'theme-ui'
import { Box } from 'theme-ui'
import ForceTheme from '../components/force-theme'
import Meta from '@hackclub/meta'
import Head from 'next/head'
import Nav from '../components/nav'
import Footer from '../components/footer'
import Landing from '../components/bank/Landing'
import Features from '../components/bank/Features'
import Testimonials from '../components/bank/Testimonials'
import Everything from '../components/bank/Everything'
import Start from '../components/bank/Start'
import Nonprofits from '../components/bank/Nonprofits'
const styles = `
::selection {
@ -39,13 +28,14 @@ export default function Bank() {
<Meta
as={Head}
title="Bank"
description="Hack Club Bank provides a 501(c)(3) status-backed bank account optimized for high school hackathons including invoicing, debit cards, check sending, pre-written legal forms, automated tax filing, and transparent finances. Get fiscal sponsorship designed to help you run great events."
description="Hack Club Bank provides a 501(c)(3) status-backed organization fund optimized for high school hackathons including invoicing, debit cards, check sending, pre-written legal forms, automated tax filing, and transparent finances. Get fiscal sponsorship designed to help you run great events."
/>
<style children={styles} />
<Box>
<Landing />
<Features />
<Testimonials />
<Nonprofits />
<Everything />
<Start />
</Box>

View file

@ -18,7 +18,6 @@ import Nav from '../components/nav'
import Footer from '../components/footer'
import Sponsors from '../components/donate/sponsors'
import donors from '../components/donate/donors.json'
import ForceTheme from '../components/force-theme'
const Header = styled(Box)`
background: url('/pattern.svg');
@ -171,7 +170,6 @@ export default function Donate() {
description={desc}
image="https://cloud-cz9a6kt0a-hack-club-bot.vercel.app/0social-photo_2.jpg"
/>
<ForceTheme theme="light" />
<Nav color="muted" />
<Header pt={[5, 5, 6]}>
<Grid

View file

@ -241,7 +241,14 @@ const Page = () => (
Apply now
</Button>
</FadeIn>
<Box sx={{ display: 'flex', justifyContent: ['center', 'center', 'flex-end'], marginRight: 2, mt: [2, 2, 1] }}>
<Box
sx={{
display: 'flex',
justifyContent: ['center', 'center', 'flex-end'],
marginRight: 2,
mt: [2, 2, 1]
}}
>
<Badge
as="a"
href="https://zephyr.hackclub.com"
@ -253,7 +260,7 @@ const Page = () => (
opacity: 0.5,
textDecoration: 'none',
fontWeight: 'normal',
':hover': {opacity: 1},
':hover': { opacity: 1 },
transition: '0.3s ease'
}}
>
@ -331,13 +338,19 @@ const Page = () => (
<Text as="span" color="cyan">
2
</Text>
<Text as="p" variant="subtitle" as="p"
variant="lead"
sx={{ mt: 0, a: { variant: 'styles.a', color: 'blue' } }}>
<Text
as="p"
variant="subtitle"
as="p"
variant="lead"
sx={{ mt: 0, a: { variant: 'styles.a', color: 'blue' } }}
>
<strong>Everyone gets hacking, individually.</strong> Not hacking
bank accounts, being creative and{' '}
<NextLink href="/ship"><a>making something awesome</a></NextLink>.
<NextLink href="/ship">
<a>making something awesome</a>
</NextLink>
.
</Text>
<Text as="span" color="blue">
3
@ -529,8 +542,10 @@ const Page = () => (
name="A nonprofit bank account"
desc={
<>
Use our 501(c)(3) status (US-only) and a club bank account with{' '}
<a href="https://hackclub.com/bank/">Hack Club Bank</a>.
Use our 501(c)(3) status (US-only) and a club fund with{' '}
<Link href="/bank">
<a>Hack Club Bank</a>
</Link>.
Fundraise, accept donations, buy things!
</>
}
@ -564,7 +579,8 @@ const Page = () => (
name="A basket of free tools"
desc={
<>
Free subscriptions to Figma Pro, repl.it, Postman and more for running a great club.
Free subscriptions to Figma Pro, repl.it, Postman and more for
running a great club.
</>
}
/>

View file

@ -5,7 +5,6 @@ import Nav from '../components/nav'
import styled from '@emotion/styled'
import Footer from '../components/footer'
import t from '@hackclub/theme'
import ForceTheme from '../components/force-theme'
const Header = styled(Box)`
color: white;
@ -112,7 +111,6 @@ export default function Philosophy() {
description="Read about Hack Club, a network of high school computer science clubs. We want to make building apps and websites accessible to everyone through programming clubs at every high school."
image="https://cloud-cz9a6kt0a-hack-club-bot.vercel.app/0social-photo_2.jpg"
/>
<ForceTheme theme="light" />
<Box>
<Header>
<Container

View file

@ -101,10 +101,7 @@ export default function Team() {
/>
</Grid>
<br />
<Text variant="title" color="orange" sx={{
lineHeight: '1.75em',
fontSize: [4, 5, 6]
}}>
<Text variant="title" color="orange" sx={{ lineHeight: '1.75em' }}>
Behind the Scenes
</Text>
<Grid columns={[1, null, 2]} gap={4}>
@ -138,10 +135,7 @@ export default function Team() {
/>
</Grid>
<br />
<Text variant="title" color="orange" sx={{
lineHeight: '1.75em',
fontSize: [4, 5, 6]
}}>
<Text variant="title" color="orange" sx={{ lineHeight: '1.75em' }}>
Acknowledgements
</Text>
<Grid columns={[1, null, 2]} gap={4}>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
public/hackers/chloe.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
public/hackers/daniel.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
public/hackers/kunal.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
public/hackers/mingjie.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

200
yarn.lock
View file

@ -215,10 +215,17 @@
dependencies:
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/runtime@7.15.3", "@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2":
version "7.15.3"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b"
integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==
"@babel/runtime@7.12.5":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
dependencies:
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2":
version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
dependencies:
regenerator-runtime "^0.13.4"
@ -460,25 +467,25 @@
resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c"
integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==
"@next/env@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/env/-/env-11.1.1.tgz#d403282accbe8795aa2341f0e02c2e8bfc92bfb0"
integrity sha512-UEAzlfKofotLmj9LIgNixAfXpRck9rt/1CU9Q4ZtNDueGBJQP3HUzPHlrLChltWY2TA5MOzDQGL82H0a3+i5Ag==
"@next/env@11.1.0":
version "11.1.0"
resolved "https://registry.yarnpkg.com/@next/env/-/env-11.1.0.tgz#cae83d8e0a65aa9f2af3368f8269ffd9d911746a"
integrity sha512-zPJkMFRenSf7BLlVee8987G0qQXAhxy7k+Lb/5hLAGkPVHAHm+oFFeL+2ipbI2KTEFlazdmGY0M+AlLQn7pWaw==
"@next/mdx@^11.1.0":
version "11.1.0"
resolved "https://registry.yarnpkg.com/@next/mdx/-/mdx-11.1.0.tgz#79d6d20e0906e81c07aed0f8286d58530d051be6"
integrity sha512-X+NwSByGr9HuPkGs1nrzhmJ5qqQbv6CpEA3dJKEYHaDe7YzEUCM00Y7abxOzowXhUXeDdAHJ7IeIV4GZMhdcpg==
"@next/polyfill-module@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.1.1.tgz#89d5a70685a52a0fad79f05a1f97a6b15cc727aa"
integrity sha512-9FyVSnz00WGdlLsgc2w1xL1Lm/Q25y6FYIyA+1WlJvT6LA2lbR78GKiHgedzUvrAatVGAcg/Og+d0d7B4tsJOg==
"@next/polyfill-module@11.1.0":
version "11.1.0"
resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.1.0.tgz#ee6b9117a1f9bb137479dfa51d5a9e38e066a62f"
integrity sha512-64EgW8SzJRQls2yJ5DkuljRxgE24o2kYtX/ghTkPUJYsfidHMWzQGwg26IgRbb/uHqTd1G0W5UkKag+Nt8TWaQ==
"@next/react-dev-overlay@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.1.1.tgz#3cd99202a85412bada8ba9c8e3f4cf7c19294b24"
integrity sha512-CXc/A0DbSk5VXYu4+zr0fHm52Zh/LhPlLyVPEctJOZL64ccxkls5xGoXvgolJCku9L0pLjJzvdfAmhNLOp5dyw==
"@next/react-dev-overlay@11.1.0":
version "11.1.0"
resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.1.0.tgz#8d4e8020a4cbdacbca431a0bf40c4d28187083af"
integrity sha512-h+ry0sTk1W3mJw+TwEf91aqLbBJ5oqAsxfx+QryqEItNtfW6zLSSjxkyTYTqX8DkgSssQQutQfATkzBVgOR+qQ==
dependencies:
"@babel/code-frame" "7.12.11"
anser "1.4.9"
@ -492,30 +499,10 @@
stacktrace-parser "0.1.10"
strip-ansi "6.0.0"
"@next/react-refresh-utils@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.1.1.tgz#8d1a5432a53c9f987503d5ab07d3241230afb33f"
integrity sha512-j186y+lWc8BHAuysAWvlOqO9Bp7E3BLK/d/Ju3W2sP5BCH5ZLyLG/p308zSy/O0MGTag0B038ZA1dCy/msouRQ==
"@next/swc-darwin-arm64@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.1.tgz#ea9a76bcff00945df29a81bc43b3b22dd0a6cb53"
integrity sha512-KyB0aLpfQ+B2dsyGYpkM0ZwK3PV0t4C4b9yjgQc1VoTVnIjzXdDPnNOuVvmD849ZNOHfj3x8e2rlbxkj0lPm3A==
"@next/swc-darwin-x64@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.1.tgz#95838e9116897ae734d02fdbbfa601b6f52adaf3"
integrity sha512-B3ZXgrGx0bQplbrk2oggPjKPPsmyg8Fl0PJLMTVQ+erQ8g1m5QzyS9P6tB3SiIZa180JgENuguTHlVK5qEj4UA==
"@next/swc-linux-x64-gnu@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.1.tgz#42c4973213a880977ebdfad01474217d7d71e8c2"
integrity sha512-qvZL7gSKF+E+GZ3L1XiTnE3cOh9rk0wkqimT/q+wwcZA4E720Lu4lrT79I3HPuj6i/JPgGvmNskcnYrDeaoFaw==
"@next/swc-win32-x64-msvc@11.1.1":
version "11.1.1"
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.1.tgz#1ffcbd01a0155fa8558f7aefffea1066e9bebe74"
integrity sha512-jhnCiA1De1L+kA0gmHG1AJijHoxOcrETWziDWy8fcqSrM1NlC4aJ5Mnu6k0QMcM9MnmXTA4TQZOEv3kF7vhJUQ==
"@next/react-refresh-utils@11.1.0":
version "11.1.0"
resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.1.0.tgz#60c3c7b127a5dab8b0a2889a7dcf8a90d2c4e592"
integrity sha512-g5DtFTpLTGa36iy9DuZawtJeitI11gysFGKPQQqy+mNbSFazguArcJ10gAYFlbqpIi4boUamWNI5mAoSPx3kog==
"@node-rs/helper@1.2.1":
version "1.2.1"
@ -644,76 +631,76 @@
"@styled-system/core" "^5.1.2"
"@styled-system/css" "^5.1.5"
"@theme-ui/color-modes@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/color-modes/-/color-modes-0.11.1.tgz#33f55aba799d0022cc9182caeb616bb8fc7f53f0"
integrity sha512-u0RjpVE03mvEixHiT//JF21Fqc/XT0Idgr5VmAEJnjiKb++JJhowKLRCVUMaOiURs29FdIWdU7Q45TAu0h0Plg==
"@theme-ui/color-modes@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/color-modes/-/color-modes-0.10.0.tgz#85071f16d7d4458f3dab5a7af8b9ea459da4dcd0"
integrity sha512-6sZaagCFK48p2YjecLljFwPkiB3/R9dMNKUQC3+fnaH3N9FcsflNWpjKAYhtQ5QLKvYacFdqczT4YaMtGwKb/Q==
dependencies:
"@emotion/react" "^11.1.1"
"@theme-ui/core" "0.11.1"
"@theme-ui/css" "0.11.1"
"@theme-ui/core" "0.10.0"
"@theme-ui/css" "0.10.0"
deepmerge "^4.2.2"
"@theme-ui/components@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/components/-/components-0.11.1.tgz#fccf6c9db7bececee64ddf24907dfb1be265ca8f"
integrity sha512-fWLTJe9zF045WS7Hhanj2PYRz0t6k883KCGHITES70rrTGZ7bL/+ooX34oZ5do9JrrVx/+80Tf7EtLQfzw9BFw==
"@theme-ui/components@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/components/-/components-0.10.0.tgz#c1aa9cade71e5a6cf7c19f9e0ade900122ef23f9"
integrity sha512-zPA+16fP+R140kns+3FBhybsPzNjcCWHgXcwIPjww1dfDnlXRa7al9Nz4Y8zyWvk1wNiGqUa09Y1sabK6EYspQ==
dependencies:
"@emotion/react" "^11.1.1"
"@emotion/styled" "^11.0.0"
"@styled-system/color" "^5.1.2"
"@styled-system/should-forward-prop" "^5.1.2"
"@styled-system/space" "^5.1.2"
"@theme-ui/css" "0.11.1"
"@theme-ui/css" "0.10.0"
"@types/styled-system" "^5.1.10"
"@theme-ui/core@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/core/-/core-0.11.1.tgz#e7a3ced17a51cc57346360437cb6f94e4cbd3b0a"
integrity sha512-8TRblBlVdFfcGwm6xluaglY4VasHfvHFFXRJhiQe0wUriNto6jpWaLQnw+y9mQZ/cffLbX68Vo8i4pAauM8U2g==
"@theme-ui/core@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/core/-/core-0.10.0.tgz#2373d53368da5fa561915414ade070a9de0e9678"
integrity sha512-3DeTHGqyqIi05JCsJ+G+fqW6YsX/oGJiaAvMgLfd86tGdJOnDseEBQG41oDFHSWtQSJDpBcoFgAWMGITmYdH+g==
dependencies:
"@emotion/react" "^11.1.1"
"@theme-ui/css" "0.11.1"
"@theme-ui/parse-props" "0.11.1"
"@theme-ui/css" "0.10.0"
"@theme-ui/parse-props" "0.10.0"
deepmerge "^4.2.2"
"@theme-ui/css@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/css/-/css-0.11.1.tgz#e91f58306bd015c813f72b4dce25850a93d5ba47"
integrity sha512-b3M9EJ6EaUeJolQ5jMySGVqcliYgpMliSJmvTUPWogW43J+7chb6h/bZLymXDDhPHt+SVAtGIkR7n8aIvjFbcQ==
"@theme-ui/css@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/css/-/css-0.10.0.tgz#871f63334fb138491406c32f8347d53b19846a9b"
integrity sha512-Up3HqXoy2ERn/9gVxApCSl2n9vwtHBwPrYlMyEjX0YPs/rxmo+Aqe3kAxO+SG9idMw08mtdaDfMIFaPsBE5ovA==
dependencies:
"@emotion/react" "^11.1.1"
csstype "^3.0.5"
"@theme-ui/mdx@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/mdx/-/mdx-0.11.1.tgz#a6418ec4b90821c15ff63ee13930070dbda5fdc1"
integrity sha512-PiYXA3swuRI55pdt+vgVVOQzoosaph5+baqOWdrfKiX3UodoER0H+FkHllnTEv5IdBPKryCKy6ZTjdAZ6OR5zQ==
"@theme-ui/mdx@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/mdx/-/mdx-0.10.0.tgz#14124cb194df8023f7253391900d8d17a6011a92"
integrity sha512-IcDrQONVrOFQFCFdyrlNoTTKmhw7ELtrLktRYmmWtCEz+KHpBiEVdxNo2yvz/05zF2BPGKOqu4wkMpUR13wNSQ==
dependencies:
"@emotion/react" "^11.1.1"
"@emotion/styled" "^11.0.0"
"@mdx-js/react" "^1.6.22"
"@theme-ui/core" "0.11.1"
"@theme-ui/css" "0.11.1"
"@theme-ui/core" "0.10.0"
"@theme-ui/css" "0.10.0"
"@theme-ui/parse-props@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/parse-props/-/parse-props-0.11.1.tgz#2845c9b6f5503646aec972e2e7ade987fe1dea8b"
integrity sha512-0BHLVLiueLkH9jbT7TBuoIhqxKkgdmFFP6j/xe4V6bGfD33C4Qn/71nVwryecMFOI8AygvERhvzYu9fq1e3VNg==
"@theme-ui/parse-props@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/parse-props/-/parse-props-0.10.0.tgz#8d2f4f3b3edafd925c3872ddd559e2b62006f43f"
integrity sha512-UfcLyThXYsB9azc8qbsZVgbF7xf+GLF2Hhy+suyjwQ3XSVOx97B5ZsuzCNUGbggtBw4dXayJgRmMz0FHyp0L8Q==
dependencies:
"@emotion/react" "^11.1.1"
"@theme-ui/css" "0.11.1"
"@theme-ui/css" "0.10.0"
"@theme-ui/theme-provider@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@theme-ui/theme-provider/-/theme-provider-0.11.1.tgz#7dc4ab5242d7ddde22373783a60655137722e438"
integrity sha512-bAg3lyRV0zes+UZgsRJupDnhVe9XJ8YjkQyuXvIKE01Bd9tF1cVLmTNoCDiexWnq0VtJBZnJM2TIS9eusL2FDQ==
"@theme-ui/theme-provider@0.10.0":
version "0.10.0"
resolved "https://registry.yarnpkg.com/@theme-ui/theme-provider/-/theme-provider-0.10.0.tgz#16586af579bef804f1e4997a131134d2465bfd5d"
integrity sha512-1AVsegjEAw7uidr0/qJMoKktKbdXuXRjfukI9712GZleft3dzoHhkQUO7IefXjbafyu/plzo/WTXkbz0A4uhmA==
dependencies:
"@emotion/react" "^11.1.1"
"@theme-ui/color-modes" "0.11.1"
"@theme-ui/core" "0.11.1"
"@theme-ui/css" "0.11.1"
"@theme-ui/mdx" "0.11.1"
"@theme-ui/color-modes" "0.10.0"
"@theme-ui/core" "0.10.0"
"@theme-ui/css" "0.10.0"
"@theme-ui/mdx" "0.10.0"
"@types/hast@^2.0.0":
version "2.3.1"
@ -2406,17 +2393,17 @@ native-url@0.3.4:
dependencies:
querystring "^0.2.0"
next@^11.1.1:
version "11.1.1"
resolved "https://registry.yarnpkg.com/next/-/next-11.1.1.tgz#ca15c6d6b4b4bf8c3e859f7fc4f9657ce59bcb63"
integrity sha512-vfLJDkwAHsZUho5R1K4w49nfYhftUMWNmeNSjCtulOvnRBuEFb7ROyRZOQk7f29rMz02eLQrPZ9yiAmPsexL2g==
next@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/next/-/next-11.1.0.tgz#767d4c4fa0b9b0c768cdbd6c9f03dd86b5d701c0"
integrity sha512-GHBk/c7Wyr6YbFRFZF37I0X7HKzkHHI8pur/loyXo5AIE8wdkbGPGO0ds3vNAO6f8AxZAKGCRYtAzoGlVLoifA==
dependencies:
"@babel/runtime" "7.15.3"
"@babel/runtime" "7.12.5"
"@hapi/accept" "5.0.2"
"@next/env" "11.1.1"
"@next/polyfill-module" "11.1.1"
"@next/react-dev-overlay" "11.1.1"
"@next/react-refresh-utils" "11.1.1"
"@next/env" "11.1.0"
"@next/polyfill-module" "11.1.0"
"@next/react-dev-overlay" "11.1.0"
"@next/react-refresh-utils" "11.1.0"
"@node-rs/helper" "1.2.1"
assert "2.0.0"
ast-types "0.13.2"
@ -2458,14 +2445,9 @@ next@^11.1.1:
timers-browserify "2.0.12"
tty-browserify "0.0.1"
use-subscription "1.5.1"
util "0.12.4"
util "0.12.3"
vm-browserify "1.1.2"
watchpack "2.1.1"
optionalDependencies:
"@next/swc-darwin-arm64" "11.1.1"
"@next/swc-darwin-x64" "11.1.1"
"@next/swc-linux-x64-gnu" "11.1.1"
"@next/swc-win32-x64-msvc" "11.1.1"
node-fetch@2.6.1:
version "2.6.1"
@ -3335,17 +3317,17 @@ supports-color@^8.0.0:
dependencies:
has-flag "^4.0.0"
theme-ui@^0.11:
version "0.11.1"
resolved "https://registry.yarnpkg.com/theme-ui/-/theme-ui-0.11.1.tgz#85b9ae8437b41147bc11a2affa9a5560d2df615e"
integrity sha512-9A7PmcfO70gKGJuvFbDF3OkHwLPEsLdkwN9kOqo99nYH4U+ThRfWq6GJduQEUvKWsYfPNt+zVOlxJa1/NU8RuQ==
theme-ui@^0.10:
version "0.10.0"
resolved "https://registry.yarnpkg.com/theme-ui/-/theme-ui-0.10.0.tgz#4fce8fbe7ad008ec07b383eaf5f468b0317fcfa1"
integrity sha512-6uj9/4n6gZrlhrfQKt+QoLdtVc46ETJZv42iqedCatXaaTA5tHN1j7TJDmvYD9ooD/CT0+hsvOrx2d2etb/kYg==
dependencies:
"@theme-ui/color-modes" "0.11.1"
"@theme-ui/components" "0.11.1"
"@theme-ui/core" "0.11.1"
"@theme-ui/css" "0.11.1"
"@theme-ui/mdx" "0.11.1"
"@theme-ui/theme-provider" "0.11.1"
"@theme-ui/color-modes" "0.10.0"
"@theme-ui/components" "0.10.0"
"@theme-ui/core" "0.10.0"
"@theme-ui/css" "0.10.0"
"@theme-ui/mdx" "0.10.0"
"@theme-ui/theme-provider" "0.10.0"
timers-browserify@2.0.12, timers-browserify@^2.0.4:
version "2.0.12"
@ -3565,10 +3547,10 @@ util@0.10.3:
dependencies:
inherits "2.0.1"
util@0.12.4, util@^0.12.0:
version "0.12.4"
resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
util@0.12.3, util@^0.12.0:
version "0.12.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888"
integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==
dependencies:
inherits "^2.0.3"
is-arguments "^1.0.4"