mirror of
https://github.com/System-End/site.git
synced 2026-04-20 00:25:19 +00:00
Merge branch 'main' into patch-11
This commit is contained in:
commit
220c63f4e4
10 changed files with 252 additions and 361 deletions
|
|
@ -2,10 +2,33 @@ import { useEffect, useRef, useState } from 'react'
|
|||
import { Box, Flex, Input, Text } from 'theme-ui'
|
||||
import FlexCol from '../../flex-col'
|
||||
import AutofillColourFix from './autofill-colour-fix'
|
||||
import { geocode } from '../../../lib/bank/apply/address-validation'
|
||||
import { geocode, search } from '../../../lib/bank/apply/address-validation'
|
||||
import Icon from '../../icon'
|
||||
|
||||
const approvedCountries = ['US', 'CA', 'MX']
|
||||
const approvedCountries = [
|
||||
"AT",
|
||||
"FI",
|
||||
"FR",
|
||||
"DE",
|
||||
"GR",
|
||||
"ES",
|
||||
"IT",
|
||||
"SE",
|
||||
"TR",
|
||||
"GB",
|
||||
"NO",
|
||||
"UA",
|
||||
"BR",
|
||||
"CO",
|
||||
"US",
|
||||
"CA",
|
||||
"MX",
|
||||
"JP",
|
||||
"PH",
|
||||
"MY",
|
||||
"SG",
|
||||
];
|
||||
|
||||
|
||||
export default function AutoComplete({ name, isPersonalAddressInput }) {
|
||||
const input = useRef()
|
||||
|
|
@ -13,25 +36,10 @@ export default function AutoComplete({ name, isPersonalAddressInput }) {
|
|||
const [predictions, setPredictions] = useState(null)
|
||||
const [countryCode, setCountryCode] = useState(null)
|
||||
|
||||
const performGeocode = async address => {
|
||||
if (isPersonalAddressInput) return
|
||||
geocode(address)
|
||||
.then(res => {
|
||||
const country = res?.results[0]?.country
|
||||
const countryCode = res?.results[0]?.countryCode
|
||||
|
||||
setCountryCode(countryCode)
|
||||
|
||||
sessionStorage.setItem('bank-signup-eventCountry', country)
|
||||
sessionStorage.setItem('bank-signup-eventCountryCode', countryCode)
|
||||
})
|
||||
.catch(err => console.error(err))
|
||||
}
|
||||
|
||||
const optionClicked = async prediction => {
|
||||
input.current.value = prediction.description
|
||||
performGeocode(prediction.description)
|
||||
setPredictions(null)
|
||||
input.current.value = prediction.name
|
||||
await onInput(prediction.name)
|
||||
setPredictions(null)
|
||||
}
|
||||
const clickOutside = e => {
|
||||
if (input.current && !input.current.contains(e.target)) {
|
||||
|
|
@ -39,41 +47,42 @@ export default function AutoComplete({ name, isPersonalAddressInput }) {
|
|||
}
|
||||
}
|
||||
|
||||
const onInput = async value => {
|
||||
setPredictions(value ? (await search(value)).results : null);
|
||||
|
||||
if (isPersonalAddressInput) return
|
||||
geocode(value)
|
||||
.then(res => {
|
||||
const country = res?.results[0]?.country
|
||||
const countryCode = res?.results[0]?.countryCode
|
||||
|
||||
setCountryCode(countryCode)
|
||||
|
||||
sessionStorage.setItem('bank-signup-eventCountry', country)
|
||||
sessionStorage.setItem('bank-signup-eventCountryCode', countryCode)
|
||||
})
|
||||
.catch(err => console.error(err));
|
||||
}
|
||||
|
||||
const onInputWrapper = async e => {
|
||||
if (e.target.value) await onInput(e.target.value)
|
||||
}
|
||||
|
||||
//TODO: Close suggestions view when focus is lost via tabbing.
|
||||
//TODO: Navigate suggestions with arrow keys.
|
||||
|
||||
useEffect(() => {
|
||||
const inputEl = input.current
|
||||
|
||||
if (!window.google || !inputEl) return
|
||||
|
||||
const service = new window.google.maps.places.AutocompleteService()
|
||||
|
||||
const onInput = async e => {
|
||||
if (!e.target.value) {
|
||||
setPredictions(null)
|
||||
} else {
|
||||
service.getPlacePredictions(
|
||||
{ input: e.target.value },
|
||||
(predictions, status) => {
|
||||
setPredictions(predictions)
|
||||
if (status !== window.google.maps.places.PlacesServiceStatus.OK) {
|
||||
//DEBUG
|
||||
setPredictions([])
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
if (!inputEl) return
|
||||
|
||||
document.addEventListener('click', clickOutside)
|
||||
inputEl.addEventListener('input', onInput)
|
||||
inputEl.addEventListener('focus', onInput)
|
||||
inputEl.addEventListener('input', onInputWrapper)
|
||||
inputEl.addEventListener('focus', onInputWrapper)
|
||||
|
||||
return () => {
|
||||
document.removeEventListener('click', clickOutside)
|
||||
inputEl.removeEventListener('input', onInput)
|
||||
inputEl.removeEventListener('focus', onInput)
|
||||
inputEl.removeEventListener('input', onInputWrapper)
|
||||
inputEl.removeEventListener('focus', onInputWrapper)
|
||||
}
|
||||
}, [])
|
||||
|
||||
|
|
@ -87,7 +96,6 @@ export default function AutoComplete({ name, isPersonalAddressInput }) {
|
|||
placeholder="Shelburne, VT"
|
||||
autoComplete="off"
|
||||
sx={{ ...AutofillColourFix }}
|
||||
onInput={async e => performGeocode(e.target.value)}
|
||||
/>
|
||||
<Box>
|
||||
{/* {String(countryCode)} */}
|
||||
|
|
@ -107,7 +115,7 @@ export default function AutoComplete({ name, isPersonalAddressInput }) {
|
|||
}}
|
||||
>
|
||||
Currently, we only have first-class support for organizations in
|
||||
the United States, Canada, and Mexico.
|
||||
select countries.
|
||||
<br />
|
||||
If you're somewhere else, you can still use bank!
|
||||
<br />
|
||||
|
|
@ -117,7 +125,7 @@ export default function AutoComplete({ name, isPersonalAddressInput }) {
|
|||
)}
|
||||
</Box>
|
||||
</FlexCol>
|
||||
{predictions && (
|
||||
{predictions && predictions.length > 0 && (
|
||||
<Box
|
||||
sx={{
|
||||
background: '#47454f',
|
||||
|
|
@ -147,9 +155,9 @@ export default function AutoComplete({ name, isPersonalAddressInput }) {
|
|||
fontSize: 'inherit',
|
||||
textAlign: 'inherit'
|
||||
}}
|
||||
key={prediction.id}
|
||||
key={idx}
|
||||
>
|
||||
{prediction.description}
|
||||
{prediction.name}
|
||||
</Text>
|
||||
|
||||
{idx < predictions.length - 1 && (
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@ const formContainer = forwardRef(({ children }, ref) => {
|
|||
)
|
||||
})
|
||||
|
||||
//stackoverflow.com/a/67993106/10652680
|
||||
https: formContainer.displayName = 'formContainer'
|
||||
// https://stackoverflow.com/a/67993106/10652680
|
||||
formContainer.displayName = 'formContainer'
|
||||
export default formContainer
|
||||
|
|
|
|||
|
|
@ -161,6 +161,19 @@ export default function PersonalInfoForm({
|
|||
</div>
|
||||
) : null}
|
||||
</Field>
|
||||
<Field
|
||||
name="accommodations"
|
||||
label="Accessability needs"
|
||||
description="Please specify any accommodations or accessability needs you have so we can support you during onboarding and while using Hack Club Bank"
|
||||
requiredFields={requiredFields}
|
||||
>
|
||||
<Input
|
||||
name="accommodations"
|
||||
id="accommodations"
|
||||
placeholder="I need a screen reader"
|
||||
sx={{ ...AutofillColourFix }}
|
||||
/>
|
||||
</Field>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ async function getOrRefreshToken() {
|
|||
//TODO: Limit the number of retries
|
||||
|
||||
export async function search(query) {
|
||||
if (!query.trim()) return
|
||||
if (!query || !query.trim()) return
|
||||
|
||||
const token = await getOrRefreshToken()
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ export async function search(query) {
|
|||
}
|
||||
|
||||
export async function geocode(query) {
|
||||
if (!query.trim()) return
|
||||
if (!query || !query.trim()) return
|
||||
|
||||
const token = await getOrRefreshToken()
|
||||
|
||||
|
|
|
|||
10
package.json
10
package.json
|
|
@ -21,7 +21,7 @@
|
|||
"@hackclub/theme": "^0.3.3",
|
||||
"@mdx-js/loader": "^1.6.22",
|
||||
"@next/mdx": "^13.4.10",
|
||||
"@octokit/auth-app": "^4.0.9",
|
||||
"@octokit/auth-app": "^6.0.0",
|
||||
"@octokit/core": "^5.0.0",
|
||||
"@octokit/rest": "^20.0.1",
|
||||
"add": "^2.0.6",
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
"axios": "^1.4.0",
|
||||
"cookies-next": "^2.1.2",
|
||||
"country-list-js": "^3.1.7",
|
||||
"cursor-effects": "^1.0.11",
|
||||
"cursor-effects": "^1.0.12",
|
||||
"devtools-detect": "^4.0.1",
|
||||
"form-data": "^4.0.0",
|
||||
"fuzzysort": "^2.0.4",
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
"next": "^12.3.1",
|
||||
"next-transpile-modules": "^10.0.1",
|
||||
"react": "^17.0.2",
|
||||
"react-before-after-slider-component": "^1.1.6",
|
||||
"react-before-after-slider-component": "^1.1.8",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-konami-code": "^2.3.0",
|
||||
"react-marquee-slider": "^1.1.5",
|
||||
|
|
@ -57,14 +57,14 @@
|
|||
"react-tooltip": "^4.5.1",
|
||||
"react-tsparticles": "^2.12.1",
|
||||
"react-use-websocket": "^4.3.1",
|
||||
"react-wrap-balancer": "^1.0.0",
|
||||
"react-wrap-balancer": "^1.1.0",
|
||||
"recharts": "2.1.12",
|
||||
"styled-components": "^6.0.7",
|
||||
"swr": "^2.2.1",
|
||||
"theme-ui": "^0.14",
|
||||
"tinytime": "^0.2.6",
|
||||
"turndown": "^7.1.2",
|
||||
"vanilla-tilt": "^1.8.0",
|
||||
"vanilla-tilt": "^1.8.1",
|
||||
"yarn": "^1.22.19"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,8 @@ export default async function handler(req, res) {
|
|||
data.transparent === 'true' ? 'Yes, please!' : 'No, thanks.',
|
||||
'HCB account URL': `https://bank.hackclub.com/${r.slug}`,
|
||||
'Contact Option': data.contactOption,
|
||||
'Slack Username': data.slackUsername
|
||||
'Slack Username': data.slackUsername,
|
||||
'Accommodations': data.accommodations,
|
||||
})
|
||||
res.writeHead(302, { Location: '/bank/apply/success' }).end()
|
||||
})
|
||||
|
|
|
|||
|
|
@ -10,15 +10,16 @@ export async function Slack() {
|
|||
formData.append('date_range', '30d')
|
||||
|
||||
let slackData = await fetch(
|
||||
'https://hackclub.slack.com/api/team.stats.timeSeries',
|
||||
"https://hackclub.slack.com/api/team.stats.timeSeries",
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
method: "POST",
|
||||
body: `--orpheus\r\nContent-Disposition: form-data; name="token"\r\n\r\n${process.env.SLACK_API_TOKEN}\r\n--orpheus\r\nContent-Disposition: form-data; name="date_range"\r\n\r\n30d\r\n--orpheus\r\nContent-Disposition: form-data;`,
|
||||
headers: {
|
||||
Cookie: process.env.SLACK_API_COOKIE
|
||||
}
|
||||
"content-type": "multipart/form-data; boundary=orpheus",
|
||||
cookie: process.env.SLACK_API_COOKIE,
|
||||
},
|
||||
}
|
||||
).then(r => r.json())
|
||||
).then((r) => r.json());
|
||||
|
||||
if (!slackData || !slackData.stats) {
|
||||
console.warn(`No slack data: ${JSON.stringify(slackData)}`)
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ const valiadateAddress = async step => {
|
|||
|
||||
const result = await geocode(userAddress)
|
||||
|
||||
const addrComp = type => result.results[0].structuredAddress[type] ?? ''
|
||||
const addrComp = type => result.results[0]?.structuredAddress[type] ?? ''
|
||||
|
||||
sessionStorage.setItem(
|
||||
'bank-signup-addressLine1',
|
||||
|
|
@ -39,11 +39,11 @@ const valiadateAddress = async step => {
|
|||
sessionStorage.setItem('bank-signup-addressZip', addrComp('postCode'))
|
||||
sessionStorage.setItem(
|
||||
'bank-signup-addressCountry',
|
||||
result.results[0].country ?? ''
|
||||
result.results[0]?.country ?? ''
|
||||
)
|
||||
sessionStorage.setItem(
|
||||
'bank-signup-addressCountryCode',
|
||||
result.results[0].countryCode ?? ''
|
||||
result.results[0]?.countryCode ?? ''
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -80,11 +80,6 @@ export default function Apply() {
|
|||
|
||||
return (
|
||||
<>
|
||||
<script
|
||||
async
|
||||
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyApxZZ8-Eh_6RgHUu8-BAOpx3xhfF2yK9U&libraries=places&mapInit=foo"
|
||||
></script>
|
||||
|
||||
<Meta as={Head} title="Apply for Hack Club Bank" />
|
||||
<ForceTheme theme="dark" />
|
||||
|
||||
|
|
|
|||
203
pages/onboard.js
203
pages/onboard.js
|
|
@ -152,9 +152,7 @@ const recapPixels = [
|
|||
0xffffffff, 0xffffffff
|
||||
]
|
||||
|
||||
const slackLink = `/slack/?reason=${encodeURIComponent(
|
||||
'I joined for OnBoard!'
|
||||
)}`
|
||||
const slackLink = '/slack/?event=onboard'
|
||||
|
||||
const stickerButtonText = 'Click 4 Stickers'
|
||||
const stickerButtonFont = 'Oleo Script'
|
||||
|
|
@ -233,7 +231,7 @@ const ShipPage = () => {
|
|||
spotlightRef.current.style.background = `radial-gradient(
|
||||
circle at ${event.pageX}px ${event.pageY}px,
|
||||
rgba(0, 0, 0, 0) 10px,
|
||||
rgba(0, 0, 0, 0.85) 80px
|
||||
rgba(0, 0, 0, 0.8) 80px
|
||||
)`
|
||||
}
|
||||
window.addEventListener('mousemove', handler)
|
||||
|
|
@ -397,7 +395,7 @@ const ShipPage = () => {
|
|||
sx={{
|
||||
bg: '#000000',
|
||||
backgroundImage: `
|
||||
linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)),
|
||||
linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
|
||||
url('https://cloud-dst3a9oz5-hack-club-bot.vercel.app/0image.png')
|
||||
`,
|
||||
color: '#ffffff',
|
||||
|
|
@ -461,18 +459,32 @@ const ShipPage = () => {
|
|||
</Balancer>
|
||||
</Heading>
|
||||
|
||||
<Box sx={{ mt: 16 }}>
|
||||
<Flex sx={{ mt: 16, gap: 10 }}>
|
||||
<Button
|
||||
variant="ctaLg"
|
||||
as="a"
|
||||
href="#apply"
|
||||
href="https://hack.af/pcb-jam"
|
||||
target="_blank"
|
||||
sx={{
|
||||
background: t => t.util.gx('#60cc38', '#113b11')
|
||||
}}
|
||||
>
|
||||
How do I apply?
|
||||
Learn PCB Design Now!
|
||||
</Button>
|
||||
</Box>
|
||||
|
||||
<Button
|
||||
variant="outlineLg"
|
||||
as="a"
|
||||
href="https://github.com/hackclub/OnBoard/blob/main/README.md"
|
||||
target="_blank"
|
||||
sx={{
|
||||
borderColor: '#113b11',
|
||||
color: '#60cc38'
|
||||
}}
|
||||
>
|
||||
Get a Grant
|
||||
</Button>
|
||||
</Flex>
|
||||
</Flex>
|
||||
|
||||
<Box sx={{ flex: 1, maxWidth: 230 }}>
|
||||
|
|
@ -496,7 +508,7 @@ const ShipPage = () => {
|
|||
textAlign: 'center'
|
||||
}}
|
||||
>
|
||||
<Balancer ratio={0.6}>
|
||||
<Balancer ratio={0.8}>
|
||||
Join 1,000 others to create your own circuit board.
|
||||
</Balancer>
|
||||
</Heading>
|
||||
|
|
@ -531,12 +543,26 @@ const ShipPage = () => {
|
|||
</Flex>
|
||||
</Box>
|
||||
|
||||
<Flex as="section" sx={{ px: 4, pt: 6, pb: 4, bg: dimBg, color: '#ffffff', justifyContent: 'center' }}>
|
||||
<Flex sx={{ flexDirection: 'column', gap: 4, width: '100%', maxWidth: 'copyPlus' }}>
|
||||
<Heading as="h2" sx={{ fontSize: 42, fontWeight: 500, borderTop: '4px solid', borderTopColor: 'red', pt: 4 }}>
|
||||
<Balancer ratio={0.3}>Never made a circuit board before? No problem.</Balancer>
|
||||
</Heading>
|
||||
<Text sx={{ fontSize: 3 }}>
|
||||
Learn how to design your own circuit boards from scratch with our <strong>official tutorials</strong> and jams, like Maggie’s <Link href="https://hack.af/pcb-jam" target="_blank">intro to PCB design jam</Link>. Ask in the{' '}
|
||||
<Link href={slackLink} target="_blank">Hack Club Slack</Link>{' '}
|
||||
if you have any questions!
|
||||
</Text>
|
||||
</Flex>
|
||||
</Flex>
|
||||
|
||||
<Flex
|
||||
as="section"
|
||||
sx={{
|
||||
overflowX: 'hidden',
|
||||
px: 4,
|
||||
py: 5,
|
||||
pb: 6,
|
||||
bg: dimBg,
|
||||
color: '#ffffff',
|
||||
justifyContent: 'center'
|
||||
|
|
@ -598,26 +624,25 @@ const ShipPage = () => {
|
|||
}}
|
||||
>
|
||||
<a
|
||||
href="https://github.com/maggie-j-liu/orpheus-keychain"
|
||||
href="https://github.com/hackclub/OnBoard/tree/main/projects/E-Fidget%20Lite"
|
||||
target="_blank"
|
||||
>
|
||||
<Flex as="article">
|
||||
<Text as="p" sx={{ pr: 80 }}>
|
||||
Make a <strong>keychain</strong> that has a{' '}
|
||||
<strong>light up dino</strong> on it.
|
||||
<Text as="p" sx={{ pr: 115 }}>
|
||||
A <strong>fidget spinner</strong> without any moving parts.
|
||||
</Text>
|
||||
<Text as="p" sx={{ pr: 100, color: 'gray' }}>
|
||||
See Maggie's designs
|
||||
See Micha's work
|
||||
<span className="arrow">→</span>
|
||||
</Text>
|
||||
<Image
|
||||
src="https://cloud-ahzzebs4i-hack-club-bot.vercel.app/0frame_1.png"
|
||||
alt="A circuit board of a dino wizard with a light up wand, the same image from the top of the page."
|
||||
src="https://cloud-r2xrlpq9q-hack-club-bot.vercel.app/0spinner.png"
|
||||
alt="A red circular circuit board with a graphic of white fidget spinner on it."
|
||||
sx={{
|
||||
maxWidth: 120,
|
||||
position: 'absolute',
|
||||
top: 10,
|
||||
right: 15
|
||||
top: 40,
|
||||
right: 10
|
||||
}}
|
||||
/>
|
||||
</Flex>
|
||||
|
|
@ -629,8 +654,7 @@ const ShipPage = () => {
|
|||
>
|
||||
<Flex as="article">
|
||||
<Text as="p" sx={{ pr: 100 }}>
|
||||
Design a <strong>movement sensor</strong> add-on to an open
|
||||
source <strong>game console</strong>.
|
||||
A <strong>movement sensor</strong> add-on to an open source <strong>game console</strong>.
|
||||
</Text>
|
||||
<Text as="p" sx={{ pr: 140, color: 'gray' }}>
|
||||
Read the source <span className="arrow">→</span>
|
||||
|
|
@ -641,7 +665,7 @@ const ShipPage = () => {
|
|||
sx={{
|
||||
maxWidth: 280,
|
||||
position: 'absolute',
|
||||
bottom: -50,
|
||||
bottom: -40,
|
||||
right: -75
|
||||
}}
|
||||
/>
|
||||
|
|
@ -654,7 +678,7 @@ const ShipPage = () => {
|
|||
>
|
||||
<Flex as="article">
|
||||
<Text as="p" sx={{ pr: [100, 100, 100, 0] }}>
|
||||
Make a <strong>USB-C hub</strong> for the best{' '}
|
||||
Hugo's <strong>USB-C hub</strong> for the best{' '}
|
||||
<strong>hackathon swag</strong> ever.
|
||||
</Text>
|
||||
<Text as="p" sx={{ color: 'gray', pr: 150 }}>
|
||||
|
|
@ -676,22 +700,23 @@ const ShipPage = () => {
|
|||
</Flex>
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/maggie-j-liu/macropad" target="_blank">
|
||||
<a href="https://github.com/hackclub/OnBoard/tree/main/projects/Karmanyaah_Longhorn_LEDs" target="_blank">
|
||||
<Flex as="article">
|
||||
<Text as="p" sx={{ pr: 170 }}>
|
||||
Come up with your own custom <strong>keyboard layout</strong>.
|
||||
<Text as="p" sx={{ pr: 140 }}>
|
||||
Karmanyaah's <strong>digital level</strong> in the shape of a longhorn.
|
||||
</Text>
|
||||
<Text as="p" sx={{ pr: 140, color: 'gray' }}>
|
||||
Check it out <span className="arrow">→</span>
|
||||
See the designs <span className="arrow">→</span>
|
||||
</Text>
|
||||
<Image
|
||||
src="https://cloud-8yyfro2sg-hack-club-bot.vercel.app/0keyboard.png"
|
||||
alt="A 3-key custom keyboard with colored glowing translucent keys."
|
||||
src="https://cloud-myjum5y6g-hack-club-bot.vercel.app/0longhorn2.png"
|
||||
alt="A longhorn-shaped PCB with glowing horns."
|
||||
sx={{
|
||||
position: 'absolute',
|
||||
bottom: 0,
|
||||
right: -20,
|
||||
maxWidth: 230
|
||||
top: 40,
|
||||
right: -30,
|
||||
maxWidth: 230,
|
||||
transform: 'rotate(20deg)'
|
||||
}}
|
||||
/>
|
||||
</Flex>
|
||||
|
|
@ -699,42 +724,16 @@ const ShipPage = () => {
|
|||
</Grid>
|
||||
|
||||
<Button
|
||||
variant="outlineLg"
|
||||
variant="lg"
|
||||
as="a"
|
||||
href="https://github.com/hackclub/OnBoard/blob/main/README.md"
|
||||
href="https://hack.af/pcb-jam"
|
||||
target="_blank"
|
||||
>
|
||||
Join the Party
|
||||
Learn PCB Design Now!
|
||||
</Button>
|
||||
</Flex>
|
||||
</Flex>
|
||||
|
||||
{/* <Flex as="section" sx={{ px: 4, pt: 4, pb: 5, bg: dimBg, color: '#ffffff', justifyContent: 'center' }}>
|
||||
<Flex sx={{ flexDirection: 'column', gap: 4, width: '100%', maxWidth: 'copyPlus' }}>
|
||||
<Heading as="h2" sx={{ fontSize: 42, fontWeight: 500 }}>
|
||||
<Balancer ratio={0.3}>Never made a circuit board before? No problem.</Balancer>
|
||||
</Heading>
|
||||
<Text sx={{ fontSize: 3 }}>
|
||||
Learn from tutorials like Maggie’s intro to PCB design video below. Ask in the{' '}
|
||||
<Link href={slackLink} target="_blank">Hack Club Slack</Link>{' '}
|
||||
if you have any questions!
|
||||
</Text>
|
||||
<iframe
|
||||
style={{
|
||||
width: '100%',
|
||||
maxWidth: 600,
|
||||
alignSelf: 'center',
|
||||
aspectRatio: '16 / 9'
|
||||
}}
|
||||
src="https://www.youtube.com/embed/PnK4gzO6S3Q"
|
||||
title="YouTube video player"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
/>
|
||||
</Flex>
|
||||
</Flex> */}
|
||||
|
||||
<Flex
|
||||
as="section"
|
||||
id="apply"
|
||||
|
|
@ -905,8 +904,8 @@ const ShipPage = () => {
|
|||
Collaborate, get help, and support others as you take the leap.
|
||||
</Text>
|
||||
<Box sx={{ mt: 1 }}>
|
||||
<Button variant="lg" as="a" href={slackLink} target="_blank">
|
||||
Join the Slack
|
||||
<Button variant="outlineLg" as="a" href={slackLink} target="_blank">
|
||||
Join Slack
|
||||
</Button>
|
||||
</Box>
|
||||
</Flex>
|
||||
|
|
@ -952,7 +951,7 @@ const ShipPage = () => {
|
|||
|
||||
<Grid
|
||||
ref={lightsScrollTrigger}
|
||||
gap="4px"
|
||||
gap={["2px", "3px", "4px"]}
|
||||
columns={recapWidth}
|
||||
sx={{ width: '100%', maxWidth: 800 }}
|
||||
>
|
||||
|
|
@ -1000,7 +999,17 @@ const ShipPage = () => {
|
|||
href="https://github.com/hackclub/OnBoard#requirements"
|
||||
target="_blank"
|
||||
>
|
||||
Read the Rules
|
||||
Get a Grant
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
<Flex as="article" sx={{
|
||||
transform: 'scale(1.1)'
|
||||
}}>
|
||||
<Text as="h3">Learn to PCB</Text>
|
||||
<Text as="p">Read our Hacker Card tutorial to learn how to make a simple circuit board from start to end.</Text>
|
||||
<Button as="a" href="https://hack.af/pcb-jam" target="_blank">
|
||||
Start the Tutorial
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
|
|
@ -1014,45 +1023,7 @@ const ShipPage = () => {
|
|||
Join Slack
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
<Flex as="article">
|
||||
<Text as="h3">Free Stickers</Text>
|
||||
<Text as="p">
|
||||
Like stickers? Request below and we'll ship you an envelope full
|
||||
of stickers for free.
|
||||
</Text>
|
||||
<Button
|
||||
variant="outline"
|
||||
as="a"
|
||||
href="https://airtable.com/shrOOU2ZZFYtffUVz"
|
||||
target="_blank"
|
||||
>
|
||||
Request Stickers
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
{/* <Flex as="article">
|
||||
<Text as="h3">Learn to PCB</Text>
|
||||
<Text as="p">Watch Maggie’s intro video to learn how to make a simple circuit board from start to end.</Text>
|
||||
<Button variant="outline" as="a" href="https://airtable.com/shrOOU2ZZFYtffUVz" target="_blank">
|
||||
Watch Tutorial
|
||||
</Button>
|
||||
</Flex> */}
|
||||
</Grid>
|
||||
|
||||
<Flex
|
||||
sx={{
|
||||
gap: 3,
|
||||
alignItems: 'center',
|
||||
textAlign: 'center',
|
||||
mt: '-16px'
|
||||
}}
|
||||
>
|
||||
<Text sx={{ fontSize: 3 }}>Get started now:</Text>
|
||||
<Button variant="ctaLg" as="a" href={slackLink} target="_blank">
|
||||
Join the Slack
|
||||
</Button>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Flex>
|
||||
|
||||
|
|
@ -1069,13 +1040,13 @@ const ShipPage = () => {
|
|||
}}
|
||||
/>
|
||||
|
||||
{/* <Flex
|
||||
<Flex
|
||||
as="a"
|
||||
href="javascript:void(0)"
|
||||
href="https://airtable.com/shrOOU2ZZFYtffUVz"
|
||||
target="_blank"
|
||||
sx={{
|
||||
bg: '#ff0000',
|
||||
color: '#ffffff',
|
||||
color: 'rgba(255, 255, 255, 0.7)',
|
||||
textDecoration: 'none',
|
||||
size: 160,
|
||||
flexDirection: 'column',
|
||||
|
|
@ -1085,17 +1056,29 @@ const ShipPage = () => {
|
|||
position: 'absolute',
|
||||
top: -80,
|
||||
right: '14vw',
|
||||
fontSize: 3,
|
||||
lineHeight: 1.3,
|
||||
fontSize: '24px',
|
||||
lineHeight: 1.2,
|
||||
fontWeight: 'bold',
|
||||
fontFamily: `'${stickerButtonFont}', cursive`,
|
||||
transform: 'rotate(-25deg)',
|
||||
borderRadius: '50%',
|
||||
boxShadow: '0px 4px 44px rgba(0, 0, 0, 0.55), 0px 0px 10px rgba(0, 0, 0, 0.75), inset 0px 0px 60px rgba(255, 255, 255, 0.40)'
|
||||
// Terrible buttons styles, doesn't even look good, but didn't want to waste more time:
|
||||
backgroundImage: 'radial-gradient(75.96% 56.13% at 50.00% 50.00%, #FF6464 0%, #EF2222 32.29%, #B00 100%)',
|
||||
boxShadow: '0px -14px 14px 0px #670000 inset, 14px 0px 14px 0px rgba(255, 255, 255, 0.25) inset, 0px 14px 14px 0px rgba(255, 255, 255, 0.25) inset, -14px 0px 14px 0px #670000 inset',
|
||||
filter: 'drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.50))',
|
||||
textShadow: '0px 0px 2px rgba(255, 255, 255, 0.45)',
|
||||
WebkitTapHighlightColor: 'transparent',
|
||||
'transition': 'box-shadow 80ms linear, filter 80ms linear, font-size 80ms linear',
|
||||
':active': {
|
||||
backgroundImage: 'radial-gradient(75.96% 56.13% at 50.00% 50.00%, #FF4747 0%, #E52121 32.29%, #B00 100%, #A30101 100%)',
|
||||
boxShadow: '0px -14px 14px 0px #440303 inset, 14px 0px 14px 0px #860000 inset, 0px 14px 14px 0px #860000 inset, -14px 0px 14px 0px #440303 inset',
|
||||
filter: 'drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.50))',
|
||||
fontSize: '22px'
|
||||
}
|
||||
}}
|
||||
>
|
||||
{stickerButtonText.split(' ').map((line, i) => <div key={i}>{line}</div>)}
|
||||
</Flex> */}
|
||||
</Flex>
|
||||
</Box>
|
||||
|
||||
<Footer dark />
|
||||
|
|
|
|||
244
yarn.lock
244
yarn.lock
|
|
@ -1790,54 +1790,53 @@
|
|||
"@nodelib/fs.scandir" "2.1.5"
|
||||
fastq "^1.6.0"
|
||||
|
||||
"@octokit/auth-app@^4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-4.0.9.tgz"
|
||||
integrity sha512-VFpKIXhHO+kVJtane5cEvdYPtjDKCOI0uKsRrsZfJP+uEu7rcPbQCLCcRKgyT+mUIzGr1IIOmwP/lFqSip1dXA==
|
||||
"@octokit/auth-app@^6.0.0":
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-6.0.0.tgz#f7d31d40f78973cb801c0661db2cc3719de7328b"
|
||||
integrity sha512-OKct7Rukf3g9DjpzcpdacQsdmd6oPrJ7fZND22JkjzhDvfhttUOnmh+qPS4kHhaNNyTxqSThnfrUWvkqNLd1nw==
|
||||
dependencies:
|
||||
"@octokit/auth-oauth-app" "^5.0.0"
|
||||
"@octokit/auth-oauth-user" "^2.0.0"
|
||||
"@octokit/request" "^6.0.0"
|
||||
"@octokit/request-error" "^3.0.0"
|
||||
"@octokit/types" "^9.0.0"
|
||||
"@types/lru-cache" "^5.1.0"
|
||||
"@octokit/auth-oauth-app" "^7.0.0"
|
||||
"@octokit/auth-oauth-user" "^4.0.0"
|
||||
"@octokit/request" "^8.0.2"
|
||||
"@octokit/request-error" "^5.0.0"
|
||||
"@octokit/types" "^11.0.0"
|
||||
deprecation "^2.3.1"
|
||||
lru-cache "^6.0.0"
|
||||
lru-cache "^10.0.0"
|
||||
universal-github-app-jwt "^1.1.1"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/auth-oauth-app@^5.0.0":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-5.0.1.tgz"
|
||||
integrity sha512-SGQKQGWe60kucMLCzbwc4MIohB78YawbYgGegosapDg2GxwuEVCujJccArzgn3wO+pB4aflUjFWPjkECVR2fEQ==
|
||||
"@octokit/auth-oauth-app@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-7.0.0.tgz#864f58152b060132098356265eb4fb07ca1fae76"
|
||||
integrity sha512-8JvJEXGoEqrbzLwt3SwIUvkDd+1wrM8up0KawvDIElB8rbxPbvWppGO0SLKAWSJ0q8ILcVq+mWck6pDcZ3a9KA==
|
||||
dependencies:
|
||||
"@octokit/auth-oauth-device" "^4.0.0"
|
||||
"@octokit/auth-oauth-user" "^2.0.0"
|
||||
"@octokit/request" "^5.6.3"
|
||||
"@octokit/types" "^6.0.3"
|
||||
"@octokit/auth-oauth-device" "^6.0.0"
|
||||
"@octokit/auth-oauth-user" "^4.0.0"
|
||||
"@octokit/request" "^8.0.2"
|
||||
"@octokit/types" "^11.0.0"
|
||||
"@types/btoa-lite" "^1.0.0"
|
||||
btoa-lite "^1.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/auth-oauth-device@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-4.0.0.tgz"
|
||||
integrity sha512-2bXBuF5DOnYD19wDafZNrnrNvLg7xNvDNAf3ELHlO/7/7x3BBhKna4dCvpJ4pfI6OYMja08Tt0D4XJ4sxK+YBA==
|
||||
"@octokit/auth-oauth-device@^6.0.0":
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-6.0.0.tgz#728143108345e07e06fd5bfec8891e838c3dce96"
|
||||
integrity sha512-Zgf/LKhwWk54rJaTGYVYtbKgUty+ouil6VQeRd+pCw7Gd0ECoSWaZuHK6uDGC/HtnWHjpSWFhzxPauDoHcNRtg==
|
||||
dependencies:
|
||||
"@octokit/oauth-methods" "^2.0.0"
|
||||
"@octokit/request" "^6.0.0"
|
||||
"@octokit/types" "^6.10.0"
|
||||
"@octokit/oauth-methods" "^4.0.0"
|
||||
"@octokit/request" "^8.0.0"
|
||||
"@octokit/types" "^11.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/auth-oauth-user@^2.0.0":
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-2.0.2.tgz"
|
||||
integrity sha512-fr9+jPjkWG7cvpyUVnpJJH5F+wNCswRy9rTTwHUAXdy6z/kZj9uenPmUYdE6mja3wSTJUAt2yRqkfaaltzQlFA==
|
||||
"@octokit/auth-oauth-user@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-4.0.0.tgz#2499f25cf64ce2911ba3f2f12de176bfbc1a3805"
|
||||
integrity sha512-VOm5aIkVGHaOhIvsF/4YmSjoYDzzrKbbYkdSEO0KqHK7I8SlO3ZndSikQ1fBlNPUEH0ve2BOTxLrVvI1qBf9/Q==
|
||||
dependencies:
|
||||
"@octokit/auth-oauth-device" "^4.0.0"
|
||||
"@octokit/oauth-methods" "^2.0.0"
|
||||
"@octokit/request" "^6.0.0"
|
||||
"@octokit/types" "^6.12.2"
|
||||
"@octokit/auth-oauth-device" "^6.0.0"
|
||||
"@octokit/oauth-methods" "^4.0.0"
|
||||
"@octokit/request" "^8.0.2"
|
||||
"@octokit/types" "^11.0.0"
|
||||
btoa-lite "^1.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
|
|
@ -1859,24 +1858,6 @@
|
|||
before-after-hook "^2.2.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/endpoint@^6.0.1":
|
||||
version "6.0.12"
|
||||
resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz"
|
||||
integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==
|
||||
dependencies:
|
||||
"@octokit/types" "^6.0.3"
|
||||
is-plain-object "^5.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/endpoint@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.0.tgz"
|
||||
integrity sha512-Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ==
|
||||
dependencies:
|
||||
"@octokit/types" "^6.0.3"
|
||||
is-plain-object "^5.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/endpoint@^9.0.0":
|
||||
version "9.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.0.tgz"
|
||||
|
|
@ -1895,32 +1876,22 @@
|
|||
"@octokit/types" "^11.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/oauth-authorization-url@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-5.0.0.tgz"
|
||||
integrity sha512-y1WhN+ERDZTh0qZ4SR+zotgsQUE1ysKnvBt1hvDRB2WRzYtVKQjn97HEPzoehh66Fj9LwNdlZh+p6TJatT0zzg==
|
||||
"@octokit/oauth-authorization-url@^6.0.2":
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-6.0.2.tgz#cc82ca29cc5e339c9921672f39f2b3f5c8eb6ef2"
|
||||
integrity sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA==
|
||||
|
||||
"@octokit/oauth-methods@^2.0.0":
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-2.0.2.tgz"
|
||||
integrity sha512-AHF5bWGhgnZwH8fn4sgPLyVouRqMOafMSM2zX1de+aLZGZaS9rANK9RXH2d5fGvXjGEw3XR+ruNPZ0gwhM4QwA==
|
||||
"@octokit/oauth-methods@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-4.0.0.tgz#6e0c190e8ee95afe770a4a9a4321eb159a58c794"
|
||||
integrity sha512-dqy7BZLfLbi3/8X8xPKUKZclMEK9vN3fK5WF3ortRvtplQTszFvdAGbTo71gGLO+4ZxspNiLjnqdd64Chklf7w==
|
||||
dependencies:
|
||||
"@octokit/oauth-authorization-url" "^5.0.0"
|
||||
"@octokit/request" "^6.0.0"
|
||||
"@octokit/request-error" "^3.0.0"
|
||||
"@octokit/types" "^6.12.2"
|
||||
"@octokit/oauth-authorization-url" "^6.0.2"
|
||||
"@octokit/request" "^8.0.2"
|
||||
"@octokit/request-error" "^5.0.0"
|
||||
"@octokit/types" "^11.0.0"
|
||||
btoa-lite "^1.0.0"
|
||||
|
||||
"@octokit/openapi-types@^12.10.0":
|
||||
version "12.10.1"
|
||||
resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.10.1.tgz"
|
||||
integrity sha512-P+SukKanjFY0ZhsK6wSVnQmxTP2eVPPE8OPSNuxaMYtgVzwJZgfGdwlYjf4RlRU4vLEw4ts2fsE2icG4nZ5ddQ==
|
||||
|
||||
"@octokit/openapi-types@^16.0.0":
|
||||
version "16.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz"
|
||||
integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==
|
||||
|
||||
"@octokit/openapi-types@^18.0.0":
|
||||
version "18.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz"
|
||||
|
|
@ -1945,24 +1916,6 @@
|
|||
dependencies:
|
||||
"@octokit/types" "^11.0.0"
|
||||
|
||||
"@octokit/request-error@^2.1.0":
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz"
|
||||
integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==
|
||||
dependencies:
|
||||
"@octokit/types" "^6.0.3"
|
||||
deprecation "^2.0.0"
|
||||
once "^1.4.0"
|
||||
|
||||
"@octokit/request-error@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.0.tgz"
|
||||
integrity sha512-WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w==
|
||||
dependencies:
|
||||
"@octokit/types" "^6.0.3"
|
||||
deprecation "^2.0.0"
|
||||
once "^1.4.0"
|
||||
|
||||
"@octokit/request-error@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.0.tgz"
|
||||
|
|
@ -1972,31 +1925,7 @@
|
|||
deprecation "^2.0.0"
|
||||
once "^1.4.0"
|
||||
|
||||
"@octokit/request@^5.6.3":
|
||||
version "5.6.3"
|
||||
resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz"
|
||||
integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==
|
||||
dependencies:
|
||||
"@octokit/endpoint" "^6.0.1"
|
||||
"@octokit/request-error" "^2.1.0"
|
||||
"@octokit/types" "^6.16.1"
|
||||
is-plain-object "^5.0.0"
|
||||
node-fetch "^2.6.7"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/request@^6.0.0":
|
||||
version "6.2.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.0.tgz"
|
||||
integrity sha512-7IAmHnaezZrgUqtRShMlByJK33MT9ZDnMRgZjnRrRV9a/jzzFwKGz0vxhFU6i7VMLraYcQ1qmcAOin37Kryq+Q==
|
||||
dependencies:
|
||||
"@octokit/endpoint" "^7.0.0"
|
||||
"@octokit/request-error" "^3.0.0"
|
||||
"@octokit/types" "^6.16.1"
|
||||
is-plain-object "^5.0.0"
|
||||
node-fetch "^2.6.7"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/request@^8.0.1", "@octokit/request@^8.0.2":
|
||||
"@octokit/request@^8.0.0", "@octokit/request@^8.0.1", "@octokit/request@^8.0.2":
|
||||
version "8.1.1"
|
||||
resolved "https://registry.npmjs.org/@octokit/request/-/request-8.1.1.tgz"
|
||||
integrity sha512-8N+tdUz4aCqQmXl8FpHYfKG9GelDFd7XGVzyN8rc6WxVlYcfpHECnuRkgquzz+WzvHTK62co5di8gSXnzASZPQ==
|
||||
|
|
@ -2024,20 +1953,6 @@
|
|||
dependencies:
|
||||
"@octokit/openapi-types" "^18.0.0"
|
||||
|
||||
"@octokit/types@^6.0.3", "@octokit/types@^6.10.0", "@octokit/types@^6.12.2", "@octokit/types@^6.16.1":
|
||||
version "6.40.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/types/-/types-6.40.0.tgz"
|
||||
integrity sha512-MFZOU5r8SwgJWDMhrLUSvyJPtVsqA6VnbVI3TNbsmw+Jnvrktzvq2fYES/6RiJA/5Ykdwq4mJmtlYUfW7CGjmw==
|
||||
dependencies:
|
||||
"@octokit/openapi-types" "^12.10.0"
|
||||
|
||||
"@octokit/types@^9.0.0":
|
||||
version "9.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz"
|
||||
integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==
|
||||
dependencies:
|
||||
"@octokit/openapi-types" "^16.0.0"
|
||||
|
||||
"@pkgr/utils@^2.3.1":
|
||||
version "2.3.1"
|
||||
resolved "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz"
|
||||
|
|
@ -2251,11 +2166,6 @@
|
|||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/lru-cache@^5.1.0":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz"
|
||||
integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==
|
||||
|
||||
"@types/mdast@^3.0.0":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz"
|
||||
|
|
@ -2969,10 +2879,10 @@ csstype@^3.1.2:
|
|||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
|
||||
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
|
||||
|
||||
cursor-effects@^1.0.11:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.npmjs.org/cursor-effects/-/cursor-effects-1.0.11.tgz"
|
||||
integrity sha512-P+nV/8Bfxk6RQvsg2uq7wW+WncJLBx8bmqT80QU1nlW15qSb5fpaCLfZ9nl2BZSRyz+u+sxKhAESPNoAkAfJmw==
|
||||
cursor-effects@^1.0.12:
|
||||
version "1.0.12"
|
||||
resolved "https://registry.yarnpkg.com/cursor-effects/-/cursor-effects-1.0.12.tgz#d5feb442403f9b91a034fd0d8ca47e19f1123a1a"
|
||||
integrity sha512-HDaKd+GJjveac1g52krmFiJJg0HwnxCeKgktGaPpbv6/7z8/krYgmTpDZW9GZ01S5783R6cPhEHAgHWQEm211w==
|
||||
|
||||
d3-array@2, d3-array@^2.3.0:
|
||||
version "2.12.1"
|
||||
|
|
@ -4548,6 +4458,11 @@ loose-envify@^1.1.0, loose-envify@^1.4.0:
|
|||
dependencies:
|
||||
js-tokens "^3.0.0 || ^4.0.0"
|
||||
|
||||
lru-cache@^10.0.0:
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a"
|
||||
integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==
|
||||
|
||||
lru-cache@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
|
||||
|
|
@ -4730,13 +4645,6 @@ next@^12.3.1:
|
|||
"@next/swc-win32-ia32-msvc" "12.3.1"
|
||||
"@next/swc-win32-x64-msvc" "12.3.1"
|
||||
|
||||
node-fetch@^2.6.7:
|
||||
version "2.6.7"
|
||||
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz"
|
||||
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
node-releases@^2.0.13:
|
||||
version "2.0.13"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
|
||||
|
|
@ -5100,10 +5008,10 @@ raw-body@2.3.2:
|
|||
iconv-lite "0.4.19"
|
||||
unpipe "1.0.0"
|
||||
|
||||
react-before-after-slider-component@^1.1.6:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.npmjs.org/react-before-after-slider-component/-/react-before-after-slider-component-1.1.6.tgz"
|
||||
integrity sha512-T6MgeomX17ibpxdDcS4GyncUb8IiZPQr9yTt9+ay1m4J5P8AGwgqOnR28Y3bMdcnjg8kIo8bvffLG5vuIWQIcw==
|
||||
react-before-after-slider-component@^1.1.8:
|
||||
version "1.1.8"
|
||||
resolved "https://registry.yarnpkg.com/react-before-after-slider-component/-/react-before-after-slider-component-1.1.8.tgz#3df14381703aaa43428cdac05f271b8b492d25ca"
|
||||
integrity sha512-KcY231f68+7bF0Zkfat55jvgNSSCB5TkBtm1HhLeb336jtQ0hYKkdq6VwrleNrfeVdUD2v+E7DzgNJYc6dsY3Q==
|
||||
|
||||
react-dom@^17.0.2:
|
||||
version "17.0.2"
|
||||
|
|
@ -5229,10 +5137,10 @@ react-use-websocket@^4.3.1:
|
|||
resolved "https://registry.npmjs.org/react-use-websocket/-/react-use-websocket-4.3.1.tgz"
|
||||
integrity sha512-zHPLWrgcqydJaak2O5V9hiz4q2dwkwqNQqpgFVmSuPxLZdsZlnDs8DVHy3WtHH+A6ms/8aHIyX7+7ulOcrnR0Q==
|
||||
|
||||
react-wrap-balancer@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/react-wrap-balancer/-/react-wrap-balancer-1.0.0.tgz"
|
||||
integrity sha512-yjDH+I8WGyDfh95gKhX/6ckfSBAltwQkxiYxtLPlyIRQNUVSjvz1uHR6Hpy+zHyOkJQw6GEC5RPglA41QXvzyw==
|
||||
react-wrap-balancer@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-wrap-balancer/-/react-wrap-balancer-1.1.0.tgz#3d246573413b936b799f29a1549cd217b948234c"
|
||||
integrity sha512-EhF3jOZm5Fjx+Cx41e423qOv2c2aOvXAtym2OHqrGeMUnwERIyNsRBgnfT3plB170JmuYvts8K2KSPEIerKr5A==
|
||||
|
||||
react@^17.0.2:
|
||||
version "17.0.2"
|
||||
|
|
@ -5864,11 +5772,6 @@ tough-cookie@~2.4.3:
|
|||
psl "^1.1.24"
|
||||
punycode "^1.4.1"
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
|
||||
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
|
||||
|
||||
trim-trailing-lines@^1.0.0:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz"
|
||||
|
|
@ -6116,10 +6019,10 @@ uuid@^7.0.3:
|
|||
resolved "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz"
|
||||
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
|
||||
|
||||
vanilla-tilt@^1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.npmjs.org/vanilla-tilt/-/vanilla-tilt-1.8.0.tgz"
|
||||
integrity sha512-wVCHyyfRuiRdKhDTNxKPb60lkagmywDSqLgFETEr71Sm646AvGxuf/14Kx9A8FaISyYvMoKQHk6FTqt+YLGhEw==
|
||||
vanilla-tilt@^1.8.1:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/vanilla-tilt/-/vanilla-tilt-1.8.1.tgz#09cb4dc89509a55a44bb221917bb8ecdc2e39113"
|
||||
integrity sha512-hPB1XUsnh+SIeVSW2beb5RnuFxz4ZNgxjGD78o52F49gS4xaoLeEMh9qrQnJrnEn/vjjBI7IlxrrXmz4tGV0Kw==
|
||||
|
||||
verror@1.10.0:
|
||||
version "1.10.0"
|
||||
|
|
@ -6158,19 +6061,6 @@ web-namespaces@^1.0.0:
|
|||
resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz"
|
||||
integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
|
||||
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
|
||||
integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
which-boxed-primitive@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue