From 790d74d3e7810308cfee11274f696e8e63ccbe33 Mon Sep 17 00:00:00 2001 From: Caleb Denio Date: Thu, 13 Jan 2022 19:28:59 -0500 Subject: [PATCH] Enable ESLint (#292) * Use ESLint * oops * Ignore ESLint during builds * Disable rule * Restore quotes and apostrophes --- .eslintrc.json | 8 + .github/workflows/ci.yml | 23 + components/bank/Features.js | 18 +- components/bank/Nonprofits.js | 5 +- components/bank/Run.js | 4 +- components/bank/Testimonials.js | 5 +- components/bank/Timeline.js | 10 +- components/bio.js | 23 +- components/footer.js | 40 +- components/force-theme.js | 4 +- components/nav.js | 10 +- components/photo.js | 5 +- components/posts/emoji.js | 2 +- components/posts/index.js | 2 +- components/posts/mention.js | 2 +- components/slack/slack-events.js | 2 +- components/stat.js | 20 +- components/stickers/request-form.js | 6 +- components/submit.js | 5 +- next.config.js | 3 + package.json | 8 +- pages/_document.js | 4 +- pages/api/channels/dogs.js | 2 +- pages/api/join.js | 8 +- pages/api/stickers.js | 2 +- pages/bank.js | 2 +- pages/index.js | 10 +- pages/jobs/bank-ops-associate.js | 4 +- pages/jobs/bank-ops-lead.js | 4 +- pages/jobs/bank-tech-lead.js | 4 +- pages/jobs/brand-director.js | 4 +- pages/jobs/clubs-lead.js | 4 +- pages/jobs/communications-manager.js | 4 +- pages/jobs/education-engineer.js | 4 +- pages/jobs/events-designer.js | 278 +++++-- pages/jobs/executive-assistant.js | 4 +- pages/jobs/index.js | 22 +- pages/jobs/journalist.js | 4 +- pages/jobs/philanthropy-position.js | 4 +- pages/minecraft.js | 4 +- pages/night.js | 4 +- pages/opensource.js | 1 + pages/philosophy.js | 8 +- pages/preston-werner.js | 16 +- pages/santa.js | 21 +- yarn.lock | 1007 +++++++++++++++++++++++++- 46 files changed, 1437 insertions(+), 197 deletions(-) create mode 100644 .eslintrc.json create mode 100644 .github/workflows/ci.yml diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..9b5c9c41 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "extends": "next/core-web-vitals", + "rules": { + "@next/next/no-img-element": "off", + "react/no-unescaped-entities": "off", + "eqeqeq": "warn" + } +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..538a4856 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,23 @@ +name: CI +on: + - push + - pull_request + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + - run: yarn install + - run: yarn build + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + - run: yarn install + - run: yarn lint diff --git a/components/bank/Features.js b/components/bank/Features.js index 2a9e0f31..43c3ab8b 100644 --- a/components/bank/Features.js +++ b/components/bank/Features.js @@ -207,10 +207,9 @@ function Module({ icon, name, body }) { /> {name} - + + {body} + ) @@ -245,15 +244,12 @@ function Document({ name, cost }) { sx={{ flexShrink: 0, color: 'green' }} /> - + {name} {cost && ( - + + {cost} + )} diff --git a/components/bank/Nonprofits.js b/components/bank/Nonprofits.js index da8c18ad..aa6298c1 100644 --- a/components/bank/Nonprofits.js +++ b/components/bank/Nonprofits.js @@ -144,8 +144,9 @@ function Organization({ lineHeight: 1, letterSpacing: -0.1 }} - children={name} - /> + > + {name} +
- + + {body} + ) diff --git a/components/bank/Testimonials.js b/components/bank/Testimonials.js index 5adad884..42d2d41c 100644 --- a/components/bank/Testimonials.js +++ b/components/bank/Testimonials.js @@ -150,8 +150,9 @@ function Event({ color="white" variant="headline" sx={{ fontSize: [48, null, 30], letterSpacing: -0.1 }} - children={name} - /> + > + {name} + + > + {duration} + + > + {name} + diff --git a/components/bio.js b/components/bio.js index 4b1a6d83..e707bc47 100644 --- a/components/bio.js +++ b/components/bio.js @@ -24,20 +24,13 @@ export default function Bio({ img, name, teamRole, pronouns, text, ...props }) { - + + {name} + - + + {teamRole} + {pronouns && ( ({pronouns}) @@ -45,7 +38,9 @@ export default function Bio({ img, name, teamRole, pronouns, text, ...props }) { )} - + + {text} + diff --git a/components/footer.js b/components/footer.js index 11a7e516..a0e727e7 100644 --- a/components/footer.js +++ b/components/footer.js @@ -42,9 +42,10 @@ const Service = ({ href, icon, name = '', ...props }) => ( rel="noopener" href={href} title={`Hack Club on ${name ? name : icon}`} - children={} {...props} - /> + > + + ) const Footer = ({ dark = false, children, ...props }) => ( @@ -83,28 +84,25 @@ const Footer = ({ dark = false, children, ...props }) => ( Hack Club - - - - - - - + Slack + Donate + Team + Jobs + Philosophy + Branding + Press Inquiries Resources - - - - - - - + Code of Conduct + Events + Workshops + Hackathons + Bank + Clubs Map + Toolbox @@ -167,7 +165,9 @@ const Footer = ({ dark = false, children, ...props }) => ( 1-855-625-HACK
- + + (call toll-free) +
diff --git a/components/force-theme.js b/components/force-theme.js index 919d1e7a..b5b54409 100644 --- a/components/force-theme.js +++ b/components/force-theme.js @@ -1,7 +1,9 @@ import { useColorMode } from 'theme-ui' -export default ({ theme }) => { +const ForceTheme = ({ theme }) => { const [colorMode, setColorMode] = useColorMode() setColorMode(theme) return null } + +export default ForceTheme diff --git a/components/nav.js b/components/nav.js index 415de7a3..45f5699a 100644 --- a/components/nav.js +++ b/components/nav.js @@ -143,15 +143,15 @@ const NavBar = styled(Box)` const Navigation = props => ( - + Slack - - + Workshops + Scrapbook - + Bank - + Donate ) diff --git a/components/photo.js b/components/photo.js index ea2fd630..3adc4e4a 100644 --- a/components/photo.js +++ b/components/photo.js @@ -46,8 +46,9 @@ const Photo = ({ src, width, height, alt, showAlt, dark, ...props }) => { + > + {alt} + )} ) diff --git a/components/posts/emoji.js b/components/posts/emoji.js index 29c9ec30..6cc81c6a 100644 --- a/components/posts/emoji.js +++ b/components/posts/emoji.js @@ -27,7 +27,7 @@ export const EmojiImg = ({ name, ...props }) => ( /> ) -const CustomEmoji = memo(({ name }) => { +const CustomEmoji = memo(function CustomEmoji({ name }) { const emoji = stripColons(name) let [image, setImage] = useState() useEffect(() => { diff --git a/components/posts/index.js b/components/posts/index.js index a7801aea..e047dff0 100644 --- a/components/posts/index.js +++ b/components/posts/index.js @@ -31,7 +31,7 @@ export const formatText = text => ?.replace(/https?:\/\//, '') .replace(/\/$/, '') return ( - + {children} ) diff --git a/components/posts/mention.js b/components/posts/mention.js index 8bbc3491..b8f77f8e 100644 --- a/components/posts/mention.js +++ b/components/posts/mention.js @@ -2,7 +2,7 @@ import { Link, Avatar } from 'theme-ui' import { memo, useState, useEffect } from 'react' import { trim } from 'lodash' -const Mention = memo(({ username }) => { +const Mention = memo(function Mention({ username }) { const [img, setImg] = useState(null) useEffect(() => { try { diff --git a/components/slack/slack-events.js b/components/slack/slack-events.js index d419f5eb..56c67431 100644 --- a/components/slack/slack-events.js +++ b/components/slack/slack-events.js @@ -15,7 +15,7 @@ const emoji = ['🚀', '🥳', '😂', '💖', '👀', '👍', '🙌', '🙂', ' const colors = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', '#8067c3'] const Channel = ({ color, channel }) => ( - + { channel } ) const whitelistedChannels = new Set( diff --git a/components/stat.js b/components/stat.js index c8a62bfe..f858a098 100644 --- a/components/stat.js +++ b/components/stat.js @@ -39,8 +39,9 @@ const Stat = ({ letterSpacing: 'title', my: 0 }} - children={value || '—'} - /> + > + {value || '—'} + {!isEmpty(unit) && ( + > + {unit} + )} {!isEmpty(of) && ( + > + {of} + )} {!isEmpty(label) && ( @@ -79,8 +82,9 @@ const Stat = ({ letterSpacing: 'headline', textTransform: 'uppercase' }} - children={label} - /> + > + {label} + )} ) diff --git a/components/stickers/request-form.js b/components/stickers/request-form.js index 52c35014..ab2a1dfe 100644 --- a/components/stickers/request-form.js +++ b/components/stickers/request-form.js @@ -1,6 +1,6 @@ import { Grid, Card, Label, Input, Select } from 'theme-ui' import useForm from '../../lib/use-form' -import { countries } from '../../lib/countries' +import countries from '../../lib/countries' import Submit from '../submit' const RequestForm = () => { @@ -65,8 +65,8 @@ const RequestForm = () => { - {Object.entries(countries).map(country => ( - + {countries.countries.map(country => ( + ))} diff --git a/components/submit.js b/components/submit.js index 38579a09..dff96e2f 100644 --- a/components/submit.js +++ b/components/submit.js @@ -52,9 +52,10 @@ const Submit = ({ ...sx }} disabled={status === 'submitting'} - children={status === 'submitting' ? 'Submitting…' : labels[status]} {...props} - /> + > + {status === 'submitting' ? 'Submitting…' : labels[status]} + ) export default Submit diff --git a/next.config.js b/next.config.js index 6c5d377b..cf4eaf81 100755 --- a/next.config.js +++ b/next.config.js @@ -1,4 +1,7 @@ const nextConfig = { + eslint: { + ignoreDuringBuilds: true + }, trailingSlash: true, pageExtensions: ['js', 'jsx', 'mdx'], images: { diff --git a/package.json b/package.json index 3718df9e..fd26a7a7 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "scripts": { "dev": "next", "build": "next build", - "start": "next start" + "start": "next start", + "lint": "next lint" }, "dependencies": { "@emotion/react": "^11.7.1", @@ -37,5 +38,8 @@ "theme-ui": "^0.13", "turndown": "^7.1.1" }, - "devDependencies": {} + "devDependencies": { + "eslint": "8.6.0", + "eslint-config-next": "12.0.8" + } } diff --git a/pages/_document.js b/pages/_document.js index 78ede243..0004750b 100755 --- a/pages/_document.js +++ b/pages/_document.js @@ -24,7 +24,7 @@ const org = { ] } -export default class extends Document { +class MyDocument extends Document { static async getInitialProps(ctx) { const initialProps = await Document.getInitialProps(ctx) return { ...initialProps } @@ -49,3 +49,5 @@ export default class extends Document { ) } } + +export default MyDocument diff --git a/pages/api/channels/dogs.js b/pages/api/channels/dogs.js index b8c7bcce..38877489 100644 --- a/pages/api/channels/dogs.js +++ b/pages/api/channels/dogs.js @@ -1,4 +1,4 @@ -export default async (req, res) => { +export default async function handler(req, res) { // returns a url_private for the latest image posted in #dogs const fileList = await fetch(`https://slack.com/api/files.list?token=${process.env.SCRAPPY_TOKEN}&channel=CDJV1CXC2&count=1`) .then(r => r.json()) diff --git a/pages/api/join.js b/pages/api/join.js index 808f84e0..af390fbf 100644 --- a/pages/api/join.js +++ b/pages/api/join.js @@ -6,18 +6,18 @@ const joinTable = new AirtablePlus({ tableName: 'Join Requests' }) -export default async (req, res) => { - if (req.method == 'OPTIONS') { +export default async function handler(req, res) { + if (req.method === 'OPTIONS') { return res .status(204) .json({ status: 'YIPPE YAY. YOU HAVE CLEARANCE TO PROCEED.' }) } - if (req.method == 'GET') { + if (req.method === 'GET') { return res .status(405) .json({ error: '*GET outta here!* (Method not allowed, use POST)' }) } - if (req.method == 'PUT') { + if (req.method === 'PUT') { return res.status(405).json({ error: '*PUT that request away!* (Method not allowed, use POST)' }) diff --git a/pages/api/stickers.js b/pages/api/stickers.js index 3d1086a8..321ac63c 100644 --- a/pages/api/stickers.js +++ b/pages/api/stickers.js @@ -11,7 +11,7 @@ const addressesTable = new AirtablePlus({ tableName: 'Addresses' }) -export default async (req, res) => { +export default async function handler(req, res) { if (req.method === 'POST') { const data = req.body diff --git a/pages/bank.js b/pages/bank.js index 0c3ee757..d19db1e5 100644 --- a/pages/bank.js +++ b/pages/bank.js @@ -35,7 +35,7 @@ export default function Bank() { description="Hack Club Bank provides a 501(c)(3) status-backed 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 a great organization." image="https://cloud-og86rfngo-hack-club-bot.vercel.app/0og_image-2.png" /> - diff --git a/pages/index.js b/pages/index.js index 9b3b0e3b..0ecee554 100644 --- a/pages/index.js +++ b/pages/index.js @@ -341,8 +341,6 @@ const Page = () => ( Everyone gets hacking, individually. Not hacking @@ -545,8 +543,8 @@ const Page = () => ( Use our 501(c)(3) status and a restricted fund with{' '} Hack Club Bank - - {' '}to fundraise, accept donations, buy things! + {' '} + to fundraise, accept donations, buy things! } /> @@ -579,8 +577,8 @@ const Page = () => ( name="A basket of free tools" desc={ <> - Free subscriptions to Figma Pro, Postman, and more for - running a great club. + Free subscriptions to Figma Pro, Postman, and more for running a + great club. } /> diff --git a/pages/jobs/bank-ops-associate.js b/pages/jobs/bank-ops-associate.js index fe3c659a..7060c975 100644 --- a/pages/jobs/bank-ops-associate.js +++ b/pages/jobs/bank-ops-associate.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/bank-ops-associate/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/bank-ops-lead.js b/pages/jobs/bank-ops-lead.js index e1e641be..8f436a78 100644 --- a/pages/jobs/bank-ops-lead.js +++ b/pages/jobs/bank-ops-lead.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/bank-ops-lead/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/bank-tech-lead.js b/pages/jobs/bank-tech-lead.js index ef972890..3d3adfe3 100644 --- a/pages/jobs/bank-tech-lead.js +++ b/pages/jobs/bank-tech-lead.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/bank-tech-lead/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/brand-director.js b/pages/jobs/brand-director.js index e8d8f84a..577ffbb3 100644 --- a/pages/jobs/brand-director.js +++ b/pages/jobs/brand-director.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/brand-director/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/clubs-lead.js b/pages/jobs/clubs-lead.js index b9f74de1..28943cd5 100644 --- a/pages/jobs/clubs-lead.js +++ b/pages/jobs/clubs-lead.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/clubs-lead/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/communications-manager.js b/pages/jobs/communications-manager.js index 25f79c7c..a5669b9a 100644 --- a/pages/jobs/communications-manager.js +++ b/pages/jobs/communications-manager.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/communications-manager/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/education-engineer.js b/pages/jobs/education-engineer.js index 7ad4f756..fe289432 100644 --- a/pages/jobs/education-engineer.js +++ b/pages/jobs/education-engineer.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/education-engineer/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/events-designer.js b/pages/jobs/events-designer.js index 9010458c..5a7e64db 100644 --- a/pages/jobs/events-designer.js +++ b/pages/jobs/events-designer.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import ForceTheme from '../../components/force-theme' import Photo from '../../components/photo' -export default () => ( +const Page = () => ( <> ( fontSize: [2, 3] }} > - + Hack Club is hiring an Events Designer! - We do crazy things... + + We do crazy things... + ( sx={{ '> div': { p: 3, - fontSize: 2, + fontSize: 2 } }} > - 42 Hack Clubbers rode a train across America to SpaceX. - We hosted AMAs with people like Elon Musk and Grant Sanderson. - We gave 300 teenagers $50,000 for their hardware projects. + + 42 Hack Clubbers{' '} + + rode a train + {' '} + across America to SpaceX. + + + We hosted{' '} + + AMAs + {' '} + with people like{' '} + + Elon Musk + {' '} + and{' '} + + Grant Sanderson + + . + + + We gave 300 teenagers $50,000 for{' '} + + their hardware projects + + . + - We're looking for someone fun, creative, and technical to excite and grow the community. + + We're looking for someone fun, creative, and technical{' '} + to excite and grow the community. + @@ -77,36 +131,53 @@ export default () => ( pr: [0, 0, 5], '> div': { p: 3, - fontSize: 2, + fontSize: 2 } }} > - - You're passionate about building technical projects and find tinkering fun + + You're passionate about building technical projects and find + tinkering fun - - You've worked with teenagers and are excited to work 1:1 with them every day + + You've worked with teenagers and are excited to work 1:1 with them + every day - - You have event planning or media production experience and want to apply it + + You have event planning or media production experience and want to + apply it - We have a strong preference for someone in-person in Vermont, but we will consider applications from people who want to work remotely, provided they are willing to travel to our offices. + + We have a strong preference for someone in-person in Vermont, but + we will consider applications from people who want to work + remotely, provided they are willing to travel to our offices. + - Relocation assistance available. We have COVID protocols and take them seriously. + + Relocation assistance available. We have COVID protocols and take + them seriously. + @@ -125,30 +196,84 @@ export default () => ( } }} > - Produce and project manage the big, crazy things we do every few months - Support Hack Clubbers in creating and executing their awesome ideas - Revive Hack Night, our weekly casual technical hangout with the community - Lead on organizing AMAs and conversations with famous tech leaders - Game design events at Hack Club to better help students form meaningful relationships + + Produce and project manage the big, crazy things we do every few + months + + + Support Hack Clubbers in creating and executing{' '} + + their awesome ideas + + + + Revive{' '} + + Hack Night + + , our weekly casual technical hangout with the community + + + Lead on organizing AMAs and conversations with famous tech leaders + + + Game design events at Hack Club to better help students form + meaningful relationships + - - Hack Club is where 16,000+ teenage programmers talk, build, and have fun together. + + Hack Club is where 16,000+ teenage programmers talk, build, and have fun + together. Hack Clubbers at Flagship} + alt={ + <> + Hack Clubbers at{' '} + + Flagship + + + } width={500} height={326.5} showAlt /> The world's longest hackathon on land} + alt={ + <> + The{' '} + + world's longest hackathon + {' '} + on land + + } width={500} height={326.5} sx={{ display: ['none', 'none', 'block'] }} @@ -165,16 +290,57 @@ export default () => ( - This is not a normal job. For the last 18 months, a small team has produced a series of online events, and we're excited to hire an incredible, technical person to carry forward and build on these ideas. You'd be our 9th or so full-time staff member. + + This is not a normal job. For the last 18 months, a{' '} + + small team + {' '} + has produced a series of online events, and we're excited to hire an + incredible, technical person to carry forward and build on these + ideas. You'd be our 9th or so full-time staff member. + - In the Hack Club Slack, you'll work with our community to create the best and most inclusive place on the internet for technical teenagers. To work at Hack Club, you need to have a background in programming, but you should be inspired by making things fun. + + In the{' '} + + Hack Club Slack + + , you'll work with our community to create the best and most inclusive + place on the internet for technical teenagers. To work at Hack Club, + you need to have a background in programming, but{' '} + you should be inspired by making things fun. + - We are actively looking for candidates who have worked successfully with girl hackers before. We invite and encourage all interested candidates to apply even if they don't feel they meet all of the criteria. + + We are actively looking for candidates who have worked successfully + with girl hackers before. We invite and encourage all interested + candidates to apply even if they don't feel they meet all of the + criteria. + - This role pays between $60K - $100K, depending on your experience— and we know that's probably less than you'd make elsewhere. We offer healthcare and 4 weeks paid vacation. + + This role pays between $60K - $100K, depending on your + experience— and we know that's probably less than you'd make + elsewhere. We offer healthcare and 4 weeks paid vacation. + - + ( - The mission of Hack Club is to be a place where teenagers can become more technical, feel welcome in getting started, and feel inspired to build with code in ways that are always honest, transparent, high-integrity, kind, and friendly. We want teenagers to self-organize and assert themselves as persons. - - Already, Hack Club is the largest network of teen coders in the country. We hope for a world where Hack Club becomes a nationwide cultural institution, creating a new generation of young people with the skills, network, and value system to become problem-solvers and builders for the 21st century— a new Boy and Girl Scouts. + + The mission of Hack Club is to be a place where teenagers can become + more technical, feel welcome in getting started, and feel inspired + to build with code in ways that are always honest, transparent, + high-integrity, kind, and friendly. We want teenagers to + self-organize and assert themselves as persons. + + + + Already, Hack Club is the{' '} + largest network of teen coders in the country. We + hope for a world where Hack Club becomes a nationwide cultural + institution, creating a new generation of young people with the + skills, network, and value system to become problem-solvers and + builders for the 21st century— a new Boy and Girl Scouts. + - How to apply: Email jobs@hackclub.com with "golden" in the subject line, 3 bullet points demonstrating why you would be exceptional for the role, and your resume. + How to apply: Email{' '} + + jobs@hackclub.com + {' '} + with "golden" in the subject line, 3 bullet points demonstrating why you + would be exceptional for the role, and your resume. ) + +export default Page diff --git a/pages/jobs/executive-assistant.js b/pages/jobs/executive-assistant.js index 84b4afc2..66091b80 100644 --- a/pages/jobs/executive-assistant.js +++ b/pages/jobs/executive-assistant.js @@ -5,7 +5,7 @@ import Meta from '@hackclub/meta' import JobDescription from '../../components/jobs/executive-assistant/jd.mdx' import ForceTheme from '../../components/force-theme' -export default () => ( +const Page = () => ( <> ( ) + +export default Page \ No newline at end of file diff --git a/pages/jobs/index.js b/pages/jobs/index.js index 7a95e722..51265ac1 100644 --- a/pages/jobs/index.js +++ b/pages/jobs/index.js @@ -1,13 +1,6 @@ import React from 'react' import styled from '@emotion/styled' -import { - Box, - Container, - Heading, - Card, - Text, - Grid -} from 'theme-ui' +import { Box, Container, Heading, Card, Text, Grid } from 'theme-ui' import Head from 'next/head' import Meta from '@hackclub/meta' import ForceTheme from '/components/force-theme' @@ -79,7 +72,7 @@ const JobListing = ({ ) -export default () => ( +const Page = () => ( <> ( > Join the Hack Club Team - + (