diff --git a/pages/arcade/landing.js b/pages/arcade/landing.js
index 8a2096dc..5dcdf460 100644
--- a/pages/arcade/landing.js
+++ b/pages/arcade/landing.js
@@ -1,1935 +1,1868 @@
-import React, { useState } from 'react'
-import { useRouter } from 'next/router'
-import Head from 'next/head'
-import Nav from '../../components/nav'
-import Meta from '@hackclub/meta'
-import { Box, Text, Flex, Grid, Card, Close, Divider, Heading } from 'theme-ui'
-import Image from 'next/image'
-import fs from 'fs'
-import path from 'path'
-import { startCase } from 'lodash'
-import Projects from '../../components/arcade/projects'
-import { Howl } from 'howler'
-import Ticker from 'react-ticker'
-import PageVisibility from 'react-page-visibility'
-import ArcadeFooter from '../../components/arcade/footer'
-import Balancer from 'react-wrap-balancer'
-import { Fade } from 'react-reveal'
-import Join from '../../components/arcade/join'
-import Announcement from '../../components/announcement'
-import Link from 'next/link'
-import { shopParts } from '../api/arcade/shop'
-/** @jsxImportSource theme-ui */
+export default function Landing() {
+ return(
+ <>landing>
+ )
+}
-const styled = `
-@import url('https://fonts.googleapis.com/css2?family=Slackey&family=Emblema+One&family=Gaegu&display=swap');
-body, html {
- overflow-x: hidden;
- }
-.slackey {
- font-family: "Slackey", sans-serif;
- }
+// import React, { useState } from 'react'
+// import { useRouter } from 'next/router'
+// import Head from 'next/head'
+// import Nav from '../../components/nav'
+// import Meta from '@hackclub/meta'
+// import { Box, Text, Flex, Grid, Card, Close, Divider, Heading } from 'theme-ui'
+// import Image from 'next/image'
+// import { startCase } from 'lodash'
+// import Projects from '../../components/arcade/projects'
+// import { Howl } from 'howler'
+// import Ticker from 'react-ticker'
+// import PageVisibility from 'react-page-visibility'
+// import ArcadeFooter from '../../components/arcade/footer'
+// import Balancer from 'react-wrap-balancer'
+// import { Fade } from 'react-reveal'
+// import Join from '../../components/arcade/join'
+// import Announcement from '../../components/announcement'
+// import Link from 'next/link'
+// import { shopParts } from '../api/arcade/shop'
+// /** @jsxImportSource theme-ui */
- .arcade {
- text-shadow: -4px -4px#FAEFD6,-3px -3px #FAEFD6, -2px -2px #FAEFD6,
- -2px -2px #FAEFD6, -1px -1px #FAEFD6, -1px -1px #FAEFD6,
- -1px -1px #FAEFD6, 1px 1px #FAEFD6, 1px 1px #FAEFD6,
- 1px 1px #FAEFD6, 2px 2px #FAEFD6, 4px 4px #FAEFD6,
- 3px 3px #FAEFD6, -8px -8px #09AFB4, -6px -6px #09AFB4,
- -5px -5px #09AFB4, -4px -4px #09AFB4, -3px -3px #09AFB4,
- -2px -2px #09AFB4, 2px 2px #09AFB4, 3px 3px #09AFB4,
- 5px 5px #09AFB4, 4px 4px #09AFB4, 7px 7px #09AFB4,
- 6px 6px #09AFB4, 8px 8px #09AFB4, -8px -8px #09AFB4, 9px 9px #09AFB4, -9px -9px #09AFB4, 10px 10px #09AFB4, -10px -10px #09AFB4;
- }
+// const styled = `
+// @import url('https://fonts.googleapis.com/css2?family=Slackey&family=Emblema+One&family=Gaegu&display=swap');
+// body, html {
+// overflow-x: hidden;
+// }
+// .slackey {
+// font-family: "Slackey", sans-serif;
+// }
- .arcade2 {
- text-shadow: -4px -4px#FAEFD6,-3px -3px #FAEFD6, -2px -2px #FAEFD6,
- -2px -2px #FAEFD6, -1px -1px #FAEFD6, -1px -1px #FAEFD6,
- -1px -1px #FAEFD6, 1px 1px #FAEFD6, 1px 1px #FAEFD6,
- 1px 1px #FAEFD6, 2px 2px #FAEFD6, 4px 4px #FAEFD6,
- 3px 3px #FAEFD6, -8px -8px #09AFB4, -6px -6px #09AFB4,
- -5px -5px #09AFB4, -4px -4px #09AFB4, -3px -3px #09AFB4,
- -2px -2px #09AFB4, 2px 2px #09AFB4, 3px 3px #09AFB4,
- 5px 5px #09AFB4, 4px 4px #09AFB4, 7px 7px #09AFB4,
- 6px 6px #09AFB4;
- }
+// .arcade {
+// text-shadow: -4px -4px#FAEFD6,-3px -3px #FAEFD6, -2px -2px #FAEFD6,
+// -2px -2px #FAEFD6, -1px -1px #FAEFD6, -1px -1px #FAEFD6,
+// -1px -1px #FAEFD6, 1px 1px #FAEFD6, 1px 1px #FAEFD6,
+// 1px 1px #FAEFD6, 2px 2px #FAEFD6, 4px 4px #FAEFD6,
+// 3px 3px #FAEFD6, -8px -8px #09AFB4, -6px -6px #09AFB4,
+// -5px -5px #09AFB4, -4px -4px #09AFB4, -3px -3px #09AFB4,
+// -2px -2px #09AFB4, 2px 2px #09AFB4, 3px 3px #09AFB4,
+// 5px 5px #09AFB4, 4px 4px #09AFB4, 7px 7px #09AFB4,
+// 6px 6px #09AFB4, 8px 8px #09AFB4, -8px -8px #09AFB4, 9px 9px #09AFB4, -9px -9px #09AFB4, 10px 10px #09AFB4, -10px -10px #09AFB4;
+// }
- .arcade3 {
- text-shadow: -4px -4px#FAEFD6,-3px -3px #FAEFD6, -2px -2px #FAEFD6,
- -2px -2px #FAEFD6, -1px -1px #FAEFD6, -1px -1px #FAEFD6,
- -1px -1px #FAEFD6, 1px 1px #FAEFD6, 1px 1px #FAEFD6,
- 1px 1px #FAEFD6, 2px 2px #FAEFD6, 4px 4px #FAEFD6,
- 3px 3px #FAEFD6, -8px -8px #09AFB4, -6px -6px #09AFB4,
- -5px -5px #09AFB4, -4px -4px #09AFB4, -3px -3px #09AFB4,
- -2px -2px #09AFB4, 2px 2px #09AFB4, 3px 3px #09AFB4,
- 5px 5px #09AFB4, 4px 4px #09AFB4, 7px 7px #09AFB4,
- 6px 6px #09AFB4;
- }
- .emblema {
- font-family: "Emblema One", system-ui;
- }
+// .arcade2 {
+// text-shadow: -4px -4px#FAEFD6,-3px -3px #FAEFD6, -2px -2px #FAEFD6,
+// -2px -2px #FAEFD6, -1px -1px #FAEFD6, -1px -1px #FAEFD6,
+// -1px -1px #FAEFD6, 1px 1px #FAEFD6, 1px 1px #FAEFD6,
+// 1px 1px #FAEFD6, 2px 2px #FAEFD6, 4px 4px #FAEFD6,
+// 3px 3px #FAEFD6, -8px -8px #09AFB4, -6px -6px #09AFB4,
+// -5px -5px #09AFB4, -4px -4px #09AFB4, -3px -3px #09AFB4,
+// -2px -2px #09AFB4, 2px 2px #09AFB4, 3px 3px #09AFB4,
+// 5px 5px #09AFB4, 4px 4px #09AFB4, 7px 7px #09AFB4,
+// 6px 6px #09AFB4;
+// }
- .gaegu {
- font-family: "Gaegu", sans-serif;
- }
+// .arcade3 {
+// text-shadow: -4px -4px#FAEFD6,-3px -3px #FAEFD6, -2px -2px #FAEFD6,
+// -2px -2px #FAEFD6, -1px -1px #FAEFD6, -1px -1px #FAEFD6,
+// -1px -1px #FAEFD6, 1px 1px #FAEFD6, 1px 1px #FAEFD6,
+// 1px 1px #FAEFD6, 2px 2px #FAEFD6, 4px 4px #FAEFD6,
+// 3px 3px #FAEFD6, -8px -8px #09AFB4, -6px -6px #09AFB4,
+// -5px -5px #09AFB4, -4px -4px #09AFB4, -3px -3px #09AFB4,
+// -2px -2px #09AFB4, 2px 2px #09AFB4, 3px 3px #09AFB4,
+// 5px 5px #09AFB4, 4px 4px #09AFB4, 7px 7px #09AFB4,
+// 6px 6px #09AFB4;
+// }
+// .emblema {
+// font-family: "Emblema One", system-ui;
+// }
- body {
- background-color: #FAEFD6;
- }
+// .gaegu {
+// font-family: "Gaegu", sans-serif;
+// }
+
+// body {
+// background-color: #FAEFD6;
+// }
- /* CSS from https://codepen.io/quadbaup/details/rKOKQv */
-.thought {
- display: flex;
- background-color: #F8F3F3;
- padding: 20px;
- border-radius: 30px;
- min-width: 40px;
- max-width: 180px;
- opacity: 0;
- height: 100px;
- margin: 20px;
- margin-left: -10px;
- position: relative;
- align-items: center;
- justify-content: center;
- font-size: 12px;
- /* text-align:center; */
-}
+// /* CSS from https://codepen.io/quadbaup/details/rKOKQv */
+// .thought {
+// display: flex;
+// background-color: #F8F3F3;
+// padding: 20px;
+// border-radius: 30px;
+// min-width: 40px;
+// max-width: 180px;
+// opacity: 0;
+// height: 100px;
+// margin: 20px;
+// margin-left: -10px;
+// position: relative;
+// align-items: center;
+// justify-content: center;
+// font-size: 12px;
+// /* text-align:center; */
+// }
-.thought:before,
-.thought:after {
- content: "";
- background-color: #F8F3F3;
- border-radius: 50%;
- display: block;
- position: absolute;
- z-index: -1;
-}
+// .thought:before,
+// .thought:after {
+// content: "";
+// background-color: #F8F3F3;
+// border-radius: 50%;
+// display: block;
+// position: absolute;
+// z-index: -1;
+// }
-.thought:before {
- width: 44px;
- height: 44px;
- top: -12px;
- left: 28px;
- box-shadow: -50px 30px 0 -12px #F8F3F3;
-}
+// .thought:before {
+// width: 44px;
+// height: 44px;
+// top: -12px;
+// left: 28px;
+// box-shadow: -50px 30px 0 -12px #F8F3F3;
+// }
-.thought:after {
- bottom: -10px;
- right: 26px;
- width: 30px;
- height: 30px;
- box-shadow: 40px -34px 0 0 #F8F3F3,
- -28px -6px 0 -2px #F8F3F3,
- -24px 17px 0 -6px #F8F3F3,
- -5px 25px 0 -10px #F8F3F3;
-}
+// .thought:after {
+// bottom: -10px;
+// right: 26px;
+// width: 30px;
+// height: 30px;
+// box-shadow: 40px -34px 0 0 #F8F3F3,
+// -28px -6px 0 -2px #F8F3F3,
+// -24px 17px 0 -6px #F8F3F3,
+// -5px 25px 0 -10px #F8F3F3;
+// }
-#generate-project-idea {
- margin-top: -100px;
-}
+// #generate-project-idea {
+// margin-top: -100px;
+// }
-.talking {
- animation: talking 1s infinite;
-}
-@keyframes talking {
- 0% {
- transform: translateY(0px);
- }
+// .talking {
+// animation: talking 1s infinite;
+// }
+// @keyframes talking {
+// 0% {
+// transform: translateY(0px);
+// }
- 50% {
- transform: translateY(-10px);
- }
+// 50% {
+// transform: translateY(-10px);
+// }
- 100% {
- transform: translateY(0px);
- }
-}
+// 100% {
+// transform: translateY(0px);
+// }
+// }
-.floaty {
- animation: float 6s ease-in-out infinite;
-}
+// .floaty {
+// animation: float 6s ease-in-out infinite;
+// }
-@keyframes float {
+// @keyframes float {
- from,
- to {
- transform: translate(0%, -37%) rotate(-2deg);
- }
+// from,
+// to {
+// transform: translate(0%, -37%) rotate(-2deg);
+// }
- 25% {
- transform: translate(-2%, -40%) rotate(2deg);
- }
+// 25% {
+// transform: translate(-2%, -40%) rotate(2deg);
+// }
- 50% {
- transform: translate(0%, -43%) rotate(-1deg);
- }
+// 50% {
+// transform: translate(0%, -43%) rotate(-1deg);
+// }
- 75% {
- transform: translate(-1%, -40%) rotate(-1deg);
- }
-}
+// 75% {
+// transform: translate(-1%, -40%) rotate(-1deg);
+// }
+// }
-a {
- color: inherit;
-}
-`
+// a {
+// color: inherit;
+// }
+// `
-const Powerups = ({
- img,
- text,
- subtext,
- fullName,
- cost,
- description,
- fulfillmentDescription,
- polaroidRotation,
- ticketRotation,
- extraTags,
- ...props
-}) => {
- const parsedFulfillmentDesc = fulfillmentDescription?.replace(
- /\[(.*?)\]\((.*?)\)/g,
- '$1 '
- )
- return (
-
-
-
-
-
-
- {text}
-
-
- {subtext}
-
-
-
- {cost} {cost == 1 ? 'ticket' : 'tickets'}
-
- {extraTags?.map((tag, i) => {
- if (tag == 'Limited Supply') {
- return (
-
- Limited!
-
- )
- }
- })}
- {
- document.getElementById(`${text}-info`).showModal()
- }}
- >
- 📦
-
- {
+// const parsedFulfillmentDesc = fulfillmentDescription?.replace(
+// /\[(.*?)\]\((.*?)\)/g,
+// '$1 '
+// )
+// return (
+//
+//
+//
+//
+//
+//
+// {text}
+//
+//
+// {subtext}
+//
+//
+//
+// {cost} {cost == 1 ? 'ticket' : 'tickets'}
+//
+// {extraTags?.map((tag, i) => {
+// if (tag == 'Limited Supply') {
+// return (
+//
+// Limited!
+//
+// )
+// }
+// })}
+// {
+// document.getElementById(`${text}-info`).showModal()
+// }}
+// >
+// 📦
+//
+//
- {
- document.getElementById(`${text}-info`).close()
- }}
- />
-
-
-
-
- {fullName}
-
-
-
-
-
-
- {description}
-
-
-
-
-
- {cost} {cost == 1 ? 'ticket' : 'tickets'}
-
-
-
- )
-}
+// border: 'none',
+// scrollbarWidth: 'none',
+// maxWidth: '400px',
+// '@media (max-width: 400px)': {
+// maxWidth: '300px'
+// }
+// }}
+// >
+// {
+// document.getElementById(`${text}-info`).close()
+// }}
+// />
+//
+//
+//
+//
+// {fullName}
+//
+//
+//
+//
+//
+//
+// {description}
+//
+//
+//
+//
+//
+// {cost} {cost == 1 ? 'ticket' : 'tickets'}
+//
+//
+//
+// )
+// }
-const Intro = ({ title, num, text, img, third, ...props }) => {
- return (
-
-
- {title}
-
-
- {text}
-
-
- {num}
-
-
-
- )
-}
+// const Intro = ({ title, num, text, img, third, ...props }) => {
+// return (
+//
+//
+// {title}
+//
+//
+// {text}
+//
+//
+// {num}
+//
+//
+//
+// )
+// }
-const Tickets = ({ title, num, text, link, bugEater, ...props }) => {
- return (
-
-
- {title}
-
-
- {text}
-
- {bugEater && (
- <>
-
-
- Click me for ideas!
-
-
- Click me for ideas!
-
-
-
-
-
-
-
-
-
- >
- )}
-
- )
-}
+// const Tickets = ({ title, num, text, link, bugEater, ...props }) => {
+// return (
+//
+//
+// {title}
+//
+//
+// {text}
+//
+// {bugEater && (
+// <>
+//
+//
+// Click me for ideas!
+//
+//
+// Click me for ideas!
+//
+//
+//
+//
+//
+//
+//
+//
+//
+// >
+// )}
+//
+// )
+// }
-const Sticker = ({ st }) => {
- return (
-
-
-
-
-
- {startCase(st.replace(/\.(svg|png)/, ''))}
-
-
-
-
-
- )
-}
+// const Sticker = ({ st }) => {
+// return (
+//
+//
+//
+//
+//
+// {startCase(st.replace(/\.(svg|png)/, ''))}
+//
+//
+//
+//
+//
+// )
+// }
-const Item = ({ name, img, cost }) => {
- return (
-
-
- {cost}h
-
-
-
- )
-}
+// const Item = ({ name, img, cost }) => {
+// return (
+//
+//
+// {cost}h
+//
+//
+//
+// )
+// }
-const FAQ = ({ question, answer }) => {
- const parsedAnswer = answer?.replace(
- /\[(.*?)\]\((.*?)\)/g,
- '$1 '
- )
- return (
-
-
- {question}
-
-
-
- )
-}
-function getRandomInt(max) {
- return Math.floor(Math.random() * max)
-}
+// const FAQ = ({ question, answer }) => {
+// const parsedAnswer = answer?.replace(
+// /\[(.*?)\]\((.*?)\)/g,
+// '$1 '
+// )
+// return (
+//
+//
+// {question}
+//
+//
+//
+// )
+// }
+// function getRandomInt(max) {
+// return Math.floor(Math.random() * max)
+// }
-let yap_sounds = {
- // ty caleb!
- thinking: [
- new Howl({ src: '/bin/yapping/thonk1.wav' }),
- new Howl({ src: '/bin/yapping/thonk2.wav' }),
- new Howl({ src: '/bin/yapping/thonk3.wav' })
- ],
- talking: {
- // these sounds and most of the yapping code are adapted from https://github.com/equalo-official/animalese-generator
- a: new Howl({ src: '/bin/yapping/a.wav', volume: 0.16 }),
- b: new Howl({ src: '/bin/yapping/b.wav', volume: 0.16 }),
- c: new Howl({ src: '/bin/yapping/c.wav', volume: 0.16 }),
- d: new Howl({ src: '/bin/yapping/d.wav', volume: 0.16 }),
- e: new Howl({ src: '/bin/yapping/e.wav', volume: 0.16 }),
- f: new Howl({ src: '/bin/yapping/f.wav', volume: 0.16 }),
- g: new Howl({ src: '/bin/yapping/g.wav', volume: 0.16 }),
- h: new Howl({ src: '/bin/yapping/h.wav', volume: 0.16 }),
- i: new Howl({ src: '/bin/yapping/i.wav', volume: 0.16 }),
- j: new Howl({ src: '/bin/yapping/j.wav', volume: 0.16 }),
- k: new Howl({ src: '/bin/yapping/k.wav', volume: 0.16 }),
- l: new Howl({ src: '/bin/yapping/l.wav', volume: 0.16 }),
- m: new Howl({ src: '/bin/yapping/m.wav', volume: 0.16 }),
- n: new Howl({ src: '/bin/yapping/n.wav', volume: 0.16 }),
- o: new Howl({ src: '/bin/yapping/o.wav', volume: 0.16 }),
- p: new Howl({ src: '/bin/yapping/p.wav', volume: 0.16 }),
- q: new Howl({ src: '/bin/yapping/q.wav', volume: 0.16 }),
- r: new Howl({ src: '/bin/yapping/r.wav', volume: 0.16 }),
- s: new Howl({ src: '/bin/yapping/s.wav', volume: 0.16 }),
- t: new Howl({ src: '/bin/yapping/t.wav', volume: 0.16 }),
- u: new Howl({ src: '/bin/yapping/u.wav', volume: 0.16 }),
- v: new Howl({ src: '/bin/yapping/v.wav', volume: 0.16 }),
- w: new Howl({ src: '/bin/yapping/w.wav', volume: 0.16 }),
- x: new Howl({ src: '/bin/yapping/x.wav', volume: 0.16 }),
- y: new Howl({ src: '/bin/yapping/y.wav', volume: 0.16 }),
- z: new Howl({ src: '/bin/yapping/z.wav', volume: 0.16 }),
- th: new Howl({ src: '/bin/yapping/th.wav', volume: 0.16 }),
- sh: new Howl({ src: '/bin/yapping/sh.wav', volume: 0.16 }),
- _: new Howl({ src: '/bin/yapping/_.wav', volume: 0.16 })
- }
-}
+// let yap_sounds = {
+// // ty caleb!
+// thinking: [
+// new Howl({ src: '/bin/yapping/thonk1.wav' }),
+// new Howl({ src: '/bin/yapping/thonk2.wav' }),
+// new Howl({ src: '/bin/yapping/thonk3.wav' })
+// ],
+// talking: {
+// // these sounds and most of the yapping code are adapted from https://github.com/equalo-official/animalese-generator
+// a: new Howl({ src: '/bin/yapping/a.wav', volume: 0.16 }),
+// b: new Howl({ src: '/bin/yapping/b.wav', volume: 0.16 }),
+// c: new Howl({ src: '/bin/yapping/c.wav', volume: 0.16 }),
+// d: new Howl({ src: '/bin/yapping/d.wav', volume: 0.16 }),
+// e: new Howl({ src: '/bin/yapping/e.wav', volume: 0.16 }),
+// f: new Howl({ src: '/bin/yapping/f.wav', volume: 0.16 }),
+// g: new Howl({ src: '/bin/yapping/g.wav', volume: 0.16 }),
+// h: new Howl({ src: '/bin/yapping/h.wav', volume: 0.16 }),
+// i: new Howl({ src: '/bin/yapping/i.wav', volume: 0.16 }),
+// j: new Howl({ src: '/bin/yapping/j.wav', volume: 0.16 }),
+// k: new Howl({ src: '/bin/yapping/k.wav', volume: 0.16 }),
+// l: new Howl({ src: '/bin/yapping/l.wav', volume: 0.16 }),
+// m: new Howl({ src: '/bin/yapping/m.wav', volume: 0.16 }),
+// n: new Howl({ src: '/bin/yapping/n.wav', volume: 0.16 }),
+// o: new Howl({ src: '/bin/yapping/o.wav', volume: 0.16 }),
+// p: new Howl({ src: '/bin/yapping/p.wav', volume: 0.16 }),
+// q: new Howl({ src: '/bin/yapping/q.wav', volume: 0.16 }),
+// r: new Howl({ src: '/bin/yapping/r.wav', volume: 0.16 }),
+// s: new Howl({ src: '/bin/yapping/s.wav', volume: 0.16 }),
+// t: new Howl({ src: '/bin/yapping/t.wav', volume: 0.16 }),
+// u: new Howl({ src: '/bin/yapping/u.wav', volume: 0.16 }),
+// v: new Howl({ src: '/bin/yapping/v.wav', volume: 0.16 }),
+// w: new Howl({ src: '/bin/yapping/w.wav', volume: 0.16 }),
+// x: new Howl({ src: '/bin/yapping/x.wav', volume: 0.16 }),
+// y: new Howl({ src: '/bin/yapping/y.wav', volume: 0.16 }),
+// z: new Howl({ src: '/bin/yapping/z.wav', volume: 0.16 }),
+// th: new Howl({ src: '/bin/yapping/th.wav', volume: 0.16 }),
+// sh: new Howl({ src: '/bin/yapping/sh.wav', volume: 0.16 }),
+// _: new Howl({ src: '/bin/yapping/_.wav', volume: 0.16 })
+// }
+// }
-async function yap(text, letterCallback) {
- text = text.toLowerCase()
- const yap_queue = []
- for (let i = 0; i < text.length; i++) {
- const char = text[i]
- try {
- if (char === 's' && text[i + 1] === 'h') {
- // test for 'sh' sound
- yap_queue.push(yap_sounds.talking['sh'])
- continue
- } else if (char === 't' && text[i + 1] === 'h') {
- // test for 'th' sound
- yap_queue.push(yap_sounds.talking['th'])
- continue
- } else if (char === 'h' && (text[i - 1] === 's' || text[i - 1] === 't')) {
- // test if previous letter was 's' or 't' and current letter is 'h'
- yap_queue.push(yap_sounds.talking['_'])
- continue
- } else if (char === ',' || char === '?' || char === '.') {
- yap_queue.push(yap_sounds.talking['_'])
- continue
- } else if (char === text[i - 1]) {
- // skip repeat letters
- yap_queue.push(yap_sounds.talking['_'])
- continue
- }
- } catch (e) {
- // who cares. pick up a foot ball
- }
- if (!char.match(/[a-zA-Z.]/)) {
- yap_queue.push(yap_sounds.talking['_'])
- continue // skip characters that are not letters or periods
- }
- yap_queue.push(yap_sounds.talking[char])
- }
+// async function yap(text, letterCallback) {
+// text = text.toLowerCase()
+// const yap_queue = []
+// for (let i = 0; i < text.length; i++) {
+// const char = text[i]
+// try {
+// if (char === 's' && text[i + 1] === 'h') {
+// // test for 'sh' sound
+// yap_queue.push(yap_sounds.talking['sh'])
+// continue
+// } else if (char === 't' && text[i + 1] === 'h') {
+// // test for 'th' sound
+// yap_queue.push(yap_sounds.talking['th'])
+// continue
+// } else if (char === 'h' && (text[i - 1] === 's' || text[i - 1] === 't')) {
+// // test if previous letter was 's' or 't' and current letter is 'h'
+// yap_queue.push(yap_sounds.talking['_'])
+// continue
+// } else if (char === ',' || char === '?' || char === '.') {
+// yap_queue.push(yap_sounds.talking['_'])
+// continue
+// } else if (char === text[i - 1]) {
+// // skip repeat letters
+// yap_queue.push(yap_sounds.talking['_'])
+// continue
+// }
+// } catch (e) {
+// // who cares. pick up a foot ball
+// }
+// if (!char.match(/[a-zA-Z.]/)) {
+// yap_queue.push(yap_sounds.talking['_'])
+// continue // skip characters that are not letters or periods
+// }
+// yap_queue.push(yap_sounds.talking[char])
+// }
- function next_yap() {
- letterCallback(yap_queue.length)
- if (yap_queue.length === 0) return
- let noise = yap_queue.shift()
- noise.rate(2 * (Math.random() * 0.5 + 3.5))
- noise.once('end', next_yap)
- noise.play()
- }
+// function next_yap() {
+// letterCallback(yap_queue.length)
+// if (yap_queue.length === 0) return
+// let noise = yap_queue.shift()
+// noise.rate(2 * (Math.random() * 0.5 + 3.5))
+// noise.once('end', next_yap)
+// noise.play()
+// }
- next_yap()
-}
+// next_yap()
+// }
-async function generateProjectIdea() {
- if (
- document
- .querySelector('#generate-project-idea')
- .classList.contains('disabled')
- ) {
- return
- }
+// async function generateProjectIdea() {
+// if (
+// document
+// .querySelector('#generate-project-idea')
+// .classList.contains('disabled')
+// ) {
+// return
+// }
- yap_sounds.thinking[getRandomInt(yap_sounds.thinking.length)].play()
- document.querySelector('#generate-project-idea').style.marginTop = '0px'
- document.querySelector('#console').style.marginTop = '-50px'
- document.querySelector('#console2').style.opacity = '0'
- document.querySelector('#project-idea').style.opacity = '1'
- document.querySelector('#generate-project-idea').classList.add('disabled')
- document.querySelector('#project-idea').innerHTML =
- '' + thinkingWords() + '...' + ' '
- document.querySelector('#generate-project-idea').src =
- 'https://cloud-g5g5sistf-hack-club-bot.vercel.app/1untitled_artwork_8_1.png'
- let text = ''
- const res = await fetch('/api/arcade/openai/', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify()
- })
+// yap_sounds.thinking[getRandomInt(yap_sounds.thinking.length)].play()
+// document.querySelector('#generate-project-idea').style.marginTop = '0px'
+// document.querySelector('#console').style.marginTop = '-50px'
+// document.querySelector('#console2').style.opacity = '0'
+// document.querySelector('#project-idea').style.opacity = '1'
+// document.querySelector('#generate-project-idea').classList.add('disabled')
+// document.querySelector('#project-idea').innerHTML =
+// '' + thinkingWords() + '...' + ' '
+// document.querySelector('#generate-project-idea').src =
+// 'https://cloud-g5g5sistf-hack-club-bot.vercel.app/1untitled_artwork_8_1.png'
+// let text = ''
+// const res = await fetch('/api/arcade/openai/', {
+// method: 'POST',
+// headers: {
+// 'Content-Type': 'application/json'
+// },
+// body: JSON.stringify()
+// })
- const json = await res.json()
- text = json.recommendation
- document.querySelector('#project-idea').innerHTML = ''
- document.querySelector('#generate-project-idea').src =
- 'https://cloud-81d1s66l7-hack-club-bot.vercel.app/0untitled_artwork_9_1.png'
- document.querySelector('#generate-project-idea').classList.remove('disabled')
- // document.querySelector('#generate-project-idea').classList.add('talking')
- yap(text, i => {
- document.querySelector('#project-idea').innerHTML = text.slice(
- 0,
- Math.max(text.length - i + 1, 0)
- )
- })
-}
+// const json = await res.json()
+// text = json.recommendation
+// document.querySelector('#project-idea').innerHTML = ''
+// document.querySelector('#generate-project-idea').src =
+// 'https://cloud-81d1s66l7-hack-club-bot.vercel.app/0untitled_artwork_9_1.png'
+// document.querySelector('#generate-project-idea').classList.remove('disabled')
+// // document.querySelector('#generate-project-idea').classList.add('talking')
+// yap(text, i => {
+// document.querySelector('#project-idea').innerHTML = text.slice(
+// 0,
+// Math.max(text.length - i + 1, 0)
+// )
+// })
+// }
-function thinkingWords() {
- const arr = [
- 'thinking',
- 'single neuron activated',
- '2 braincells rubbing together',
- 'ponderosourus',
- 'contemplatosaurus',
- 'dinosaur brain activated',
- 'thinking about trash',
- 'rummaging through my thoughts'
- ]
- return arr[Math.floor(Math.random() * arr.length)]
-}
+// function thinkingWords() {
+// const arr = [
+// 'thinking',
+// 'single neuron activated',
+// '2 braincells rubbing together',
+// 'ponderosourus',
+// 'contemplatosaurus',
+// 'dinosaur brain activated',
+// 'thinking about trash',
+// 'rummaging through my thoughts'
+// ]
+// return arr[Math.floor(Math.random() * arr.length)]
+// }
-const Arcade = ({ stickers = [], carousel = [], highlightedItems = [] }) => {
- const [showComponent, setShowComponent] = useState(false)
- const [showNum, setNum] = useState(false)
- const [showForm, setForm] = useState(false)
- const [formSent, setFormSent] = useState(false)
- const [isRevealed, setIsRevealed] = useState(false)
+// const Landing = ({ stickers = [], carousel = [], highlightedItems = [] }) => {
+// const [showComponent, setShowComponent] = useState(false)
+// const [showNum, setNum] = useState(false)
+// const [showForm, setForm] = useState(false)
+// const [formSent, setFormSent] = useState(false)
+// const [isRevealed, setIsRevealed] = useState(false)
- const handleButtonClick = () => {
- setIsRevealed(!isRevealed)
- }
+// const handleButtonClick = () => {
+// setIsRevealed(!isRevealed)
+// }
- const router = useRouter()
- const { query } = router
+// const router = useRouter()
+// const { query } = router
- const slack = query.param
+// const slack = query.param
- const generateRandomNumber = () => {
- const newRandomNumber = Math.floor(Math.random() * stickers.length) // Generate a random number between 0 and 99
- setNum(newRandomNumber)
- }
+// const generateRandomNumber = () => {
+// const newRandomNumber = Math.floor(Math.random() * stickers.length) // Generate a random number between 0 and 99
+// setNum(newRandomNumber)
+// }
- const handleMouseEnter = () => {
- setShowComponent(true)
- }
+// const handleMouseEnter = () => {
+// setShowComponent(true)
+// }
- const handleMouseLeave = () => {
- setShowComponent(false)
- }
+// const handleMouseLeave = () => {
+// setShowComponent(false)
+// }
- const mouseEnter = () => {
- handleMouseEnter()
- generateRandomNumber()
- }
+// const mouseEnter = () => {
+// handleMouseEnter()
+// generateRandomNumber()
+// }
- const [pageIsVisible, setPageIsVisible] = useState(true)
- const handleVisibilityChange = isVisible => {
- setPageIsVisible(isVisible)
- }
- return (
- <>
-
-
-
-
-
-
+// const [pageIsVisible, setPageIsVisible] = useState(true)
+// const handleVisibilityChange = isVisible => {
+// setPageIsVisible(isVisible)
+// }
+// return (
+// <>
+//
+//
+//
+//
+//
+//
-
- {slack == 'slack' ? (
-
- ) : (
- <>>
- )}
+//
+// {slack == 'slack' ? (
+//
+// ) : (
+// <>>
+// )}
-
-
-
-
-
-
-
-
-
-
+//
+//
+//
+//
+//
+//
+//
+//
+//
- ARCADE
-
-
- {/*
-
- Build something cool.
-
- */}
-
-
- The summer is yours for the making
- {/* Get free tools
-
- & build something cool */}
- {/* Get free tools to build something cool. */}
- {/* */}
- {/* This summer is yours. */}
-
-
-
- {/*
- This summer is yours.
- */}
-
-
-
- {showForm ? (
- <>>
- ) : (
-
- For high schoolers (or younger).
-
- )}
-
-
-
-
-
-
-
-
-
-
- {/*
- Calling high school makers: Join{' '}
-
- ARCADE
-
- .
- */}
-
- {/* What are you waiting for? */}
- How to play
-
-
-
-
-
-
- {/*
-
- Hack. Rinse. Repeat.
-
- */}
-
-
-
- Join the{' '}
-
- Hack Club Slack
- {' '}
- and use /hack in #arcade to log your hours! You earn a
- ticket for each hour spent!
- >
- }
- num="2"
- img="/arcade/o1.png"
- />
-
-
-
-
-
-
-
- Make stuff. Get stuff. Repeat.
-
-
-
-
- {pageIsVisible && (
-
-
- {() => (
-
- {carousel.map((item, i) => (
-
- ))}
-
- )}
-
-
- )}
-
-
-
+// fontSize: ['50px', '70px', '80px', '85px']
+// }}
+// >
+// ARCADE
+//
+//
+//
+//
+// The summer is yours for the making
+
+//
+//
+//
+
+//
+//
+//
+// {showForm ? (
+// <>>
+// ) : (
+//
+// For high schoolers (or younger).
+//
+// )}
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+//
+// How to play
+//
+//
+//
+//
+//
+//
+
+//
+//
+//
+// Join the{' '}
+//
+// Hack Club Slack
+// {' '}
+// and use /hack in #arcade to log your hours! You earn a
+// ticket for each hour spent!
+// >
+// }
+// num="2"
+// img="/arcade/o1.png"
+// />
+//
+//
+//
+//
+//
+//
+//
+// Make stuff. Get stuff. Repeat.
+//
+//
+//
+//
+// {pageIsVisible && (
+//
+//
+// {() => (
+//
+// {carousel.map((item, i) => (
+//
+// ))}
+//
+// )}
+//
+//
+// )}
+//
+//
+//
-
- {/* */}
-
- Get{' '}
-
- {showComponent && }
- free stickers
- {' '}
- and code with other high schoolers!
-
- {/* */}
-
-
-
-
-
-
- One hour at a time,
-
-
- What will{' '}
-
- you
- {' '}
- make this summer?
-
-
-
-
- Any technical project counts. You could build an AR game,
- pixel art display, drawing robot, and more! Anytime you work
- on your project, start the hack hour timer. You earn a
- ticket for every hour you spend on your project.
-
-
- Don't know where to start?
-
-
-
-
- Boba drops:
- {' '}
- Build a website, get boba!
-
-
-
- Wizard Orpheus:
- {' '}
- Build a text-based game with AI
-
-
-
- The Bin:
- {' '}
- Build an online circuit, get the parts for free!
-
-
-
- Sprig:
- {' '}
- Build a JS game, play it on your own console
-
-
-
- OnBoard:
- {' '}
- Design a PCB, get a $100 grant
-
-
-
- Hackaccino:
- {' '}
- Build a 3D Website and get a free frappuccino! ☕
-
-
- Blot: Write code.
- Make art. Get a drawing machine.
-
-
- Cider: Make a
- mobile app, get an Apple Developer account
-
-
-
- Easel:
- {' '}
- Write a programming language, receive fudge!
-
-
- >
- }
- num="Infinite"
- sx={{
- gridColumn: ['', 'span 2', 'span 2', 'span 2'],
- h1: {
- fontSize: [3, 4, 5]
- },
- p: {
- fontSize: [2, 2, 3],
- display: 'block',
- pb: 2
- },
- minHeight: ['700px', '700px', '700px', 'auto']
- }}
- />
- Click me for ideas!>}
- sx={{
- '&ul>li': {
- color: 'inherit'
- },
- gridColumn: ['span 2', 'span 2', 'span 2', 'span 1'],
- minHeight: 'auto'
- }}
- />
-
-
-
-
-
-
-
-
+//
+//
+// Get{' '}
+//
+// {showComponent && }
+// free stickers
+// {' '}
+// and code with other high schoolers!
+//
+//
+//
+//
+//
+//
+//
+// One hour at a time,
+//
+//
+// What will{' '}
+//
+// you
+// {' '}
+// make this summer?
+//
+//
+//
+//
+// Any technical project counts. You could build an AR game,
+// pixel art display, drawing robot, and more! Anytime you work
+// on your project, start the hack hour timer. You earn a
+// ticket for every hour you spend on your project.
+//
+//
+// Don't know where to start?
+//
+//
+//
+//
+// Boba drops:
+// {' '}
+// Build a website, get boba!
+//
+//
+//
+// Wizard Orpheus:
+// {' '}
+// Build a text-based game with AI
+//
+//
+//
+// The Bin:
+// {' '}
+// Build an online circuit, get the parts for free!
+//
+//
+//
+// Sprig:
+// {' '}
+// Build a JS game, play it on your own console
+//
+//
+//
+// OnBoard:
+// {' '}
+// Design a PCB, get a $100 grant
+//
+//
+//
+// Hackaccino:
+// {' '}
+// Build a 3D Website and get a free frappuccino! ☕
+//
+//
+// Blot: Write code.
+// Make art. Get a drawing machine.
+//
+//
+// Cider: Make a
+// mobile app, get an Apple Developer account
+//
+//
+//
+// Easel:
+// {' '}
+// Write a programming language, receive fudge!
+//
+//
+// >
+// }
+// num="Infinite"
+// sx={{
+// gridColumn: ['', 'span 2', 'span 2', 'span 2'],
+// h1: {
+// fontSize: [3, 4, 5]
+// },
+// p: {
+// fontSize: [2, 2, 3],
+// display: 'block',
+// pb: 2
+// },
+// minHeight: ['700px', '700px', '700px', 'auto']
+// }}
+// />
+// Click me for ideas!>}
+// sx={{
+// '&ul>li': {
+// color: 'inherit'
+// },
+// gridColumn: ['span 2', 'span 2', 'span 2', 'span 1'],
+// minHeight: 'auto'
+// }}
+// />
+//
+//
+//
+//
+//
+//
+//
+//
-
-
-
-
- Prizes
- {' '}
- to powerup your next project!
-
-
-
- Redeem these with your tickets! For high schoolers (or younger)
- only.
-
+//
+//
+//
+//
+// Prizes
+// {' '}
+// to powerup your next project!
+//
+//
+//
+// Redeem these with your tickets! For high schoolers (or younger)
+// only.
+//
- {/*
- All physical items only fulfillable where Amazon can be shipped
- unless otherwise stated.
- */}
-
- {highlightedItems.map((item, i) => (
- 0.5 ? 1 : -1)
- }
- key={i}
- />
- ))}
-
-
- See all prizes!
-
-
- This is just a{' '}
-
- sneak peek
-
- ...new items will be added over the summer!{' '}
-
-
-
-
-
-
- F.A.Q.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
- Join{' '}
-
- ARCADE
-
- .
-
- Build real projects. Share it with friends.
-
- {/* */}
-
-
-
-
-
-
-
- >
- )
-}
+//
+// {highlightedItems.map((item, i) => (
+// 0.5 ? 1 : -1)
+// }
+// key={i}
+// />
+// ))}
+//
+//
+// See all prizes!
+//
+//
+// This is just a{' '}
+//
+// sneak peek
+//
+// ...new items will be added over the summer!{' '}
+//
+//
+//
+//
+//
+//
+// F.A.Q.
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+// Join{' '}
+//
+// ARCADE
+//
+// .
+//
+// Build real projects. Share it with friends.
+//
+//
+//
+//
+//
+//
+//
+//
+// >
+// )
+// }
-export async function getStaticProps() {
- const stickersDir = path.join(process.cwd(), 'public', 'stickers')
- const stickers = fs
- .readdirSync(stickersDir)
- .filter(sticker => sticker !== 'hero.jpg')
+// export default Landing
- const items = await shopParts()
+// export async function getStaticProps() {
+// const stickersDir = path.join(process.cwd(), 'public', 'stickers')
+// const stickers = fs
+// .readdirSync(stickersDir)
+// .filter(sticker => sticker !== 'hero.jpg')
- const carousel = items
- .map(record => ({
- hours: record['Cost Hours'] || 0,
- imageURL: record['Image URL'] || '',
- enabledCarousel: record['Enabled Carousel'] || false,
- }))
- .filter(item => item.enabledCarousel)
- .filter(item => item.imageURL !== '')
+// const items = await shopParts()
- const highlightedItems = items
- .filter(item => item['Enabled Highlight'])
- .sort((_a, _b) => Math.random() - 0.5 > 0)
- .map(record => ({
- // id: record['ID'],
- 'Image URL': record['Image URL'] || null,
- 'Name': record['Name'] || null,
- 'Small Name': record['Small Name'] || null,
- 'Full Name': record['Full Name'] || null,
- 'Cost Hours': record['Cost Hours'] || null,
- 'Description': record['Description'] || null,
- 'Fulfillment Description': record['Fulfillment Description'] || null,
- 'Extra tags': record['Extra tags'] || []
- }))
+// const carousel = items
+// .map(record => ({
+// hours: record['Cost Hours'] || 0,
+// imageURL: record['Image URL'] || '',
+// enabledCarousel: record['Enabled Carousel'] || false,
+// }))
+// .filter(item => item.enabledCarousel)
+// .filter(item => item.imageURL !== '')
- return {
- props: {
- stickers,
- highlightedItems,
- carousel
- }
- }
-}
+// const highlightedItems = items
+// .filter(item => item['Enabled Highlight'])
+// .sort((_a, _b) => Math.random() - 0.5 > 0)
+// .map(record => ({
+// // id: record['ID'],
+// 'Image URL': record['Image URL'] || null,
+// 'Name': record['Name'] || null,
+// 'Small Name': record['Small Name'] || null,
+// 'Full Name': record['Full Name'] || null,
+// 'Cost Hours': record['Cost Hours'] || null,
+// 'Description': record['Description'] || null,
+// 'Fulfillment Description': record['Fulfillment Description'] || null,
+// 'Extra tags': record['Extra tags'] || []
+// }))
+
+// return {
+// props: {
+// stickers,
+// highlightedItems,
+// carousel
+// }
+// }
+// }
diff --git a/pages/arcade/shop.js b/pages/arcade/shop.js
index 650b24b9..d7e4a605 100644
--- a/pages/arcade/shop.js
+++ b/pages/arcade/shop.js
@@ -1,11 +1,11 @@
-import ShopComponent from '../../components/arcade/shop-component'
-import { shopParts } from '../api/arcade/shop'
-import { Link, Text, Button, Flex, Box } from 'theme-ui'
-import { Balancer } from 'react-wrap-balancer'
+// import ShopComponent from '../../components/arcade/shop-component'
+// import { shopParts } from '../api/arcade/shop'
+// import { Link, Text, Button, Flex, Box } from 'theme-ui'
+// import { Balancer } from 'react-wrap-balancer'
import Meta from '@hackclub/meta'
import Head from 'next/head'
-import { useState, useEffect, useRef } from 'react'
-import Flag from '../../components/flag'
+// import { useState, useEffect, useRef } from 'react'
+// import Flag from '../../components/flag'
/** @jsxImportSource theme-ui */
@@ -26,56 +26,56 @@ body {
`
-export default function Shop({
- availableItems,
- userAirtableID = null,
- hoursBalance = 0
-}) {
- // const [t, setT] = useState('')
- const [items, setItems] = useState(availableItems)
- // const [lowerBound, setLowerBound] = useState(0)
- // const [upperBound, setUpperBound] = useState(1000)
- const [cat, setCat] = useState('all')
+export default function Shop() {
+// // availableItems,
+// userAirtableID = null,
+// hoursBalance = 0
+// }) {
+// // const [t, setT] = useState('')
+// const [items, setItems] = useState(availableItems)
+// // const [lowerBound, setLowerBound] = useState(0)
+// // const [upperBound, setUpperBound] = useState(1000)
+// const [cat, setCat] = useState('all')
- const aItems = availableItems.filter(
- items => items['Cost Hours'] > 0 && items['Cost Hours'] <= 10
- )
- const bItems = availableItems.filter(
- items => items['Cost Hours'] > 10 && items['Cost Hours'] <= 50
- )
- const cItems = availableItems.filter(
- items => items['Cost Hours'] > 50 && items['Cost Hours'] <= 100
- )
- const dItems = availableItems.filter(
- items => items['Cost Hours'] > 100 && items['Cost Hours'] <= 500
- )
+// const aItems = availableItems.filter(
+// items => items['Cost Hours'] > 0 && items['Cost Hours'] <= 10
+// )
+// const bItems = availableItems.filter(
+// items => items['Cost Hours'] > 10 && items['Cost Hours'] <= 50
+// )
+// const cItems = availableItems.filter(
+// items => items['Cost Hours'] > 50 && items['Cost Hours'] <= 100
+// )
+// const dItems = availableItems.filter(
+// items => items['Cost Hours'] > 100 && items['Cost Hours'] <= 500
+// )
- useEffect(() => {
- if (cat == 'all') {
- setItems(availableItems)
- } else {
- let i = availableItems.filter(items => items['Category'].includes(cat))
- setItems(i)
- }
- }, [cat])
+// useEffect(() => {
+// if (cat == 'all') {
+// setItems(availableItems)
+// } else {
+// let i = availableItems.filter(items => items['Category'].includes(cat))
+// setItems(i)
+// }
+// }, [cat])
- // Spotlight effect
- const spotlightRef = useRef()
- useEffect(() => {
- const handler = event => {
- var rect = document.getElementById('spotlight').getBoundingClientRect()
- var x = event.clientX - rect.left //x position within the element.
- var y = event.clientY - rect.top //y position within the element.
+// // Spotlight effect
+// const spotlightRef = useRef()
+// useEffect(() => {
+// const handler = event => {
+// var rect = document.getElementById('spotlight').getBoundingClientRect()
+// var x = event.clientX - rect.left //x position within the element.
+// var y = event.clientY - rect.top //y position within the element.
- spotlightRef.current.style.background = `radial-gradient(
- circle at ${x}px ${y}px,
- rgba(132, 146, 166, 0) 20px,
- rgba(250, 239, 214, 0.9) 120px
- )`
- }
- window.addEventListener('mousemove', handler)
- return () => window.removeEventListener('mousemove', handler)
- }, [])
+// spotlightRef.current.style.background = `radial-gradient(
+// circle at ${x}px ${y}px,
+// rgba(132, 146, 166, 0) 20px,
+// rgba(250, 239, 214, 0.9) 120px
+// )`
+// }
+// window.addEventListener('mousemove', handler)
+// return () => window.removeEventListener('mousemove', handler)
+// }, [])
return (
<>
-