diff --git a/assets/content/pages/work-with-us/carouselContent.json b/assets/content/pages/work-with-us/carouselContent.json deleted file mode 100644 index 84e0990d..00000000 --- a/assets/content/pages/work-with-us/carouselContent.json +++ /dev/null @@ -1,210 +0,0 @@ -[ - { - "title": "Consulting and Education", - "description": "Learn from Web3 experts", - "slides": [ - { - "title": "Bankless Consulting", - "paras": [ - "Our Web3-native consulting service draws on the expertise of bDAO members to help DAOs launch and scale their presence.", - "Bankless Consultancy also helps traditional organizations take the first step into Web3." - ], - "cta": { - "text": "Visit Bankless Consulting", - "link": "https://www.banklessconsulting.com/", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-2.jpg", - "alt": "Consulting generic image" - } - }, - { - "title": "Bankless Academy", - "paras": [ - "The Bankless Academy is on a mission to introduce 1 billion people to the exciting possibilities of cryptocurrency, DeFi, and beyond.", - "Whether you're curious about crypto, intrigued by NFTs, or want to get started the latest DeFi protocols, we're here to help guide and accelerate your journey to Web3 proficiency." - ], - "cta": { - "text": "Learn with Bankless Academy", - "link": "https://app.banklessacademy.com/", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/bankless-academy.png", - "alt": "Photo by Headway on Unsplash" - } - }, - { - "title": "Global Tax Consultancy", - "paras": [ - "The Global Tax Guide will provide general introductory information regarding virtual-currency-related income tax laws from major jurisdictions throughout the world. Access to the Global Tax Guide will be granted by minting Form 69." - ], - "cta": { - "text": "Visit Ultimate Crypto Tax Guide", - "link": "https://newsletter.banklesshq.com/p/ultimate-crypto-tax-guide?s=r", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-13.jpg", - "alt": "Photo by Towfiqu barbhuiya on Unsplash" - } - } - ] - }, - { - "title": "Software and DAO tooling", - "description": "Level up your organization with cutting-edge tooling", - "slides": [ - { - "title": "Bounty Board", - "paras": ["Bounty Board eases coordination between work organizers and contributors. It provides Discord-integrated bounty tooling.", - "New contributors find ways to contribute. Organizers track bountied work via our Discord bot and web accounting view. Organizers also attract talent with evergreen intake bounties and ensure work quality with Discord role-gating or applications.", - "However you work, Bounty Board fits your workflow."], - "cta": { - "text": "Visit Bounty Board", - "link": "https://bountyboard.bankless.community/", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-7.jpg", - "alt": "Photo by Jeswin Thomas on Unsplash" - } - }, - { - "title": "DAO Dash", - "paras": [ - "DAO Dash will be the Analytics Guild's data ecosystem that will enable collaboration between its members in order to support Bankless DAO's mission.", - "DAO Dash will establish patterns for ingesting data pipelines from off-chain and on-chain data sources, establishing a collaborative query and analysis environment, and a front end dashboard to distribute visually appealing insights." - ], - "cta": { - "text": "Visit DAO Dash", - "link": "https://bankless.notion.site/DAO-Dash-41a151ce8ef74fcd893cba3b47223828", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-8.jpg", - "alt": "Photo by Stephen Dawson on Unsplash" - } - } - ] - }, - { - "title": "Creative Services", - "description": "Tell your story and reach a new audience", - "slides": [ - { - "title": "Audio/Visual Services", - "paras": [ - "Our AV Guild provides top-notch audio and visual services for Web3-native organizations.", - "From audio production to voice-over talent to custom photography, bDAO's AV experts offer a service to level up your organization's audio and visual assets. Commission an AV expert by filling out this form." - ], - "cta": { - "text": "Visit Bankless AV Guild", - "link": "https://www.notion.so/bankless/AudioVisual-Guild-64f9d5b6e62a45dc93391e4d075b40a9", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-4.jpg", - "alt": "Photo by Matthew Kwong on Unsplash" - } - }, - { - "title": "Custom Articles", - "paras": ["Bankless Publishing (BP) is available to collaborate with value-aligned brands and protocols to generate educational articles that promote awareness, knowledge, and functionality of various integral aspects of the web3 ecosystem."], - "cta": { - "text": "Visit Bankless Publishing", - "link": "https://banklesspublishing.com", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-9.jpg", - "alt": "Photo by Etienne Girardet on Unsplash" - } - }, - { - "title": "State of the DAOS Newsletter Feature", - "paras": [ - "State of the DAOs, the high-signal low-noise newsletter to understanding DAOs." - ], - "cta": { - "text": "Visit State of the DAOs", - "link": "https://banklessdao.substack.com/s/state-of-the-daos?utm_source=substack&utm_medium=menu", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-10.jpg", - "alt": "Photo by Duy Pham on Unsplash" - } - }, - { - "title": "Custom Designs", - "paras": [ - "BanklessDAO Design Guild offers next-gen visual services for Web3-native organizations. We are a team of professional designers that offers website designs, mobile app designs, pitch deck designs, logo, and branding creation who are well equipped with theoretical knowledge and software materials and possess hands-on experience." - ], - "cta": { - "text": "Visit the Design Guild", - "link": "https://www.notion.so/Design-Guild-6f59223e601a4e418151b3622aa6b81c", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-11.jpg", - "alt": "Photo by Hal Gatewood on Unsplash" - } - } - ] - }, - { - "title": "Sponsorships and Marketing", - "description": "Scale your presence in Web3", - "slides": [ - { - "title": "Newsletter Sponsorships", - "paras": [ - "Sponsor any of our newsletters and reach tens of thousands of readers every week.", - "Choose from Weekly Rollup, State of the DAOs, Decentralized Art, Decentralized Law, and DeFi Download, as well as a variety of languages, to reach your perfect audience. Inquire about sponsoring a newsletter by filling out this form." - ], - "cta": { - "text": "Visit Bankless Newsletters", - "link": "https://www.notion.so/Writers-Guild-585a90523b9f4630bc04892931a11f7d", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-5.jpg", - "alt": "Photo by Jess Bailey on Unsplash" - } - }, - { - "title": "Podcast Sponsorships", - "paras": ["The BanklessDAO native podcasts speak directly to niche audiences around the web3 ecosystem.", - "Reach builders through Crypto Sapiens, BanklessDAO contributors through Making Bank, or get in touch with the fast-growing African scene through the Bankless Africa podcast.", - "\n", - "Let us know what you are looking for and we'll sync you with the right team."], - "cta": { - "text": "Visit BanklessDAO Podcasts", - "link": "/listen", - "isExternal": false - }, - "image": { - "src": "/images/work-with-us/work-with-us-4.jpg", - "alt": "Photo by Matthew Kwong on Unsplash" - } - }, - { - "title": "Marketing Services", - "paras": [ - "Bankless Consulting is the world's first web3-native consulting firm. Whether you're a DAO or a traditional enterprise, we'll help you capture the potential of the rapidly expanding decentralized economy." - ], - "cta": { - "text": "Visit Bankless Consulting", - "link": "https://www.banklessconsulting.com/", - "isExternal": true - }, - "image": { - "src": "/images/work-with-us/work-with-us-12.jpg", - "alt": "Photo by Jason Goodman on Unsplash" - } - } - ] - } -] diff --git a/components/_common/section.tsx b/components/_common/section.tsx new file mode 100644 index 00000000..f4d0359e --- /dev/null +++ b/components/_common/section.tsx @@ -0,0 +1,86 @@ +import React from 'react' +import { Box, Flex, Text, Image, VStack, Link } from '@chakra-ui/react' +import { FiArrowUpRight } from 'react-icons/fi' +import { ProjectType } from 'entities/project' + +const Section = ({ + project, + reverse, +}: { + project: ProjectType + reverse?: boolean +}): React.ReactElement => ( + + + {project.name} + + + + + + + + {project.name.toUpperCase()} + + {project.description} + {project.link && ( + + + Learn More + + + )} + + +) + +export default Section diff --git a/components/about-us/section.tsx b/components/about-us/section.tsx deleted file mode 100644 index 05cd7cee..00000000 --- a/components/about-us/section.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import React from 'react' -import { Box, Flex, Text, Image, VStack, Link } from '@chakra-ui/react' -import { FiArrowUpRight } from 'react-icons/fi' - -interface I_SectionProps { - alt: string - img: string - title: string - text: string - link?: string - reverse?: boolean -} - -class Section extends React.Component { - render() { - return ( - - - {this.props.alt} - - - - - - - - {this.props.title.toUpperCase()} - - {this.props.text} - {this.props.link && ( - - - Learn More - - - )} - - - ) - } -} - -export default Section diff --git a/components/about-us/sub-pages/departments/departments.tsx b/components/about-us/sub-pages/departments/departments.tsx index 0ebf009a..fe07a7b9 100644 --- a/components/about-us/sub-pages/departments/departments.tsx +++ b/components/about-us/sub-pages/departments/departments.tsx @@ -1,5 +1,5 @@ import React from 'react' -import Section from 'components/about-us/section' +import Section from 'components/_common/section' import { Box, Heading, Stack, Flex, Text, VStack } from '@chakra-ui/react' import Underline from 'components/_common/underline' import styles from 'styles/NavBar.module.css' @@ -51,10 +51,7 @@ function Departments() { {DEPARTMENTS.map((department, index) => (
diff --git a/components/about-us/sub-pages/guilds/guilds.tsx b/components/about-us/sub-pages/guilds/guilds.tsx index ca71b53f..43bf2c62 100644 --- a/components/about-us/sub-pages/guilds/guilds.tsx +++ b/components/about-us/sub-pages/guilds/guilds.tsx @@ -1,5 +1,5 @@ import React from 'react' -import Section from 'components/about-us/section' +import Section from 'components/_common/section' import { Box, Heading, Stack, Flex, Text, VStack } from '@chakra-ui/react' import Underline from 'components/_common/underline' import styles from 'styles/NavBar.module.css' @@ -52,10 +52,7 @@ function Guilds() { {GUILDS.map((guild, index) => (
diff --git a/components/about-us/sub-pages/projects/projects.tsx b/components/about-us/sub-pages/projects/projects.tsx index 7d1afa3e..867d2ee2 100644 --- a/components/about-us/sub-pages/projects/projects.tsx +++ b/components/about-us/sub-pages/projects/projects.tsx @@ -1,5 +1,5 @@ import React from 'react' -import Section from 'components/about-us/section' +import Section from 'components/_common/section' import { Box, Heading, Stack, Flex, Text, VStack } from '@chakra-ui/react' import Underline from 'components/_common/underline' import styles from 'styles/NavBar.module.css' @@ -52,13 +52,9 @@ function Projects() { {PROJECTS.map((project, index) => (
))} diff --git a/components/work-with-us/Carousel.tsx b/components/work-with-us/Carousel.tsx deleted file mode 100644 index 48ea0558..00000000 --- a/components/work-with-us/Carousel.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { - Box, - Heading, - Text, - Stack, - Tabs, - TabList, - TabPanels, - Tab, - TabPanel, -} from '@chakra-ui/react' -import { CarouselSlide } from './CarouselSlide' -import { ulid } from 'ulid' - -type CarouselProps = { - width: number - title: string - description: string - slides: Array - carouselIndex: number -} - -type CarouselSlide = { - title: string - paras: Array - cta: { - text: string - link: string - isExternal: boolean - } - image: { - src: string - alt: string - } -} - -export default function Carousel({ - title, - description, - slides, - carouselIndex, -}: CarouselProps) { - return ( - <> - - - {title} - - - {description} - - - - - - {slides.map(({ title }: CarouselSlide) => ( - - {title} - - ))} - - - {slides.map(slide => ( - - - - ))} - - - - ) -} diff --git a/components/work-with-us/CarouselSlide.tsx b/components/work-with-us/CarouselSlide.tsx deleted file mode 100644 index 28742e35..00000000 --- a/components/work-with-us/CarouselSlide.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from 'react' -import { Text, Stack, Flex } from '@chakra-ui/react' -import { ConsultImage } from './ConsultImage' -import { ulid } from 'ulid' -import { CTAButton } from 'components/_common/CTAButton' - -export type CarouselSlideProps = { - title: string - paras: Array - cta: { - text: string - link: string - isExternal: boolean - } - image: { - src: string - alt: string - } - carouselIndex: number -} - -export function CarouselSlide({ - paras, - cta, - image, - carouselIndex, -}: CarouselSlideProps) { - const rowOrder = carouselIndex % 2 ? 'row' : 'row-reverse' - return ( - - - {paras.map(para => ( - - {para} - - ))} - - - - - - - - ) -} diff --git a/components/work-with-us/ConsultImage.tsx b/components/work-with-us/ConsultImage.tsx deleted file mode 100644 index a00938e4..00000000 --- a/components/work-with-us/ConsultImage.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Box } from '@chakra-ui/react' -import { ChakraNextImage } from 'components/_common/ChakraNextImage' - -type ConsultImageProps = { - alt: string - src: string -} - -export const ConsultImage = ({alt, src}: ConsultImageProps) => ( - - - -) diff --git a/constants/data.ts b/constants/data.ts index 18b9c537..a50a4cc5 100644 --- a/constants/data.ts +++ b/constants/data.ts @@ -3,25 +3,25 @@ import { ProjectType } from 'entities/project' export const DEPARTMENTS: ProjectType[] = [ { "name": "Marketing Department", - "type": "department", + "page": "department", "description": "The Marketing Department is dedicated to amplifying the values of BanklessDAO, accomplishing this by delivering creative Web3 marketing solutions that effectively promote BanklessDAO initiatives, partners, and clients to their target audience with precision. Despite not yet adapting our own values, we remain aligned with those of the DAO.", "image": "/images/department/marketing-department-de80a554.png" }, { "name": "Operations Department", - "type": "department", + "page": "department", "description": "The operations department is responsible for overseeing daily activities within the DAO, ensuring alignment with the general mission and vision, and facilitating core operations, budget management, and the seamless functioning of the community, all while upholding the values of inclusivity and cooperation.", "image": "/images/department/operations-department-ca8c5e5c.png" }, { "name": "Education Department", - "type": "department", + "page": "department", "description": "The Education Department serves as a cornerstone of empowerment within the DAO, taking an internal focus in its efforts to onboard new members, impart essential DAO tool knowledge, and offer informational sessions, all with the overarching goal of helping individuals become more effective participants in the BanklessDAO community.", "image": "/images/department/education-department-b67fd5a8.png" }, { "name": "Treasury Department", - "type": "department", + "page": "department", "description": "The Treasury Department’s mission is to safeguard and improve the DAOs financial infrastructure, driven by values such as transparency, integrity, responsibility, and accountability. Under Treasury Department Accounting, it oversees financial matters, reports, assets, budgets, and meticulous records to ensure responsible financial management.", "image": "/images/department/treasury-department-21b91718.png" } @@ -30,61 +30,61 @@ export const DEPARTMENTS: ProjectType[] = [ export const GUILDS: ProjectType[] = [ { "name": "Project Management Guild", - "type": "guild", + "page": "guild", "description": "A space for BanklessDAO creators to do their best work via project management best practices. We explore how PM best practices can be used within the web3 space and DAOs.", "image": "/images/guild/project-management-guild-2fcc8bd2.jpg" }, { "name": "Audiovidual Guild", - "type": "guild", + "page": "guild", "description": "The AV Guild is the home of BanklessDAO video and audio content. From broadcasting the Community Call to building the next version of our audio-recording bot, bDAO contributors rely on the AV Guild for crisp, clear audio solutions for unifying contributors across time zones.", "image": "/images/guild/audiovidual-guild-f901620b.png" }, { "name": "DAOlationships Guild", - "type": "guild", + "page": "guild", "description": "The DAOlationships Guild facilitates and coordinates relationships between external organizations and the guilds within BanklessDAO. This guild helps us best represent our DAO to anyone outside bDAO.", - "image": "/images/guild/daolationships-guild-2dbd58be.png" + "image": "/images/guild/daolationships-guild-489406ee.png" }, { "name": "Design Guild", - "type": "guild", + "page": "guild", "description": "Clear communication of the DAO mission through intelligent next-gen design. We establish powerful symbols, build a narrative through visual aid, and generate funding through art. We use integrity in our images and content. As a culture, we reward action and embrace risk.", "image": "/images/guild/design-guild-03f27641.png" }, { "name": "Developers Guild", - "type": "guild", + "page": "guild", "description": "The Developers Guild builds tooling, provides developer education, and helps developers do their best work in Web3. They also incubated the DEGEN, Gov-Bot, Mobile App and Bounty Board projects.", "image": "/images/guild/developers-guild-7e988ba9.png" }, { "name": "Legal Guild", - "type": "guild", + "page": "guild", "description": "The Legal Guild authored the BANK legal assessment and white paper. It also provides regular updates on the legal developments in crypto and DAO governance. They also incubated the Decentralized Law newsletter and legal podcast project.", "image": "/images/guild/legal-guild-8cbb4e0a.png" }, { "name": "Research Guild", - "type": "guild", + "page": "guild", "description": "The Research Guild operates as a support node for conducting, guiding, and funding research that aligns with BanklessDAO’s mission.", "image": "/images/guild/research-guild-71c70417.png" }, { "name": "Translators Guild", - "type": "guild", + "page": "guild", "description": "The Translators Guild spreads the Bankless mission across the world by translating our media into dozens of languages, then publishing them through the International Media Nodes.", "image": "/images/guild/translators-guild-4f0af1f4.png" }, { "name": "Writers Guild", - "type": "guild", + "page": "guild", "description": "The Writers Guild is the umbrella for all writing projects coming out of the DAO. They incubated the Newsletter project, the Editing/Publishing Arm, and the Client Services project.", "image": "/images/guild/writers-guild-22c8e4ea.png" }, { "name": "Analytics Guild (inactive)", - "type": "guild", + "page": "guild", "description": "The Analytics Guild builds data products and uses data analytics to equip bDAO members to achieve our mission with data-driven intelligence. The Analytics Guild also incubated DAO DASH.", "image": "/images/guild/analytics-guild-inactive-cc3f4998.png" } @@ -93,156 +93,255 @@ export const GUILDS: ProjectType[] = [ export const PROJECTS: ProjectType[] = [ { "name": "Bankless Card", - "type": "project", + "page": "project", "description": "Bankless Card aims to provide bootstrap funding to every community through card interchange revenues. DAO members can use Bankless Card for their everyday purchases to earn cashback in the form of DAO social tokens. New contributors can also learn core web3 concepts through in-app integrations (i.e. Snapshot, PoolTogether, and more).", "image": "/images/project/bankless-card-5fa77bc9.png", "link": "https://banklesscard.xyz/" }, { "name": "Bankless Consulting", - "type": "project", + "page": "project", "description": "Bankless Consulting is the consulting services arm of BanklessDAO. It connects over 15,000+ talented Web3 natives to professional services in marketing, tech, legal, finance, and management. Bankless Consulting helps decentralized, Web3-native, and traditional businesses leverage the power of Web3.", "image": "/images/project/bankless-consulting-44709f18.png", "link": "https://www.banklessconsulting.com/" }, { "name": "Bounty Board", - "type": "project", + "page": "project", "description": "The Bounty Board creates an efficient mechanism of coordination between organizers and contributors. It provides a way to quickly access Web3 talent within the DAO for bountied work.", "image": "/images/project/bounty-board-7aee2b5b.png", "link": "https://bankless.notion.site/Bounty-Board-Project-Page-318dc164cc5640cca17e0fb5f484fd90" }, { "name": "Newsletter Project", - "type": "project", + "page": "project", "description": "The Newsletter project provides a written voice for the Bankless movement through newsletters that each have tens of thousands of subscribers: Weekly Rollup, State of the DAOs, Decentralized Arts and DeFi Download.", "image": "/images/project/newsletter-project-8cd6b42c.png", "link": "https://banklessdao.substack.com/" }, { "name": "Bankless Publishing", - "type": "project", + "page": "project", "description": "Bankless Publishing creates and curates top-shelf educational Web3 content for a broad audience of crypto-interested readers. We also work with crypto’s leading protocols to help them get their message out to our audience. Whether you’re a writer or protocol team, we’re interested in talking with you.", "image": "/images/project/bankless-publishing-5ae88c23.png", "link": "https://banklesspublishing.com/" }, { "name": "Podcast Hatchery", - "type": "project", + "page": "project", "description": "Podcast Hatchery empowers individual creators to develop their own podcasts, improve their production skills, grow an audience and ultimately generate high-quality audio storytelling that will represent the mission, ethos, and diversity of BanklessDAO.", "image": "/images/project/podcast-hatchery-72cf6a81.png", "link": "https://bankless.notion.site/Podcast-Hatchery-0c2676175267445180c8f5cb3d3f14bb" }, { "name": "DAOversity", - "type": "project", + "page": "project", "description": "DAOversity aims to understand and improve diversity within BanklessDAO. It works to provide a safe and inclusive space for discussing and addressing the challenges minority groups face in DAOs and Web3.", "image": "/images/project/daoversity-3c60baa3.png", "link": "https://discord.com/channels/834499078434979890/896079056427163679" }, { "name": "Fight Club", - "type": "project", + "page": "project", "description": "Fight Club aims to create opportunities for the bDAO community to pool capital, invest in projects, and share proceeds while offering venture investing education.", "image": "/images/project/fight-club-7994c99c.png", "link": "https://twitter.com/fight_club_vc" }, { "name": "Bankless Loans", - "type": "project", + "page": "project", "description": "The Bankless Loans Project Team is building a DeFi application for BanklessDAO that supports its goal of onboarding one billion people to crypto while generating revenue for the bDAO treasury.", "image": "/images/project/bankless-loans-44bedebe.png", "link": "https://bankless.notion.site/Bankless-Loans-c6b90fad24b24312b184840e49694f7f" }, { "name": "Bankless Academy", - "type": "project", + "page": "project", "description": "Bankless Academy is an app that will take someone with zero knowledge of crypto and smart contracts and lead them down the journey of becoming a competent crypto user. They provide lessons in interactive formats and have fun rewards along the way.", - "image": "/images/project/bankless-academy-8ca833f3.png", + "image": "/images/project/bankless-academy-f3fc04ba.png", "link": "https://linktr.ee/BanklessAcademy" }, { "name": "Crypto Sapiens", - "type": "project", + "page": "project", "description": "Humpty, one of bDAO’s active contributors, hosts a weekly podcast featuring insightful voices of Web3. Listen here.", "image": "/images/project/crypto-sapiens-2b6a14b8.png", "link": "https://linktr.ee/CryptoSapiensOfficial" }, { "name": "First Quest", - "type": "project", + "page": "project", "description": "First Quest is building our onboarding process, which has become famous within Web3. First Quest project aims to serve new joiners with a simplified and gamified onboarding process.", "image": "/images/project/first-quest-56ffbb70.png", "link": "https://bankless.notion.site/First-Quest-Project-Page-abc1393b83ae47f5836004ae96f55072" }, { "name": "International Media Nodes", - "type": "project", + "page": "project", "description": "International Media Nodes (IMN) are Bankless channels that spread the message of the Bankless movement to regions beyond North America. They translate BanklessDAO content, publish original pieces, run Twitter pages, and ship newsletters to cover many of the regions and languages of the world.", "image": "/images/project/international-media-nodes-b252f488.png", "link": "https://banklessimn.com/" }, { "name": "Decentralized-Law-Newsletter", - "type": "project", + "page": "project", "description": "The Legal Guild runs a legal newsletter that covers developments in the crypto-legal landscape. It is a premier newsletter in the crypto space, publishing cutting-edge legal analysis monthly.", "image": "/images/project/decentralized-law-newsletter-1a59dae7.png", "link": "https://banklessdao.substack.com/s/decentralized-law" }, { "name": "InfoSec Team", - "type": "project", + "page": "project", "description": "BanklessDAO’s InfoSec Team are the protectors of the DAO. Composed of information security experts and enthusiasts, they work in a cross-functional manner to help educate and deliver best security practices within the DAO and wider crypto ecosystem.", "image": "/images/project/infosec-team-b8853437.png", "link": "https://infosec.bankless.community/" }, { "name": "Website Project", - "type": "project", + "page": "project", "description": "The Website project aims to constantly improve the code, content, and design of the current bDAO website to streamline the introduction and onboarding of new members to the Bankless movement.", "image": "/images/project/website-project-fa2f4330.png", "link": "https://www.notion.so/bankless/bDAO-Website-1320df854ac54cb3a65018173b9e5445" }, { "name": "Governator", - "type": "project", + "page": "project", "description": "Token voting in Discord. Easy-to-use, token-enabled, shielded polls right in your server.", "image": "/images/project/governator-9624f47d.jpg", "link": "https://www.governator.xyz/" }, { "name": "The Rug", - "type": "project", + "page": "project", "description": "The Rug is the premiere crypto-satire brand in Web3. Subscribe to our newsletter for the hardest hitting articles and headlines. We take money, seriously.", "image": "/images/project/the-rug-1c23cd89.png", "link": "https://www.therugnews.com/" }, { "name": "Making Bank", - "type": "project", + "page": "project", "description": "The Making Bank podcast offers an inside look into BanklessDAO and showcases the people, ideas, and projects that keep it at the forefront of web3. Each episode, we invite DAO members to join us for conversations about DAO life, the future of work, crypto, web3, and their journeys to becoming more bankless.", - "image": "/images/project/making-bank-b8ae8969.png", + "image": "/images/project/making-bank-5b77b553.png", "link": "https://rss.com/podcasts/making-bank-banklessdao/" }, { "name": "B Labs", - "type": "project", + "page": "project", "description": "B Labs offers web3 related, data-driven and evidence-based analysis, research and advisory services. We support our partners in concept creation, goal setting and decision-making to successfully access, navigate and thrive in the space.", "image": "/images/project/b-labs-18ae22d7.png", "link": "https://linktr.ee/blabsresearch" }, { "name": "Bankless Africa", - "type": "project", + "page": "project", "description": "Bankless Africa promotes, educates and propagate truely bankless media, culture and education to drive the adoption of trustless, decentralized money and blockchain technology with the aim of achieving capacity building, economic empowerment and financial sovereignty in Africa.", "image": "/images/project/bankless-africa-49fdf43d.png", "link": "https://www.banklessafrica.com/" }, { "name": "DAOStewards", - "type": "project", + "page": "project", "description": "DAOStewards is a meta-governance group from BanklessDAO. We aim to encourage good governance in the DAO space by expressing Bankless values and fostering a collaborative environment for the space to grow.", - "image": "/images/project/daostewards-e3bdde04.png", + "image": "/images/project/daostewards-493f438e.png", "link": "https://twitter.com/DaoStewards" } ] + +export const WORK_WITH_US: ProjectType[] = [ + { + "name": "Bankless Consulting", + "page": "work-with-us", + "category": "consulting-and-education", + "description": "Our Web3-native consulting service draws on the expertise of bDAO members to help DAOs launch and scale their presence.\nBankless Consultancy also helps traditional organizations take the first step into Web3.", + "image": "/images/work-with-us/bankless-consulting-f1469097.jpg", + "link": "https://www.banklessconsulting.com/" + }, + { + "name": "Bankless Academy", + "page": "work-with-us", + "category": "consulting-and-education", + "description": "Bankless Academy is on a mission to introduce 1 billion people to the exciting possibilities of cryptocurrency, DeFi, and beyond.\nWhether you're curious about crypto, intrigued by NFTs, or want to get started the latest DeFi protocols, we're here to help guide and accelerate your journey to Web3 proficiency.", + "image": "/images/work-with-us/bankless-academy-6073734d.png", + "link": "https://linktr.ee/banklessacademy" + }, + { + "name": "Global Tax Consultancy", + "page": "work-with-us", + "category": "consulting-and-education", + "description": "The Global Tax Guide will provide general introductory information regarding virtual-currency-related income tax laws from major jurisdictions throughout the world. Access to the Global Tax Guide will be granted by minting Form 69.", + "image": "/images/work-with-us/global-tax-consultancy-a8fbf44f.jpg", + "link": "https://newsletter.banklesshq.com/p/ultimate-crypto-tax-guide?s=r" + }, + { + "name": "Newsletter Sponsorship", + "page": "work-with-us", + "category": "sponsorships-and-marketing", + "description": "Sponsor any of our newsletters and reach tens of thousands of readers every week.\nChoose from Weekly Rollup, State of the DAOs, Decentralized Art, Decentralized Law, and DeFi Download, as well as a variety of languages, to reach your perfect audience. Inquire about sponsoring a newsletter by filling out this form.", + "image": "/images/work-with-us/newsletter-sponsorship-dc73e820.jpg", + "link": "https://www.notion.so/Writers-Guild-585a90523b9f4630bc04892931a11f7d" + }, + { + "name": "Podcast Sponsorship", + "page": "work-with-us", + "category": "sponsorships-and-marketing", + "description": "The BanklessDAO native podcasts speak directly to niche audiences around the web3 ecosystem.\nReach builders through Crypto Sapiens, BanklessDAO contributors through Making Bank, or get in touch with the fast-growing African scene through the Bankless Africa podcast.\nLet us know what you are looking for and we'll sync you with the right team.", + "image": "/images/work-with-us/podcast-sponsorship-2ab30384.jpg", + "link": "https://www.bankless.community/listen" + }, + { + "name": "Marketing Services", + "page": "work-with-us", + "category": "sponsorships-and-marketing", + "description": "Bankless Consulting is the world's first web3-native consulting firm. Whether you're a DAO or a traditional enterprise, we'll help you capture the potential of the rapidly expanding decentralized economy.", + "image": "/images/work-with-us/marketing-services-36c53179.jpg", + "link": "https://www.banklessconsulting.com/" + }, + { + "name": "Audio-Visual Services", + "page": "work-with-us", + "category": "creative-services", + "description": "Our AV Guild provides top-notch audio and visual services for Web3-native organizations.\nFrom audio production to voice-over talent to custom photography, bDAO's AV experts offer a service to level up your organization's audio and visual assets. Commission an AV expert by filling out this form.", + "image": "/images/work-with-us/audio-visual-services-5770419a.jpg", + "link": "https://www.notion.so/bankless/AudioVisual-Guild-64f9d5b6e62a45dc93391e4d075b40a9" + }, + { + "name": "Custom Articles", + "page": "work-with-us", + "category": "creative-services", + "description": "Bankless Publishing (BP) is available to collaborate with value-aligned brands and protocols to generate educational articles that promote awareness, knowledge, and functionality of various integral aspects of the web3 ecosystem.", + "image": "/images/work-with-us/custom-articles-5f69ff1e.jpg", + "link": "https://banklesspublishing.com/" + }, + { + "name": "State of the DAOs Newsletter Feature", + "page": "work-with-us", + "category": "creative-services", + "description": "State of the DAOs, the high-signal low-noise newsletter to understanding DAOs.", + "image": "/images/work-with-us/state-of-the-daos-newsletter-feature-5609ac88.jpg", + "link": "https://banklessdao.substack.com/s/state-of-the-daos" + }, + { + "name": "Custom Designs", + "page": "work-with-us", + "category": "creative-services", + "description": "BanklessDAO Design Guild offers next-gen visual services for Web3-native organizations. We are a team of professional designers that offers website designs, mobile app designs, pitch deck designs, logo, and branding creation who are well equipped with theoretical knowledge and software materials and possess hands-on experience.", + "image": "/images/work-with-us/custom-designs-e00e0763.jpg", + "link": "https://www.notion.so/Design-Guild-6f59223e601a4e418151b3622aa6b81c" + }, + { + "name": "Bounty Board", + "page": "work-with-us", + "category": "software-and-dao-tooling", + "description": "Bounty Board eases coordination between work organizers and contributors. It provides Discord-integrated bounty tooling.\nNew contributors find ways to contribute. Organizers track bountied work via our Discord bot and web accounting view. Organizers also attract talent with evergreen intake bounties and ensure work quality with Discord role-gating or applications.\nHowever you work, Bounty Board fits your workflow.", + "image": "/images/work-with-us/bounty-board-e9be8920.jpg", + "link": "https://bountyboard.bankless.community/" + }, + { + "name": "DAO Dash", + "page": "work-with-us", + "category": "software-and-dao-tooling", + "description": "DAO Dash will be the Analytics Guild's data ecosystem that will enable collaboration between its members in order to support Bankless DAO's mission.\nDAO Dash will establish patterns for ingesting data pipelines from off-chain and on-chain data sources, establishing a collaborative query and analysis environment, and a front end dashboard to distribute visually appealing insights.", + "image": "/images/work-with-us/dao-dash-1c24102f.jpg", + "link": "https://bankless.notion.site/DAO-Dash-41a151ce8ef74fcd893cba3b47223828" + } +] diff --git a/entities/project.ts b/entities/project.ts index 78aab7f4..b4fdd484 100644 --- a/entities/project.ts +++ b/entities/project.ts @@ -1,6 +1,7 @@ export interface ProjectType { name: string, - type: string, + page: string, + category?: 'consulting-and-education' | 'sponsorships-and-marketing' | 'creative-services' | 'software-and-dao-tooling', description: string, image: string, link?: string, diff --git a/import-notion.js b/import-notion.js index c742d904..f461e15e 100644 --- a/import-notion.js +++ b/import-notion.js @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ /* eslint-disable no-console */ +const path = require("path") const axios = require('axios') const fs = require('fs') const crc32 = require('js-crc').crc32 @@ -16,7 +17,8 @@ console.log('NOTION_ID', NOTION_ID) const KEY_MATCHING = { 'Name': 'name', - 'Type': 'type', + 'Page': 'page', + 'Category': 'category', 'Description': 'description', 'Image': 'image', 'Link': 'link', @@ -53,6 +55,16 @@ const get_img = (imageLink, slug, image_name) => { // console.log('image_path', image_path) const local_image_path = `public${image_path}` if (!fs.existsSync(local_image_path)) { + // remove eventual previous image + const dirname = path.dirname(local_image_path) + '/' + fs.readdirSync(dirname) + .filter(f => f.startsWith(slugify(image_name))) + .map(f => { + console.log('delete previous image:', dirname + f) + fs.unlinkSync(dirname + f) + }) + + // download new image download_image(imageLink, local_image_path) console.log('downloading image: ', local_image_path) } @@ -75,24 +87,30 @@ axios }), {} ) - if (page.type.length > 0 && page.image !== undefined) { - page.type = page.type[0] + if (page.page.length > 0 && page.image !== undefined) { + page.page = page.page[0] if (page.link === null) { delete page.link } - page.image = get_img(page.image, page.type, slugify(page.name)) + page.image = get_img(page.image, page.page, slugify(page.name)) pages.push(page) } else { console.log('pb missing field', page) } }) // console.log(pages) - const departments = pages.filter(page => page.type === 'department') + const departments = pages.filter(page => page.page === 'department') console.log('departments', departments) - const guilds = pages.filter(page => page.type === 'guild') + + const guilds = pages.filter(page => page.page === 'guild') console.log('guilds', guilds) - const projects = pages.filter(page => page.type === 'project') + + const projects = pages.filter(page => page.page === 'project') console.log('projects', projects) + + const workWithUs = pages.filter(page => page.page === 'work-with-us') + console.log('work-with-us', workWithUs) + const fileContent = `import { ProjectType } from 'entities/project' export const DEPARTMENTS: ProjectType[] = ${JSON.stringify(departments, null, 2)} @@ -100,6 +118,8 @@ export const DEPARTMENTS: ProjectType[] = ${JSON.stringify(departments, null, 2) export const GUILDS: ProjectType[] = ${JSON.stringify(guilds, null, 2)} export const PROJECTS: ProjectType[] = ${JSON.stringify(projects, null, 2)} + +export const WORK_WITH_US: ProjectType[] = ${JSON.stringify(workWithUs, null, 2)} ` const filePath = `constants/data.ts` fs.writeFile( diff --git a/package.json b/package.json index f4f2f4c0..bd02171e 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "js-crc": "^0.2.0", "lodash": "^4.17.21", "next": "^13.5.4", + "path": "^0.12.7", "postcss": "^8.4.31", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/pages/work-with-us/index.tsx b/pages/work-with-us/index.tsx index 04326d20..de528a38 100644 --- a/pages/work-with-us/index.tsx +++ b/pages/work-with-us/index.tsx @@ -1,26 +1,80 @@ -import { useState, useEffect } from 'react' +import { Heading, Stack, Text, Box, VStack } from '@chakra-ui/react' import IntroductionComponent from 'components/work-with-us/introduction' -import carouselsData from '../../assets/content/pages/work-with-us/carouselContent.json' -import Carousel from 'components/work-with-us/Carousel' -import { ulid } from 'ulid' +import Section from 'components/_common/section' +import { WORK_WITH_US } from 'constants/data' -export default function WorkWithUsPage() { - // TODO : refactor this into a hook - const [width, setWidth] = useState(0) - useEffect(() => { - setWidth(document.body.clientWidth) - }, []) +const SectionTitle = ({ + title, + description, +}: { + title: string + description: string +}): React.ReactElement => ( + + + {title} + + + {description} + + +) - typeof window !== 'undefined' && - window.addEventListener('resize', function () { - setWidth(document.body.clientWidth) - }) +const WORK_WITH_US_CATEGORIES = [ + { + title: 'Consulting and Education', + description: 'Learn from Web3 experts', + categorySlug: 'consulting-and-education', + }, + { + title: 'Sponsorships and Marketing', + description: 'Scale your presence in Web3', + categorySlug: 'sponsorships-and-marketing', + }, + { + title: 'Creative Services', + description: 'Tell your story and reach a new audience', + categorySlug: 'creative-services', + }, + { + title: 'Software and DAO tooling', + description: 'Level up your organization with cutting-edge tooling', + categorySlug: 'software-and-dao-tooling', + }, +] +export default function WorkWithUsPage() { return ( <> - {carouselsData.map((carousel, index) => ( - + {WORK_WITH_US_CATEGORIES.map((category, index) => ( + + + + {WORK_WITH_US.filter( + project => project.category === category.categorySlug + ).map((project, index) => ( +
+ ))} + + ))} ) diff --git a/public/images/guild/daolationships-guild-2dbd58be.png b/public/images/guild/daolationships-guild-2dbd58be.png deleted file mode 100644 index 81d91e03..00000000 Binary files a/public/images/guild/daolationships-guild-2dbd58be.png and /dev/null differ diff --git a/public/images/guild/daolationships-guild-489406ee.png b/public/images/guild/daolationships-guild-489406ee.png new file mode 100644 index 00000000..4bdfaef9 Binary files /dev/null and b/public/images/guild/daolationships-guild-489406ee.png differ diff --git a/public/images/project/bankless-academy-8ca833f3.png b/public/images/project/bankless-academy-8ca833f3.png deleted file mode 100644 index 2f7487f2..00000000 Binary files a/public/images/project/bankless-academy-8ca833f3.png and /dev/null differ diff --git a/public/images/project/bankless-academy-f3fc04ba.png b/public/images/project/bankless-academy-f3fc04ba.png new file mode 100644 index 00000000..25f518e4 Binary files /dev/null and b/public/images/project/bankless-academy-f3fc04ba.png differ diff --git a/public/images/project/daostewards-493f438e.png b/public/images/project/daostewards-493f438e.png new file mode 100644 index 00000000..59c5bddc Binary files /dev/null and b/public/images/project/daostewards-493f438e.png differ diff --git a/public/images/project/daostewards-e3bdde04.png b/public/images/project/daostewards-e3bdde04.png deleted file mode 100644 index 778c08c8..00000000 Binary files a/public/images/project/daostewards-e3bdde04.png and /dev/null differ diff --git a/public/images/project/making-bank-5b77b553.png b/public/images/project/making-bank-5b77b553.png new file mode 100644 index 00000000..e34b54fa Binary files /dev/null and b/public/images/project/making-bank-5b77b553.png differ diff --git a/public/images/project/making-bank-b8ae8969.png b/public/images/project/making-bank-b8ae8969.png deleted file mode 100644 index f8a78fe6..00000000 Binary files a/public/images/project/making-bank-b8ae8969.png and /dev/null differ diff --git a/public/images/work-with-us/work-with-us-4.jpg b/public/images/work-with-us/audio-visual-services-5770419a.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-4.jpg rename to public/images/work-with-us/audio-visual-services-5770419a.jpg diff --git a/public/images/work-with-us/bankless-academy-6073734d.png b/public/images/work-with-us/bankless-academy-6073734d.png new file mode 100644 index 00000000..11584b3e Binary files /dev/null and b/public/images/work-with-us/bankless-academy-6073734d.png differ diff --git a/public/images/work-with-us/work-with-us-2.jpg b/public/images/work-with-us/bankless-consulting-f1469097.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-2.jpg rename to public/images/work-with-us/bankless-consulting-f1469097.jpg diff --git a/public/images/work-with-us/work-with-us-7.jpg b/public/images/work-with-us/bounty-board-e9be8920.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-7.jpg rename to public/images/work-with-us/bounty-board-e9be8920.jpg diff --git a/public/images/work-with-us/work-with-us-9.jpg b/public/images/work-with-us/custom-articles-5f69ff1e.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-9.jpg rename to public/images/work-with-us/custom-articles-5f69ff1e.jpg diff --git a/public/images/work-with-us/work-with-us-11.jpg b/public/images/work-with-us/custom-designs-e00e0763.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-11.jpg rename to public/images/work-with-us/custom-designs-e00e0763.jpg diff --git a/public/images/work-with-us/work-with-us-8.jpg b/public/images/work-with-us/dao-dash-1c24102f.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-8.jpg rename to public/images/work-with-us/dao-dash-1c24102f.jpg diff --git a/public/images/work-with-us/work-with-us-13.jpg b/public/images/work-with-us/global-tax-consultancy-a8fbf44f.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-13.jpg rename to public/images/work-with-us/global-tax-consultancy-a8fbf44f.jpg diff --git a/public/images/work-with-us/work-with-us-12.jpg b/public/images/work-with-us/marketing-services-36c53179.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-12.jpg rename to public/images/work-with-us/marketing-services-36c53179.jpg diff --git a/public/images/work-with-us/work-with-us-5.jpg b/public/images/work-with-us/newsletter-sponsorship-dc73e820.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-5.jpg rename to public/images/work-with-us/newsletter-sponsorship-dc73e820.jpg diff --git a/public/images/work-with-us/podcast-sponsorship-2ab30384.jpg b/public/images/work-with-us/podcast-sponsorship-2ab30384.jpg new file mode 100644 index 00000000..0e91d493 Binary files /dev/null and b/public/images/work-with-us/podcast-sponsorship-2ab30384.jpg differ diff --git a/public/images/work-with-us/work-with-us-10.jpg b/public/images/work-with-us/state-of-the-daos-newsletter-feature-5609ac88.jpg similarity index 100% rename from public/images/work-with-us/work-with-us-10.jpg rename to public/images/work-with-us/state-of-the-daos-newsletter-feature-5609ac88.jpg diff --git a/public/images/work-with-us/work-with-us-1.jpg b/public/images/work-with-us/work-with-us-1.jpg deleted file mode 100644 index afa682d8..00000000 Binary files a/public/images/work-with-us/work-with-us-1.jpg and /dev/null differ diff --git a/public/images/work-with-us/work-with-us-3.jpg b/public/images/work-with-us/work-with-us-3.jpg deleted file mode 100644 index f09676da..00000000 Binary files a/public/images/work-with-us/work-with-us-3.jpg and /dev/null differ diff --git a/yarn.lock b/yarn.lock index 37fb8ec3..cb8e828b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10265,6 +10265,13 @@ __metadata: languageName: node linkType: hard +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0 + languageName: node + linkType: hard + "ini@npm:2.0.0": version: 2.0.0 resolution: "ini@npm:2.0.0" @@ -12461,6 +12468,7 @@ __metadata: lint-staged: ^12.3.3 lodash: ^4.17.21 next: ^13.5.4 + path: ^0.12.7 postcss: ^8.4.31 prettier: ^2.5.1 react: ^18.2.0 @@ -12995,6 +13003,16 @@ __metadata: languageName: node linkType: hard +"path@npm:^0.12.7": + version: 0.12.7 + resolution: "path@npm:0.12.7" + dependencies: + process: ^0.11.1 + util: ^0.10.3 + checksum: 5dedb71e78fc008fcba797defc0b4e1cf06c1f18e0a631e03ba5bb505136f587ff017afc14f9a3d481cbe77aeedff7dc0c1d2ce4d820c1ebf3c4281ca49423a1 + languageName: node + linkType: hard + "pbjs@npm:^0.0.5": version: 0.0.5 resolution: "pbjs@npm:0.0.5" @@ -13366,6 +13384,13 @@ __metadata: languageName: node linkType: hard +"process@npm:^0.11.1": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -15654,6 +15679,15 @@ __metadata: languageName: node linkType: hard +"util@npm:^0.10.3": + version: 0.10.4 + resolution: "util@npm:0.10.4" + dependencies: + inherits: 2.0.3 + checksum: 913f9a90d05a60e91f91af01b8bd37e06bca4cc02d7b49e01089f9d5b78be2fffd61fb1a41b517de7238c5fc7337fa939c62d1fb4eb82e014894c7bee6637aaf + languageName: node + linkType: hard + "util@npm:^0.12.4": version: 0.12.5 resolution: "util@npm:0.12.5"