mirror of
https://github.com/privacy-scaling-explorations/pse.dev.git
synced 2026-01-09 06:08:03 -05:00
homepage/about v1.3
This commit is contained in:
@@ -1,15 +1,7 @@
|
||||
import Link from "next/link"
|
||||
|
||||
import { siteConfig } from "@/config/site"
|
||||
import { Accordion } from "@/components/ui/accordion"
|
||||
import { AppContent } from "@/components/ui/app-content"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Label } from "@/components/ui/label"
|
||||
import { Banner } from "@/components/banner"
|
||||
import { Divider } from "@/components/divider"
|
||||
import { Icons } from "@/components/icons"
|
||||
import { LABELS } from "@/app/labels"
|
||||
import { interpolate } from "@/lib/utils"
|
||||
|
||||
import { Metadata } from "next"
|
||||
|
||||
export const metadata: Metadata = {
|
||||
@@ -18,89 +10,107 @@ export const metadata: Metadata = {
|
||||
}
|
||||
|
||||
export default async function AboutPage() {
|
||||
const principles = LABELS.ABOUT_PAGE.PRINCIPLES
|
||||
const OurWorkItems = [
|
||||
{
|
||||
label: "Incubation",
|
||||
description:
|
||||
"We research and build open source public goods like protocols, primitives, and products.",
|
||||
},
|
||||
{
|
||||
label: "Education",
|
||||
description:
|
||||
"We create resources to help Ethereum devs and users make informed choices about privacy.",
|
||||
},
|
||||
{
|
||||
label: "Coordination",
|
||||
description:
|
||||
"We push for better privacy standards by aligning efforts across the ecosystem and guiding policy conversations.",
|
||||
},
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="flex flex-col">
|
||||
<div className="w-full bg-page-header-gradient dark:bg-transparent-gradient">
|
||||
<AppContent className="flex flex-col gap-4 py-10 w-full max-w-[978px] mx-auto">
|
||||
<Label.PageTitle label={LABELS.ABOUT_PAGE.TITLE} />
|
||||
<h6 className="font-sans text-base font-normal text-primary md:text-[18px] md:leading-[27px] md:max-w-[700px]">
|
||||
{LABELS.ABOUT_PAGE.DESCRIPTION}
|
||||
</h6>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="self-start"
|
||||
passHref
|
||||
>
|
||||
<Button>
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-[14px] uppercase">
|
||||
{interpolate(LABELS.COMMON.CONNECT_WITH_US_ON_PLATFORM, {
|
||||
platform: "Discord",
|
||||
})}
|
||||
</span>
|
||||
<Icons.arrowRight fill="white" className="h-5" />
|
||||
</div>
|
||||
</Button>
|
||||
</Link>
|
||||
<AppContent className="flex flex-col gap-16 py-16 w-full max-w-[978px] mx-auto">
|
||||
<div className="flex flex-col gap-10">
|
||||
<h2 className="font-sans text-base font-bold uppercase tracking-[4px] text-black dark:text-white text-center">
|
||||
Our Mission
|
||||
</h2>
|
||||
<span className="text-xl font-sans dark:text-tuatara-200 text-black lg:max-w-[730px] mx-auto">
|
||||
As Privacy Stewards of Ethereum (PSE), our mission is to deliver
|
||||
privacy to the Ethereum ecosystems. <br /> <br />
|
||||
But building{" "}
|
||||
<Link
|
||||
href="https://www.activism.net/cypherpunk/manifesto.html"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-black dark:text-white hover:text-orange duration-200 underline"
|
||||
>
|
||||
“an open society in the electronic age”
|
||||
</Link>
|
||||
{
|
||||
"requires privacy that is usable, scalable, and secure. We are a team of applied cryptographers, mathematicians, developers, designers, and coordinators working to embed programmable cryptography into Ethereum's application layer and make privacy accessible to developers."
|
||||
}{" "}
|
||||
<br /> <br />
|
||||
Privacy is a cornerstone of freedom and an{" "}
|
||||
<Link
|
||||
href="https://vitalik.eth.limo/general/2025/04/14/privacy.html"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="text-black dark:text-white hover:text-orange duration-200 underline"
|
||||
>
|
||||
important guarantor for decentralization.
|
||||
</Link>
|
||||
We envision a future where digital infrastructure respects privacy
|
||||
by default, and permissions are purpose-specific, informed,
|
||||
uncoerced, and revocable.We envision a future where digital
|
||||
infrastructure respects privacy by default, and permissions are
|
||||
purpose-specific, informed, uncoerced, and revocable.
|
||||
<br /> <br />
|
||||
{`Programmable cryptography unlocks transformative capabilities for
|
||||
digital voting, identity, transactions, and other systems of
|
||||
coordination. But the road to privacy isn't only technical. It
|
||||
requires shifts in user behavior, developer priorities, regulatory
|
||||
thinking, and cultural norms. This is a collective challenge, and we
|
||||
invite you to help us shape a more private and free digital future.`}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-10">
|
||||
<h2 className="font-sans text-base font-bold uppercase tracking-[4px] text-black dark:text-white text-center">
|
||||
Our Work
|
||||
</h2>
|
||||
<div className="grid grid-cols-1 gap-10 lg:grid-cols-3 max-auto">
|
||||
{OurWorkItems?.map((item, index) => (
|
||||
<div className="flex flex-col gap-6 w-full lg:max-w-[300px]">
|
||||
<article className="flex flex-col gap-2" key={index}>
|
||||
<h6 className="font-sans text-xl font-medium text-black dark:text-white">
|
||||
{item.label}
|
||||
</h6>
|
||||
<p className="font-sans text-base font-normal text-black dark:text-white">
|
||||
{item.description}
|
||||
</p>
|
||||
</article>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-10">
|
||||
<h2 className="font-sans text-base font-bold uppercase tracking-[4px] text-black dark:text-white text-center">
|
||||
Our History
|
||||
</h2>
|
||||
<span className="text-xl font-sans dark:text-tuatara-200 text-black lg:max-w-[730px] mx-auto">
|
||||
We began in 2018 as Applied ZKP, a team supported by the Ethereum
|
||||
Foundation to push zero-knowledge proofs from theory to practice.
|
||||
In 2021, we became Privacy & Scaling Explorations (PSE), expanding
|
||||
our scope to programmable cryptography and tools across the stack.
|
||||
In 2025, we refined our mission as Privacy Stewards for Ethereum,
|
||||
shifting our focus toward ecosystem impact.
|
||||
</span>
|
||||
</div>
|
||||
</AppContent>
|
||||
</div>
|
||||
<Divider.Section className="bg-background">
|
||||
<div className="flex justify-center">
|
||||
<AppContent className="container flex w-full max-w-[978px] flex-col gap-8 py-10 md:py-16">
|
||||
<Label.Section
|
||||
className="text-center"
|
||||
label={LABELS.ABOUT_PAGE.OUR_PRINCIPLES_TITLE}
|
||||
/>
|
||||
<Accordion
|
||||
type="multiple"
|
||||
items={[
|
||||
...principles.map((principle: any, index: number) => {
|
||||
return {
|
||||
label: principle.TITLE,
|
||||
value: index.toString(),
|
||||
children: (
|
||||
<span className="flex flex-col gap-6 break-words pb-12 font-sans text-lg font-normal leading-[150%]">
|
||||
{principle.DESCRIPTION.map(
|
||||
(description: string, index: number) => {
|
||||
return <p key={index}>{description}</p>
|
||||
}
|
||||
)}
|
||||
</span>
|
||||
),
|
||||
}
|
||||
}),
|
||||
]}
|
||||
/>
|
||||
</AppContent>
|
||||
</div>
|
||||
|
||||
<Banner
|
||||
title={LABELS.ABOUT_PAGE.BANNER.TITLE}
|
||||
subtitle={LABELS.ABOUT_PAGE.BANNER.SUBTITLE}
|
||||
>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="w-fit mx-auto"
|
||||
passHref
|
||||
>
|
||||
<Button>
|
||||
<div className="flex items-center gap-2">
|
||||
<Icons.discord fill="white" className="h-4" />
|
||||
<span className="text-[14px] uppercase">
|
||||
{LABELS.COMMON.JOIN_OUR_DISCORD}
|
||||
</span>
|
||||
<Icons.externalUrl fill="white" className="h-5" />
|
||||
</div>
|
||||
</Button>
|
||||
</Link>
|
||||
</Banner>
|
||||
</Divider.Section>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,10 @@ import { BlogRecentArticles } from "@/components/blog/blog-recent-articles"
|
||||
import { HomepageHeader } from "@/components/sections/HomepageHeader"
|
||||
import { HomepageBanner } from "@/components/sections/HomepageBanner"
|
||||
import { Suspense } from "react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { LABELS } from "../labels"
|
||||
import { Icons } from "@/components/icons"
|
||||
import Link from "next/link"
|
||||
|
||||
function BlogSection() {
|
||||
return (
|
||||
@@ -25,18 +29,37 @@ function BlogSection() {
|
||||
|
||||
export default function IndexPage() {
|
||||
return (
|
||||
<section className="flex flex-col">
|
||||
<Divider.Section>
|
||||
<HomepageHeader />
|
||||
<section className="flex flex-col w-full">
|
||||
<HomepageHeader />
|
||||
|
||||
<BlogSection />
|
||||
<div className="flex flex-col justify-center bg-anakiwa-975 py-16">
|
||||
<div className="lg:max-w-[730px] flex flex-col mx-auto gap-10 justify-center items-center">
|
||||
<span className="text-white font-sans text-base lg:text-xl text-center">
|
||||
{LABELS.HOMEPAGE.MISSION}
|
||||
</span>
|
||||
<Link href="/about">
|
||||
<Button variant="transparent">
|
||||
<div className="flex items-center gap-1">
|
||||
<span className="text-base font-medium uppercase">
|
||||
{LABELS.HOMEPAGE.MISSION_BUTTON}
|
||||
</span>
|
||||
<Icons.arrowRight
|
||||
fill="white"
|
||||
className="h-5 duration-200 ease-in-out group-hover:translate-x-2"
|
||||
/>
|
||||
</div>
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<HomepageVideoFeed />
|
||||
<BlogSection />
|
||||
|
||||
<WhatWeDo />
|
||||
<HomepageVideoFeed />
|
||||
|
||||
<HomepageBanner />
|
||||
</Divider.Section>
|
||||
<WhatWeDo />
|
||||
|
||||
<HomepageBanner />
|
||||
</section>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,44 +1,12 @@
|
||||
export const LABELS = {
|
||||
ABOUT_PAGE: {
|
||||
TITLE: "About our team",
|
||||
DESCRIPTION:
|
||||
"PSE is an Ethereum Foundation supported research and development lab dedicated to testing use cases for cryptographic primitives. We build open source infrastructure and tools, host workshops and summer programs, and collaborate with people bringing cryptography to life.",
|
||||
OUR_PRINCIPLES_TITLE: "Our Principles",
|
||||
BANNER: {
|
||||
TITLE: "Connect with us",
|
||||
SUBTITLE:
|
||||
"Join our discord to learn more about our research, connect with our community, and keep posted about jobs and grant opportunities!",
|
||||
},
|
||||
PRINCIPLES: [
|
||||
{
|
||||
TITLE: "01. Cryptography for people",
|
||||
DESCRIPTION: [
|
||||
"Cryptography is everywhere: every time you connect to a secure site, log in with a password or unlock your phone, you're seeing cryptography in action. With 'programmable' cryptography (like zero knowledge proofs, multi-party computation or homomorphic encryption) we can make verifiable claims about secret information without revealing the information itself.",
|
||||
" This can be applied to identity management, collusion resistance, anonymous communication and so much more. We're building a library of dev tools, research papers, and prototypes that are open source and free for everyone to use. We hope our resources inspire people to innovate the technologies that their communities need.",
|
||||
],
|
||||
},
|
||||
{
|
||||
TITLE: "02. Prioritizing privacy",
|
||||
DESCRIPTION: [
|
||||
"We believe that privacy is a fundamental right. We want to be part of building an internet that divests from invasive data practices, and instead gives people real choices about who has access to their personal information.",
|
||||
" Permission should be purpose specific, revocable, informed and uncoerced. We make tools that help people to securely authenticate themselves, make confidential transactions on the blockchain, and respect and preserve user privacy.",
|
||||
],
|
||||
},
|
||||
{
|
||||
TITLE: "03. Scaling for communities",
|
||||
DESCRIPTION: [
|
||||
"Zero knowledge proofs can verify computations quickly and cheaply, helping decentralized systems like Ethereum become more efficient. We research, design and share scaling solutions that anyone can use to contribute to a stronger and more practical digital public infrastructure.",
|
||||
" We also grow our community by supporting the next generation of builders. We host immersive programs for students and lecture series that are open to everyone interested in building with cryptography.",
|
||||
],
|
||||
},
|
||||
{
|
||||
TITLE: "04. Collective exploration",
|
||||
DESCRIPTION: [
|
||||
"We are cultivating a diverse and multidisciplinary team to explore the emerging zero knowledge ecosystem. PSE is made up of programmers, engineers, and mathematicians working alongside creatives and community organizers to collaboratively discover the potential of programmable cryptography.",
|
||||
"We experiment in the open and welcome contributions, integrations, forks, or feedback on all of our projects.",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
BLOG_PAGE: {
|
||||
TITLE: "Blog",
|
||||
@@ -172,9 +140,12 @@ export const LABELS = {
|
||||
MORE_POSTS: "More posts",
|
||||
},
|
||||
HOMEPAGE: {
|
||||
HEADER_TITLE: "Privacy + Scaling Explorations",
|
||||
MISSION:
|
||||
"We believe Ethereum is the foundation of a freer digital world, but we will not reach its full potential without privacy. We’re building cryptographic tools, co-creating standards, and coordinating throughout the ecosystem to make privacy practical for Ethereum.",
|
||||
MISSION_BUTTON: "LEARN MORE ABOUT US",
|
||||
HEADER_TITLE: "Privacy Stewards of Ethereum",
|
||||
HEADER_SUBTITLE:
|
||||
"PSE is a research and development lab with a mission of making cryptography useful for human collaboration. We build open source tooling with things like zero-knowledge proofs, multiparty computation, homomorphic encryption, Ethereum, and more.",
|
||||
"PSE is a research and development lab delivering privacy to the Ethereum ecosystem",
|
||||
WHO_WE_ARE: "Who we are",
|
||||
WHO_WE_ARE_DESCRIPTION:
|
||||
"PSE is a research lab building free tools that expand the world of cryptography.",
|
||||
@@ -329,20 +300,17 @@ export const LABELS = {
|
||||
WHAT_WE_DO: "What we do",
|
||||
WHAT_WE_DO_DESCRIPTION:
|
||||
"PSE is a multidisciplinary team creating open source privacy and scaling tools for the next generation's internet.",
|
||||
PRIVACY: {
|
||||
TITLE: "Privacy",
|
||||
BUILD: {
|
||||
TITLE: "Build",
|
||||
DESCRIPTION:
|
||||
"We believe privacy is a social good that should be accessible to everyone. That's why we're creating open source tools that help people choose what, how, when, and where they share.",
|
||||
"We develop open source tools for things like data provenance, private identity, voting, and more to make privacy a core feature of Ethereum's application layer.",
|
||||
ACTION: "See our projects",
|
||||
},
|
||||
SCALING: {
|
||||
TITLE: "Scaling",
|
||||
RESEARCH: {
|
||||
TITLE: "Research",
|
||||
DESCRIPTION:
|
||||
"Our infrastructure helps communities grow by making Ethereum more efficient and accessible. From account abstraction and reducing transaction costs, to rollups and zkEVM, we are building towards an interoperable future.",
|
||||
},
|
||||
EXPLORATIONS: {
|
||||
TITLE: "Explorations",
|
||||
DESCRIPTION:
|
||||
"We are mapping the emerging zero knowledge ecosystem through collective experimentation. We collaborate, share what we learn, and welcome contributions from around the world.",
|
||||
"We benchmark primitives, systematize knowledge, and explore new ideas with the potential to transform the capabilities and impact of programmable cryptography.",
|
||||
ACTION: "See our research",
|
||||
},
|
||||
},
|
||||
CORE_PROGRAM_FAQ: [
|
||||
|
||||
@@ -22,7 +22,7 @@ const Banner = ({ title, subtitle, children }: BannerProps) => {
|
||||
title
|
||||
)}
|
||||
{subtitle && (
|
||||
<span className="md:max-w-[600px] font-normal font-sans text-xl text-primary dark:text-white">
|
||||
<span className="md:max-w-[600px] font-normal font-sans text-base text-primary dark:text-white">
|
||||
{subtitle}
|
||||
</span>
|
||||
)}
|
||||
|
||||
@@ -70,7 +70,7 @@ export const HomepageVideoFeed = () => {
|
||||
const { data: videos = [], isLoading, isError } = useYoutube()
|
||||
|
||||
return (
|
||||
<section className="mx-auto px-6 lg:px-8 py-10 lg:py-16 bg-tuatara-950 dark:bg-black">
|
||||
<section className="mx-auto px-6 lg:px-8 py-10 lg:py-16 bg-tuatara-950 dark:bg-black w-full">
|
||||
<AppContent className="flex flex-col gap-8 lg:max-w-[1200px] w-full">
|
||||
<div className="col-span-1 lg:col-span-4">
|
||||
<h2 className="font-sans text-base font-bold uppercase tracking-[4px] text-white text-center">
|
||||
|
||||
@@ -4,58 +4,61 @@ import { LABELS } from "@/app/labels"
|
||||
|
||||
import { Icons } from "../icons"
|
||||
import { AppContent } from "../ui/app-content"
|
||||
import { Button } from "../ui/button"
|
||||
import Link from "next/link"
|
||||
|
||||
type WhatWeDoContent = { title: string; description: string; icon: any }
|
||||
type WhatWeDoContent = {
|
||||
title: string
|
||||
description: string
|
||||
icon: any
|
||||
action?: string
|
||||
link: string
|
||||
}
|
||||
|
||||
export const WhatWeDo = () => {
|
||||
const content: WhatWeDoContent[] = [
|
||||
{
|
||||
title: LABELS.WHAT_WE_DO_SECTION.PRIVACY.TITLE,
|
||||
description: LABELS.WHAT_WE_DO_SECTION.PRIVACY.DESCRIPTION,
|
||||
title: LABELS.WHAT_WE_DO_SECTION.BUILD.TITLE,
|
||||
description: LABELS.WHAT_WE_DO_SECTION.BUILD.DESCRIPTION,
|
||||
action: LABELS.WHAT_WE_DO_SECTION.BUILD.ACTION,
|
||||
link: "/projects",
|
||||
icon: Icons.privacy,
|
||||
},
|
||||
{
|
||||
title: LABELS.WHAT_WE_DO_SECTION.SCALING.TITLE,
|
||||
description: LABELS.WHAT_WE_DO_SECTION.SCALING.DESCRIPTION,
|
||||
title: LABELS.WHAT_WE_DO_SECTION.RESEARCH.TITLE,
|
||||
description: LABELS.WHAT_WE_DO_SECTION.RESEARCH.DESCRIPTION,
|
||||
action: LABELS.WHAT_WE_DO_SECTION.RESEARCH.ACTION,
|
||||
link: "/research",
|
||||
icon: Icons.scaling,
|
||||
},
|
||||
{
|
||||
title: LABELS.WHAT_WE_DO_SECTION.EXPLORATIONS.TITLE,
|
||||
description: LABELS.WHAT_WE_DO_SECTION.EXPLORATIONS.DESCRIPTION,
|
||||
icon: Icons.explorations,
|
||||
},
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="bg-cover-gradient dark:bg-transparent-gradient">
|
||||
<AppContent className="mx-auto lg:max-w-[1200px] w-full">
|
||||
<section className="flex flex-col gap-16 py-16 md:pb-24">
|
||||
<div className="flex flex-col text-center">
|
||||
<h6 className="py-6 font-sans text-base font-bold uppercase tracking-[4px] text-primary">
|
||||
{LABELS.WHAT_WE_DO_SECTION.WHAT_WE_DO}
|
||||
</h6>
|
||||
<h3 className="font-display text-[18px] font-bold text-primary md:text-3xl">
|
||||
{LABELS.WHAT_WE_DO_SECTION.WHAT_WE_DO_DESCRIPTION}
|
||||
</h3>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 gap-8 lg:grid-cols-3">
|
||||
<div className="flex flex-col justify-center bg-anakiwa-975 py-16">
|
||||
<AppContent className="mx-auto lg:max-w-[845px] w-full">
|
||||
<section className="flex flex-col gap-10">
|
||||
<h6 className="font-sans text-base font-bold uppercase tracking-[4px] text-primary text-center text-white">
|
||||
{LABELS.WHAT_WE_DO_SECTION.WHAT_WE_DO}
|
||||
</h6>
|
||||
<div className="grid grid-cols-1 gap-10 lg:grid-cols-2 max-auto">
|
||||
{content.map((item, index) => (
|
||||
<article
|
||||
className="border-tuatara-300 flex flex-col gap-2 rounded-[6px] border bg-white px-8 py-4 dark:bg-black dark:border-anakiwa-800 dark:text-anakiwa-100"
|
||||
key={index}
|
||||
>
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="w-4">
|
||||
<item.icon />
|
||||
</div>
|
||||
<h6 className="font-sans text-lg font-bold uppercase tracking-[4px] text-anakiwa-700 dark:text-anakiwa-400">
|
||||
<div className="flex flex-col gap-6 w-full lg:max-w-[300px]">
|
||||
<article className="flex flex-col gap-2" key={index}>
|
||||
<h6 className="font-sans text-xl font-medium text-white">
|
||||
{item.title}
|
||||
</h6>
|
||||
</div>
|
||||
<p className="font-sans text-base text-primary">
|
||||
{item.description}
|
||||
</p>
|
||||
</article>
|
||||
<p className="font-sans text-base font-normal text-white">
|
||||
{item.description}
|
||||
</p>
|
||||
</article>
|
||||
{item.action && (
|
||||
<Link href={item.link}>
|
||||
<Button variant="transparent" className="uppercase">
|
||||
{item.action}
|
||||
</Button>
|
||||
</Link>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -50,139 +50,124 @@ export function SiteFooter() {
|
||||
return (
|
||||
<footer className="flex flex-col">
|
||||
<div className="bg-tuatara-950 text-white py-8 text-left text-[14px] dark:bg-black dark:border-t dark:border-anakiwa-800">
|
||||
<AppContent className="grid grid-cols-1 justify-between gap-10 py-2 lg:grid-cols-[400px_1fr] lg:gap-24">
|
||||
<div className="order-1 flex flex-col items-center gap-4 md:flex-row md:gap-8">
|
||||
<Image
|
||||
width={140}
|
||||
height={140}
|
||||
src="/logos/pse-badge-blue.svg"
|
||||
alt="logo PSE"
|
||||
className="h-36 w-36"
|
||||
/>
|
||||
<span className="text-center font-sans text-sm leading-[21px] md:text-left">
|
||||
{LABELS.COMMON.FOOTER.DESCRIPTION}
|
||||
</span>
|
||||
</div>
|
||||
<div className="order-2 grid grid-cols-1 justify-between gap-10 uppercase lg:grid-cols-5 lg:gap-0">
|
||||
<div>{/* spacer */}</div>
|
||||
<LinksWrapper>
|
||||
{MAIN_NAV.map(
|
||||
(
|
||||
{ title, href, external = false, onlyHeader }: NavItem,
|
||||
indexKey
|
||||
) =>
|
||||
!onlyHeader && (
|
||||
<Link
|
||||
key={indexKey}
|
||||
href={href}
|
||||
target={external ? "_blank" : undefined}
|
||||
>
|
||||
<ItemLabel label={title} />
|
||||
</Link>
|
||||
)
|
||||
)}
|
||||
</LinksWrapper>
|
||||
<LinksWrapper>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
className="flex items-start gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Discord"
|
||||
icon={<Icons.discord className="w-4" />}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.github}
|
||||
className="flex items-start gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Github"
|
||||
icon={<Icons.gitHub className="w-4" />}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.twitter}
|
||||
className="flex items-center gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Twitter"
|
||||
icon={
|
||||
<div className="w-4">
|
||||
<Icons.twitter className="w-full" />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.youtube}
|
||||
className="flex items-center gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Youtube"
|
||||
icon={
|
||||
<div className="w-4">
|
||||
<Icons.youtube className="w-full" />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href="/api/rss"
|
||||
className="flex items-center gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="RSS"
|
||||
icon={
|
||||
<div className="w-4">
|
||||
<Icons.rss className="w-full" />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
<LinksWrapper>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label="Feedback" />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.privacyPolicy}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label={LABELS.COMMON.FOOTER.PRIVACY_POLICY} />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.termOfUse}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label={LABELS.COMMON.FOOTER.TERMS_OF_USE} />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.jobs}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-2"
|
||||
>
|
||||
<ItemLabel label="Jobs" external />
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
</div>
|
||||
<AppContent className="flex gap-10 py-2 lg:gap-24 justify-center">
|
||||
<LinksWrapper>
|
||||
{MAIN_NAV.map(
|
||||
(
|
||||
{ title, href, external = false, onlyHeader }: NavItem,
|
||||
indexKey
|
||||
) =>
|
||||
!onlyHeader && (
|
||||
<Link
|
||||
key={indexKey}
|
||||
href={href}
|
||||
target={external ? "_blank" : undefined}
|
||||
>
|
||||
<ItemLabel label={title} />
|
||||
</Link>
|
||||
)
|
||||
)}
|
||||
</LinksWrapper>
|
||||
<LinksWrapper>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
className="flex items-start gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Discord"
|
||||
icon={<Icons.discord className="w-4" />}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.github}
|
||||
className="flex items-start gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Github"
|
||||
icon={<Icons.gitHub className="w-4" />}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.twitter}
|
||||
className="flex items-center gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Twitter"
|
||||
icon={
|
||||
<div className="w-4">
|
||||
<Icons.twitter className="w-full" />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.youtube}
|
||||
className="flex items-center gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="Youtube"
|
||||
icon={
|
||||
<div className="w-4">
|
||||
<Icons.youtube className="w-full" />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href="/api/rss"
|
||||
className="flex items-center gap-2"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel
|
||||
label="RSS"
|
||||
icon={
|
||||
<div className="w-4">
|
||||
<Icons.rss className="w-full" />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.jobs}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-2"
|
||||
>
|
||||
<ItemLabel label="Jobs" external />
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
<LinksWrapper>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label="Feedback" />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.privacyPolicy}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label={LABELS.COMMON.FOOTER.PRIVACY_POLICY} />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.termOfUse}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label={LABELS.COMMON.FOOTER.TERMS_OF_USE} />
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
</AppContent>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -25,6 +25,8 @@ const buttonVariants = cva(
|
||||
blue: "bg-anakiwa-950 text-white",
|
||||
search:
|
||||
"bg-[#F6F7F7] hover:bg-[#E9ECEF] text-gray-500 border border-gray-200 rounded-md",
|
||||
transparent:
|
||||
"bg-transparent text-white border text-anakiwa-400 border-anakiwa-400 border",
|
||||
},
|
||||
size: {
|
||||
default: "h-10 py-2 px-4 text-lg",
|
||||
@@ -35,7 +37,15 @@ const buttonVariants = cva(
|
||||
},
|
||||
compoundVariants: [
|
||||
{
|
||||
variant: ["default", "orange", "black", "white", "blue", "search"],
|
||||
variant: [
|
||||
"default",
|
||||
"orange",
|
||||
"black",
|
||||
"white",
|
||||
"blue",
|
||||
"search",
|
||||
"transparent",
|
||||
],
|
||||
className:
|
||||
"dark:bg-transparent dark:border dark:border-anakiwa-400 dark:text-anakiwa-400 dark:hover:bg-anakiwa-400/20 dark:hover:text-anakiwa-400",
|
||||
},
|
||||
|
||||
@@ -19,33 +19,6 @@ export function useAppSettings() {
|
||||
title: LABELS.COMMON.MENU.BLOG,
|
||||
href: "/blog",
|
||||
},
|
||||
/*
|
||||
{
|
||||
title: LABELS.COMMON.MENU.HOME,
|
||||
href: "/",
|
||||
onlyMobile: true,
|
||||
},
|
||||
|
||||
{
|
||||
title: "Devcon 7",
|
||||
href: "/devcon-7",
|
||||
onlyFooter: true,
|
||||
},
|
||||
*/
|
||||
/*
|
||||
{
|
||||
title: LABELS.COMMON.MENU.PROGRAMS,
|
||||
href: "/programs",
|
||||
onlyFooter: true,
|
||||
},
|
||||
*/
|
||||
|
||||
/*
|
||||
{
|
||||
title: LABELS.COMMON.MENU.RESOURCES,
|
||||
href: "/resources",
|
||||
},
|
||||
*/
|
||||
]
|
||||
|
||||
return {
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
<svg width="133" height="133" viewBox="0 0 133 133" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M66.5 133C48.7371 133 32.0366 126.083 19.478 113.522C6.91674 100.963 0 84.2629 0 66.5C0 48.7371 6.91674 32.0366 19.478 19.478C32.0392 6.9193 48.7371 0 66.5 0C84.2629 0 100.963 6.91674 113.522 19.478C126.083 32.0392 133 48.7371 133 66.5C133 84.2629 126.083 100.963 113.522 113.522C100.961 126.083 84.2629 133 66.5 133ZM66.5 3.35853C49.6331 3.35853 33.7773 9.92713 21.851 21.8535C9.92713 33.7773 3.35853 49.6357 3.35853 66.5C3.35853 83.3643 9.92713 99.2227 21.8535 111.149C33.7799 123.075 49.6357 129.644 66.5026 129.644C83.3695 129.644 99.2252 123.075 111.152 111.149C123.078 99.2227 129.647 83.3669 129.647 66.5C129.647 49.6331 123.078 33.7773 111.152 21.851C99.2252 9.92457 83.3695 3.35597 66.5026 3.35597L66.5 3.35853Z" fill="#50C3E0"/>
|
||||
<path d="M19.0095 60.4152L10.1345 58.7001L10.7565 55.4798C11.1891 53.2502 12.6175 52.1238 14.5349 52.495L14.7269 52.5334C16.6212 52.8995 17.5401 54.4789 17.1101 56.7085L16.8695 57.9501L19.3884 58.4364L19.0069 60.4127L19.0095 60.4152ZM12.2284 57.0541L15.1595 57.6198L15.418 56.281C15.5972 55.3518 15.1262 54.6863 14.2456 54.5147C13.342 54.3407 12.6662 54.7861 12.487 55.7128L12.2284 57.0516V57.0541Z" fill="#50C3E0"/>
|
||||
<path d="M20.8808 51.8499L12.4972 48.4658L13.8156 45.1969C14.6577 43.1131 16.1143 42.1916 17.9728 42.9391L18.1545 43.0133C19.373 43.5048 19.9515 44.4007 19.9618 45.5578L23.7888 44.6388L22.9159 46.8019L19.5189 47.5366L18.966 48.9035L21.6308 49.9787L20.8756 51.8474L20.8808 51.8499ZM14.8344 47.2371L17.4992 48.3122L18.1238 46.7635C18.4515 45.9546 18.1417 45.2071 17.3328 44.882C16.5367 44.5595 15.7841 44.882 15.4564 45.6883L14.8318 47.2371H14.8344Z" fill="#50C3E0"/>
|
||||
<path d="M24.8485 43.0619L17.1331 38.4951L18.1596 36.7621L25.875 41.3289L24.8485 43.0619Z" fill="#50C3E0"/>
|
||||
<path d="M28.5219 37.4712L19.8568 33.9002L21.1726 32.2952L28.1764 35.3158L28.44 34.9933L23.9961 28.847L25.2709 27.2881L30.598 34.9344L28.5194 37.4712H28.5219Z" fill="#50C3E0"/>
|
||||
<path d="M32.4795 32.6408L29.0416 23.8476L31.5477 21.7716L39.6292 26.7198L38.0216 28.0509L36.0454 26.8017L33.1604 29.1901L34.0282 31.3557L32.4769 32.6408H32.4795ZM34.5555 25.8674L31.5093 23.9398L31.1586 24.2291L32.5025 27.5646L34.5555 25.8648V25.8674Z" fill="#50C3E0"/>
|
||||
<path d="M38.3364 22.386L38.211 22.1479C37.1743 20.1819 37.3304 17.4198 40.0797 15.971C42.2428 14.8318 44.3623 15.3515 45.5604 17.1511L43.7685 18.0956C43.1183 17.2304 42.0329 17.0666 40.9552 17.6349C39.5421 18.3798 39.2887 19.8184 40.0823 21.3287C40.8656 22.8186 42.2146 23.4253 43.6712 22.6599C44.7694 22.0813 45.2967 21.0804 44.9614 20.0488L46.743 19.1093C47.47 20.9627 46.8172 23.1232 44.5467 24.3212C41.6771 25.8341 39.281 24.1804 38.3364 22.3885V22.386Z" fill="#50C3E0"/>
|
||||
<path d="M52.1085 20.9217L51.146 17.6579L50.721 17.7833L46.6381 13.1858L48.6168 12.6022L51.5197 15.971L51.896 15.8609L52.3286 11.5066L54.2024 10.9536L53.4678 16.9719L53.0428 17.0973L54.0053 20.3611L52.1085 20.9217Z" fill="#50C3E0"/>
|
||||
<path d="M61.0987 16.1245L63.0493 16.0606C63.0723 16.7492 63.6202 17.3328 64.8847 17.2918C66.0008 17.256 66.587 16.7568 66.5666 16.0682C66.5486 15.4923 66.0699 15.1748 64.9743 15.1134L64.296 15.075C62.4989 14.9854 61.324 14.0178 61.2728 12.4204C61.2165 10.7028 62.4836 9.59179 64.4828 9.52523C66.5947 9.45612 67.8977 10.5799 67.954 12.336L65.9906 12.4C65.9701 11.7497 65.4709 11.1866 64.5391 11.2173C63.6432 11.2455 63.2183 11.7651 63.2362 12.3539C63.2541 12.8684 63.5971 13.2754 64.4214 13.3113L65.11 13.3497C67.0683 13.4572 68.4737 14.3454 68.5274 16.0017C68.5837 17.7321 67.2091 18.9097 64.9385 18.9839C62.4964 19.0633 61.1525 17.8653 61.0961 16.1245H61.0987Z" fill="#50C3E0"/>
|
||||
<path d="M72.1368 19.0428L73.13 11.9008L70.6367 11.5552L70.8799 9.8145L77.876 10.7872L77.6354 12.5279L75.1293 12.1798L74.1361 19.3218L72.1419 19.0453L72.1368 19.0428Z" fill="#50C3E0"/>
|
||||
<path d="M78.4699 20.1614L81.1885 11.6166L86.4797 13.2985L85.9728 14.8907L82.5554 13.8028L81.9795 15.6177L85.21 16.6442L84.7032 18.2364L81.4726 17.2099L80.8506 19.1657L84.3499 20.2792L83.843 21.8714L78.4699 20.164V20.1614Z" fill="#50C3E0"/>
|
||||
<path d="M87.2169 23.2435L89.8715 14.3966L91.6583 15.4513L89.3672 22.6163L89.6411 22.7776L94.3129 17.4045L96.0894 18.454L93.8086 25.2402L94.0825 25.4015L99.0588 19.8235L100.751 20.8219L94.4997 27.5441L91.8119 25.957L93.5449 20.7041L89.8459 24.7973L87.2118 23.241L87.2169 23.2435Z" fill="#50C3E0"/>
|
||||
<path d="M96.4683 29.0032L104.842 24.6361L107.176 26.9041L103.129 35.4745L101.631 34.018L102.661 31.9189L99.9727 29.3078L97.912 30.406L96.4683 29.0006V29.0032ZM103.429 30.3394L105.016 27.1038L104.691 26.7864L101.519 28.481L103.431 30.3394H103.429Z" fill="#50C3E0"/>
|
||||
<path d="M104.148 36.8799L111.633 31.8139L113.609 34.7322C114.869 36.5932 114.82 38.3185 113.161 39.4397L112.997 39.5498C111.909 40.287 110.842 40.2666 109.877 39.6292L108.502 43.3179L107.194 41.3852L108.479 38.1572L107.652 36.9362L105.272 38.5463L104.143 36.8773L104.148 36.8799ZM111.349 34.4403L108.968 36.0505L109.905 37.4328C110.394 38.1547 111.185 38.316 111.907 37.827C112.618 37.3458 112.772 36.5445 112.286 35.8227L111.349 34.4403Z" fill="#50C3E0"/>
|
||||
<path d="M109.245 44.9127L117.656 41.4671L118.918 44.5467C120.142 47.5366 118.852 49.8302 116.694 50.7134L116.443 50.8157C114.421 51.6451 111.733 50.9796 110.507 47.9897L109.245 44.9102V44.9127ZM116.681 44.0424L111.748 46.0621L112.288 47.3804C112.931 48.9496 114.305 49.4872 115.795 48.8779C117.352 48.2405 117.864 46.9299 117.221 45.3607L116.681 44.0424Z" fill="#50C3E0"/>
|
||||
<path d="M115.401 53.2118L115.772 55.1291C115.096 55.2597 114.607 55.8919 114.845 57.1335C115.058 58.2317 115.642 58.7308 116.317 58.6003C116.883 58.4902 117.121 57.9706 117.011 56.8775L116.942 56.2017C116.747 54.4123 117.518 53.1017 119.085 52.7971C120.772 52.4694 122.069 53.5446 122.448 55.5105C122.85 57.584 121.944 59.0483 120.219 59.381L119.845 57.4509C120.485 57.328 120.958 56.7469 120.782 55.8305C120.61 54.9499 120.034 54.612 119.456 54.7246C118.949 54.8219 118.603 55.2264 118.698 56.0481L118.77 56.7341C118.972 58.6848 118.317 60.2104 116.689 60.5253C114.989 60.853 113.612 59.6831 113.179 57.4509C112.716 55.0523 113.686 53.5369 115.398 53.2067L115.401 53.2118Z" fill="#50C3E0"/>
|
||||
<path d="M91.2026 68.3559C91.2026 69.2186 90.5908 69.9353 89.7793 70.1017C89.6642 70.1248 89.5438 70.1376 89.421 70.1376H83.4744C82.4889 70.1376 81.6928 70.9362 81.6928 71.9192V77.8658C81.6928 78.4801 81.3805 79.0228 80.9069 79.3428C80.7175 79.4708 80.5024 79.563 80.2695 79.6116C80.1543 79.6346 80.034 79.6474 79.9111 79.6474H73.9645C72.979 79.6474 72.1829 80.4461 72.1829 81.4291V87.3756C72.1829 88.3612 71.3842 89.1573 70.4012 89.1573H64.4547C63.4691 89.1573 62.673 88.3586 62.673 87.3756V81.4291C62.673 80.4435 63.4717 79.6474 64.4547 79.6474H70.4012C71.3868 79.6474 72.1829 78.8488 72.1829 77.8658V71.9192C72.1829 70.9337 72.9816 70.1376 73.9645 70.1376H79.9111C80.8966 70.1376 81.6928 69.3389 81.6928 68.3559V60.6277C81.6928 55.3851 77.4536 51.1357 72.2162 51.1178C66.9787 51.1357 62.7396 55.3877 62.7396 60.6277V68.3559C62.7396 69.3414 61.9409 70.1376 60.9579 70.1376H55.0114C54.0258 70.1376 53.2297 70.9362 53.2297 71.9192V87.3756C53.2297 88.3612 52.431 89.1573 51.448 89.1573H45.5015C44.5159 89.1573 43.7198 88.3586 43.7198 87.3756V71.9167C43.7198 70.9311 44.5185 70.135 45.5015 70.135H51.448C52.4336 70.135 53.2297 69.3363 53.2297 68.3533V60.5893C53.2297 50.1015 61.731 41.6003 72.2187 41.6003C82.7065 41.6003 91.2077 50.1015 91.2077 60.5893V68.3533L91.2026 68.3559Z" fill="#50C3E0"/>
|
||||
<path d="M66.5 108.059C43.5841 108.059 24.9407 89.4158 24.9407 66.5C24.9407 43.5841 43.5841 24.9407 66.5 24.9407C89.4158 24.9407 108.059 43.5841 108.059 66.5C108.059 89.4158 89.4158 108.059 66.5 108.059ZM66.5 26.0594C44.2011 26.0594 26.0594 44.2011 26.0594 66.5C26.0594 88.7989 44.2011 106.941 66.5 106.941C88.7989 106.941 106.941 88.7989 106.941 66.5C106.941 44.2011 88.7989 26.0594 66.5 26.0594Z" fill="#50C3E0"/>
|
||||
<path d="M17.4787 95.5595L24.9842 90.6548L27.9281 95.1576L26.5304 96.0715L24.6898 93.2556L23.0029 94.3564L24.7641 97.0493L23.3664 97.9632L21.6052 95.2702L18.582 97.2465L17.4813 95.5595H17.4787Z" fill="#50C3E0"/>
|
||||
<path d="M25.3119 99.4915L25.5064 99.3046C27.1089 97.7635 29.9401 97.2874 32.1288 99.5631C34.3098 101.829 33.7415 104.657 32.139 106.198L31.9445 106.385C30.493 107.783 27.5518 108.464 25.3042 106.127C23.0566 103.789 23.8604 100.887 25.3119 99.4915ZM30.621 104.831C31.8242 103.674 31.9522 102.087 30.7746 100.864C29.5996 99.6425 28.0176 99.7167 26.8145 100.874C25.6805 101.964 25.4859 103.603 26.6609 104.824C27.8359 106.045 29.4896 105.922 30.621 104.831Z" fill="#50C3E0"/>
|
||||
<path d="M31.6859 111.676L36.7621 104.199L39.6778 106.178C41.5363 107.44 42.1301 109.06 41.0064 110.716L40.8963 110.878C40.1591 111.966 39.1607 112.342 38.0293 112.106L38.1189 116.041L36.1887 114.73V111.257L34.9677 110.43L33.3524 112.808L31.6859 111.676ZM37.4686 106.744L35.8534 109.122L37.2357 110.059C37.9576 110.547 38.7511 110.404 39.2426 109.685C39.7264 108.973 39.5728 108.172 38.851 107.683L37.4686 106.746V106.744Z" fill="#50C3E0"/>
|
||||
<path d="M44.539 119.103L47.6082 110.675L52.8252 112.575L52.2544 114.144L48.8831 112.918L48.2328 114.707L51.4199 115.867L50.849 117.436L47.6646 116.276L46.9632 118.204L50.4138 119.461L49.843 121.03L44.5441 119.1L44.539 119.103Z" fill="#50C3E0"/>
|
||||
<path d="M55.0165 122.277L56.3374 115.189L53.862 114.728L54.1845 113L61.1269 114.293L60.8043 116.02L58.3161 115.557L56.9952 122.645L55.0139 122.277H55.0165Z" fill="#50C3E0"/>
|
||||
<path d="M62.824 123.49L62.6781 114.526L64.6927 114.492L64.7516 118.066L68.5351 118.004L68.4762 114.431L70.4908 114.398L70.6367 123.362L68.6221 123.395L68.5632 119.773L64.7798 119.835L64.8386 123.457L62.824 123.49Z" fill="#50C3E0"/>
|
||||
<path d="M74.5354 122.927L72.8715 114.116L78.3265 113.084L78.6363 114.725L75.1114 115.391L75.4646 117.262L78.795 116.632L79.1047 118.273L75.7744 118.903L76.1558 120.917L79.7652 120.234L80.0749 121.875L74.5354 122.922V122.927Z" fill="#50C3E0"/>
|
||||
<path d="M83.5794 120.933L80.3514 112.49L83.6434 111.231C85.7425 110.427 87.4089 110.867 88.1257 112.739L88.1948 112.923C88.6633 114.149 88.4021 115.183 87.5625 115.98L90.8417 118.158L88.6632 118.992L85.8116 117.006L84.4344 117.533L85.4609 120.219L83.5794 120.938V120.933ZM82.8421 113.363L83.8686 116.049L85.4276 115.452C86.2416 115.14 86.5795 114.408 86.2672 113.591C85.96 112.787 85.2151 112.455 84.4011 112.767L82.8421 113.363Z" fill="#50C3E0"/>
|
||||
<path d="M93.614 116.635L88.9807 108.958L93.7343 106.088L94.597 107.519L91.5277 109.373L92.5107 111.003L95.4136 109.252L96.2763 110.683L93.3734 112.434L94.4332 114.19L97.5767 112.293L98.4393 113.724L93.614 116.637V116.635Z" fill="#50C3E0"/>
|
||||
<path d="M98.8745 108.999L95.347 105.018L96.8548 103.682L100.431 107.719C101.212 108.602 102.225 108.707 103.144 107.893C104.063 107.079 104.089 106.07 103.301 105.179L99.7244 101.143L101.232 99.8063L104.76 103.787C106.331 105.561 106.303 107.604 104.391 109.298C102.486 110.983 100.446 110.773 98.8745 108.999Z" fill="#50C3E0"/>
|
||||
<path d="M110.002 103.551L102.702 98.3446L104.314 96.0843L109.605 97.3386L109.741 97.1492L106.818 92.5747L108.459 90.276L115.759 95.4827L114.605 97.1031L108.955 93.0739L111.912 97.7482L110.798 99.3071L105.474 98.0579L111.075 102.051L110.005 103.551H110.002Z" fill="#50C3E0"/>
|
||||
<path d="M115.949 74.8011L115.411 77.4321C115.323 77.8671 115.603 78.2917 116.038 78.3805L118.669 78.9177C119.104 79.0065 119.529 78.7259 119.617 78.2909L120.155 75.6599C120.243 75.225 119.963 74.8004 119.528 74.7116L116.897 74.1744C116.462 74.0856 116.037 74.3662 115.949 74.8011Z" fill="#50C3E0"/>
|
||||
<path d="M16.1075 74.1723L13.4764 74.7095C13.0415 74.7983 12.7609 75.2229 12.8497 75.6578L13.3869 78.2889C13.4757 78.7238 13.9003 79.0044 14.3352 78.9156L16.9663 78.3784C17.4012 78.2896 17.6818 77.865 17.593 77.4301L17.0558 74.7991C16.967 74.3641 16.5424 74.0835 16.1075 74.1723Z" fill="#50C3E0"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 12 KiB |
@@ -53,6 +53,7 @@ module.exports = {
|
||||
900: "#184F62",
|
||||
800: "#175E75",
|
||||
950: "#103241",
|
||||
975: "#081519",
|
||||
},
|
||||
tuatara: {
|
||||
100: "#E5E6E8",
|
||||
|
||||
Reference in New Issue
Block a user