Merge pull request #13 from privacy-scaling-explorations/ft/image-webp
Change png to webp and svg, Resize images, Change tags and font
104
app/page.tsx
@@ -1,20 +1,20 @@
|
||||
import Image from "next/image"
|
||||
import Link from "next/link"
|
||||
import ArrowUpVector from "@/public/arrow-right-up-line.svg"
|
||||
import ArrowRightVector from "@/public/arrowright-vector.png"
|
||||
import PSEIcon1 from "@/public/pseicon-1.svg"
|
||||
import PSEIcon2 from "@/public/pseicon-2.svg"
|
||||
import PSEIcon3 from "@/public/pseicon-3.svg"
|
||||
import PSELogo from "@/public/pselogo-homepage.png"
|
||||
import PSELogo from "@/public/icons/archstar.webp"
|
||||
import ArrowRightVector from "@/public/icons/arrow-right.svg"
|
||||
import PSEIcon1 from "@/public/icons/pseicon1.svg"
|
||||
import PSEIcon2 from "@/public/icons/pseicon2.svg"
|
||||
import PSEIcon3 from "@/public/icons/pseicon3.svg"
|
||||
|
||||
import { siteConfig } from "@/config/site"
|
||||
import WhatWeDo from "@/components/sections/WhatWeDo"
|
||||
import { ArrowRightUp } from "@/components/svgs/arrows"
|
||||
|
||||
export default function IndexPage() {
|
||||
return (
|
||||
<section className="flex flex-col">
|
||||
<div className="flex w-full flex-col gap-5 bg-[#D0F2FF] px-[32px] py-5 md:flex-row md:px-20">
|
||||
<div className="flex w-auto flex-col justify-center gap-5">
|
||||
<div className="flex w-full flex-col justify-between gap-5 bg-[#D0F2FF] px-[32px] py-5 md:flex-row md:px-20">
|
||||
<div className="flex w-full flex-col justify-center gap-5 md:w-[660px]">
|
||||
<h6 className="font-sans text-lg uppercase tracking-[0.2625rem] text-orange lg:text-xl">
|
||||
Privacy + Scaling Explorations
|
||||
</h6>
|
||||
@@ -22,19 +22,21 @@ export default function IndexPage() {
|
||||
Programmable cryptography for people like you
|
||||
</h1>
|
||||
<Link href={"/projects"} className="flex items-center gap-2">
|
||||
<h1 className="border-b-2 border-orange text-base uppercase">
|
||||
Explore The Project Library
|
||||
</h1>
|
||||
<Image
|
||||
src={ArrowRightVector}
|
||||
alt="arrowvector"
|
||||
height={16}
|
||||
width={16}
|
||||
/>
|
||||
<Link href={"/projects"} className="flex items-center gap-2">
|
||||
<h1 className="border-b-2 border-orange text-base uppercase">
|
||||
Explore The Project Library
|
||||
</h1>
|
||||
<Image
|
||||
src={ArrowRightVector}
|
||||
alt="arrowvector"
|
||||
height={24}
|
||||
width={24}
|
||||
/>
|
||||
</Link>
|
||||
</Link>
|
||||
</div>
|
||||
<div className="m-auto flex h-[364px] w-full max-w-[280px] items-center justify-center md:h-full md:w-full lg:max-w-full">
|
||||
<Image src={PSELogo} alt="pselogo" style={{ objectFit: "fill" }} />
|
||||
<div className="m-auto flex h-[364px] w-full max-w-[280px] items-center justify-center md:m-0 md:h-full md:w-full lg:max-w-[542px]">
|
||||
<Image src={PSELogo} alt="pselogo" style={{ objectFit: "cover" }} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -43,13 +45,13 @@ export default function IndexPage() {
|
||||
<div className="flex flex-col items-start justify-center gap-2 lg:flex-row lg:items-center">
|
||||
<div className="flex w-[280px] items-center justify-start gap-2">
|
||||
<Image src={PSEIcon1} alt="pseicon1" height={16} width={16} />
|
||||
<h1 className="text-base font-[700] uppercase tracking-[5px] text-orange">
|
||||
<p className="text-base font-[700] uppercase tracking-wide text-orange">
|
||||
Learn and Share
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<h1 className="text-xl font-[500]">
|
||||
<p className="text-xl font-[500]">
|
||||
Diving into Plonk accumulation via aPlonk by Ralph Toledo
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<Link
|
||||
href={"https://www.youtube.com/live/hRXgf6T2yb8?feature=share"}
|
||||
@@ -57,23 +59,23 @@ export default function IndexPage() {
|
||||
rel="noreferrer"
|
||||
className="flex items-center justify-start gap-5 md:justify-center"
|
||||
>
|
||||
<h1 className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
<p className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
Watch
|
||||
</h1>
|
||||
<Image src={ArrowUpVector} alt="arrowup" height={24} width={24} />
|
||||
</p>
|
||||
<ArrowRightUp color="black" />
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex flex-col justify-between gap-5 border-b border-black px-[32px] py-5 md:flex-row md:gap-0 lg:px-20">
|
||||
<div className="flex flex-col items-start justify-center gap-2 lg:flex-row lg:items-center">
|
||||
<div className="flex w-[280px] items-center justify-start gap-2">
|
||||
<Image src={PSEIcon1} alt="pseicon1" height={16} width={16} />
|
||||
<h1 className="text-base font-[700] uppercase tracking-[5px] text-orange">
|
||||
<p className="text-base font-[700] uppercase tracking-wide text-orange">
|
||||
Learn and Share
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<h1 className="text-xl font-[500]">
|
||||
<p className="text-xl font-[500]">
|
||||
Folding Circom Circuit: A ZKML Case Study - Dr. Cathie So
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<Link
|
||||
href={"https://www.youtube.com/live/jb6HDEtY4CI?feature=share"}
|
||||
@@ -81,21 +83,21 @@ export default function IndexPage() {
|
||||
rel="noreferrer"
|
||||
className="flex items-center justify-start gap-5 md:justify-center"
|
||||
>
|
||||
<h1 className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
<p className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
Watch
|
||||
</h1>
|
||||
<Image src={ArrowUpVector} alt="arrowup" height={24} width={24} />
|
||||
</p>
|
||||
<ArrowRightUp color="black" />
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex flex-col justify-between gap-5 border-b border-black px-[32px] py-5 md:flex-row md:gap-0 lg:px-20">
|
||||
<div className="flex flex-col items-start justify-center gap-2 lg:flex-row lg:items-center">
|
||||
<div className="flex w-[280px] items-center justify-start gap-2">
|
||||
<Image src={PSEIcon2} alt="pseicon1" height={16} width={16} />
|
||||
<h1 className="text-base font-[700] uppercase tracking-[5px] text-orange">
|
||||
<p className="text-base font-[700] uppercase tracking-wide text-orange">
|
||||
Event
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<h1 className="text-xl font-[500]">PSE @ETH Global Paris</h1>
|
||||
<p className="text-xl font-[500]">PSE @ETH Global Paris</p>
|
||||
</div>
|
||||
<Link
|
||||
href={"https://ethglobal.com/events/paris2023"}
|
||||
@@ -103,41 +105,42 @@ export default function IndexPage() {
|
||||
rel="noreferrer"
|
||||
className="flex items-center justify-start gap-5 md:justify-center"
|
||||
>
|
||||
<h1 className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
<p className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
Attend
|
||||
</h1>
|
||||
<Image src={ArrowUpVector} alt="arrowup" height={24} width={24} />
|
||||
</p>
|
||||
<ArrowRightUp color="black" />
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex flex-col justify-between gap-5 border-b border-black px-[32px] py-5 md:flex-row md:gap-0 lg:px-20">
|
||||
<div className="flex flex-col items-start justify-center gap-2 lg:flex-row lg:items-center">
|
||||
<div className="flex w-[280px] items-center justify-start gap-2">
|
||||
<Image src={PSEIcon3} alt="pseicon1" height={16} width={16} />
|
||||
<h1 className="text-base font-bold uppercase tracking-[5px] text-orange">
|
||||
<p className="text-base font-[700] uppercase tracking-wide text-orange">
|
||||
Blog Post
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<h1 className="text-xl font-[500]">
|
||||
<p className="text-xl font-[500]">
|
||||
zkEVM Community Edition Part 3: Logic and Structure
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
<Link
|
||||
href={
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/shl8eMBiObd6_AUBikXZrjKD4fibI6xUZd7d9Yv5ezE"
|
||||
}
|
||||
target="_blank"
|
||||
passHref
|
||||
rel="noreferrer"
|
||||
className="flex items-center justify-start gap-5 md:justify-center"
|
||||
>
|
||||
<h1 className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
<p className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
read
|
||||
</h1>
|
||||
<Image src={ArrowUpVector} alt="arrowup" height={24} width={24} />
|
||||
</p>
|
||||
<ArrowRightUp color="black" />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-32 bg-radial-gradient px-6 py-24 md:px-12">
|
||||
<div className="bg-radial-gradient flex flex-col gap-32 px-6 py-24 md:px-12">
|
||||
<section className="relative grid w-full grid-cols-1 gap-10 overflow-hidden lg:grid-cols-4 lg:gap-0">
|
||||
<h2 className="text-xl uppercase text-orange lg:order-none lg:text-center">
|
||||
Who we are
|
||||
@@ -175,12 +178,7 @@ export default function IndexPage() {
|
||||
<div className="border-b-2 border-orange text-base font-[500] uppercase">
|
||||
Say Hi On Discord
|
||||
</div>
|
||||
<Image
|
||||
src={ArrowUpVector}
|
||||
alt="arrowupvector"
|
||||
height={24}
|
||||
width={24}
|
||||
/>
|
||||
<ArrowRightUp color="black" />
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
"use client"
|
||||
|
||||
import NextImage from "next/image"
|
||||
import NextLink from "next/link"
|
||||
import { usePathname } from "next/navigation"
|
||||
import GithubVector from "@/public/githubblack-vector.svg"
|
||||
import GlobalVector from "@/public/globeblack-vector.svg"
|
||||
import SkyNoMoonBg from "@/public/skynomoon.png"
|
||||
import TwitterVector from "@/public/twitterblack-vector.svg"
|
||||
import GithubVector from "@/public/social-medias/github-fill.svg"
|
||||
import GlobalVector from "@/public/social-medias/global-line.svg"
|
||||
import TwitterVector from "@/public/social-medias/twitter-fill.svg"
|
||||
|
||||
import { projects } from "@/config/projects"
|
||||
import Breadcrumbs from "@/components/breadcrumbs"
|
||||
@@ -28,58 +28,99 @@ export default function ProjectDetailPage() {
|
||||
}
|
||||
})
|
||||
|
||||
const findProject = projects.filter(
|
||||
(project) => String(project.id) === router.split("/").slice(1)[1]
|
||||
)[0]
|
||||
|
||||
const githubLink = findProject.links.github
|
||||
const twitterLink = findProject.links.twitter
|
||||
const websiteLink = findProject.links.website
|
||||
|
||||
return (
|
||||
<section className="flex flex-col items-center">
|
||||
<div className="relative flex h-auto w-full justify-center overflow-hidden md:h-[400px]">
|
||||
<div className="absolute inset-0 z-[10] flex">
|
||||
<div className="aspect-w-2 aspect-h-1">
|
||||
<NextImage
|
||||
src={SkyNoMoonBg}
|
||||
alt="bg"
|
||||
style={{ objectFit: "cover" }}
|
||||
fill={true}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative flex h-auto w-full justify-center overflow-hidden bg-second-gradient md:h-[400px]">
|
||||
<div className="z-[11] flex w-full flex-col justify-center gap-5 p-[24px] md:w-[664px] md:p-0">
|
||||
<Breadcrumbs path={breadcrumbs} />
|
||||
<h1 className="text-2xl font-[700] md:text-3xl">
|
||||
RLN or longer project name goes here
|
||||
{findProject.name}
|
||||
</h1>
|
||||
<div className="flex flex-wrap items-center justify-start gap-5">
|
||||
<div className="flex items-center gap-2">
|
||||
<NextImage src={GithubVector} alt="bg" width={20} height={20} />
|
||||
<h1>Github</h1>
|
||||
</div>{" "}
|
||||
<div className="flex items-center gap-2">
|
||||
<NextImage src={GlobalVector} alt="bg" width={20} height={20} />
|
||||
<h1>Website</h1>
|
||||
</div>{" "}
|
||||
<div className="flex items-center gap-2">
|
||||
<NextImage src={TwitterVector} alt="bg" width={20} height={20} />
|
||||
<h1>Twitter</h1>
|
||||
</div>
|
||||
{githubLink !== "none" && (
|
||||
<NextLink
|
||||
href={findProject.links.github}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<div className="flex items-center gap-2">
|
||||
<NextImage
|
||||
src={GithubVector}
|
||||
alt="bg"
|
||||
width={20}
|
||||
height={20}
|
||||
/>
|
||||
<p>Github</p>
|
||||
</div>
|
||||
</NextLink>
|
||||
)}
|
||||
{websiteLink !== "none" && (
|
||||
<NextLink
|
||||
href={findProject.links.website}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<div className="flex items-center gap-2">
|
||||
<NextImage
|
||||
src={GlobalVector}
|
||||
alt="bg"
|
||||
width={20}
|
||||
height={20}
|
||||
/>
|
||||
<p>Website</p>
|
||||
</div>
|
||||
</NextLink>
|
||||
)}
|
||||
{twitterLink !== "none" && (
|
||||
<NextLink
|
||||
href={findProject.links.twitter}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<div className="flex items-center gap-2">
|
||||
<NextImage
|
||||
src={TwitterVector}
|
||||
alt="bg"
|
||||
width={20}
|
||||
height={20}
|
||||
/>
|
||||
<p>Twitter</p>
|
||||
</div>
|
||||
</NextLink>
|
||||
)}
|
||||
</div>
|
||||
<p className="mt-5 w-full text-lg md:w-[612px]">
|
||||
Lorem ipsum dolor sit amet consectetur. Gravida nibh amet amet
|
||||
tristique. Ornare adipiscing sed semper sed egestas eget sed non
|
||||
faucibus.
|
||||
</p>
|
||||
<p className="mt-5 w-full text-lg md:w-[612px]">{findProject.tldr}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex w-full flex-col items-center justify-center gap-5 bg-anakiwa px-[24px] py-10 md:px-0">
|
||||
<div className="flex h-[464px] w-full items-center justify-center border border-black py-10 md:w-[664px]">
|
||||
<h1>Image Ratio</h1>
|
||||
</div>
|
||||
<div className="flex w-full flex-col gap-5 py-10 text-base md:w-[664px] md:text-lg">
|
||||
<h1>
|
||||
{findProject.image ? (
|
||||
<div className="flex h-auto items-center justify-center">
|
||||
<NextImage
|
||||
src={require(`@/public/projects-logo/${findProject.image}`)}
|
||||
alt="bg"
|
||||
width={664}
|
||||
/>
|
||||
</div>
|
||||
) : (
|
||||
<div />
|
||||
)}
|
||||
<div className="flex w-full flex-col gap-5 py-10 text-base font-normal md:w-[664px] md:text-lg">
|
||||
<p>
|
||||
{`RLN is a protocol that allows one user to punish another user who is
|
||||
abusing the rate limit in an anonymous system. Users can withdraw
|
||||
the offender's stake or reveal their secrets, helping to maintain
|
||||
system integrity via deterrence. RLN is built using the Semaphore
|
||||
protocol.`}
|
||||
</h1>
|
||||
<h1>
|
||||
</p>
|
||||
<p>
|
||||
{`This project is aimed at developers looking to stop spam while
|
||||
preserving anonymity within a system. If you're working on
|
||||
communication systems such as chat apps, client-server
|
||||
@@ -87,7 +128,7 @@ export default function ProjectDetailPage() {
|
||||
maintain privacy and anonymity while preventing abuse in the form of
|
||||
spam and denial of service attacks. This ensures a safer and more
|
||||
enjoyable user experience for your application's users.`}
|
||||
</h1>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
import NextImage from "next/image"
|
||||
import NextLink from "next/link"
|
||||
import { useRouter } from "next/navigation"
|
||||
import GithubVector from "@/public/github-vector.svg"
|
||||
import GlobalVector from "@/public/globe-vector.svg"
|
||||
import SkyNoMoonBg from "@/public/skynomoon.png"
|
||||
import GithubVector from "@/public/social-medias/github-fill.svg"
|
||||
import GlobalVector from "@/public/social-medias/global-line.svg"
|
||||
|
||||
import { projects } from "@/config/projects"
|
||||
|
||||
@@ -14,17 +13,7 @@ export default function ProjectsPage() {
|
||||
|
||||
return (
|
||||
<section className="flex flex-col items-center">
|
||||
<div className="relative flex h-[350px] w-full overflow-hidden md:h-[300px]">
|
||||
<div className="absolute inset-0 z-[10] flex">
|
||||
<div className="aspect-w-2 aspect-h-1">
|
||||
<NextImage
|
||||
src={SkyNoMoonBg}
|
||||
alt="bg"
|
||||
style={{ objectFit: "cover" }}
|
||||
fill={true}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative flex h-[350px] w-full overflow-hidden bg-second-gradient md:h-[300px]">
|
||||
<div className="z-[11] flex w-full flex-col justify-end gap-5 p-[24px] md:p-[32px] lg:p-[64px]">
|
||||
<h1 className="text-4xl font-[700] md:text-5xl md:font-[400]">
|
||||
Explore the project library
|
||||
@@ -37,20 +26,26 @@ export default function ProjectsPage() {
|
||||
</div>
|
||||
<div className="flex w-full flex-col gap-5 bg-anakiwa p-[24px] md:p-[32px] lg:p-[64px]">
|
||||
<h1>Showing 24 projects</h1>
|
||||
<div className="grid grid-cols-1 gap-5 md:grid-cols-2 lg:grid-cols-4">
|
||||
<div className="grid grid-cols-1 gap-5 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5">
|
||||
{projects.map((item, index) => {
|
||||
const githubLink = item.links.find((links) => links?.github)?.github
|
||||
const websiteLink = item.links.find(
|
||||
(links) => links?.website
|
||||
)?.website
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
onClick={() => router.push(`/projects/${item.id}`)}
|
||||
className="flex h-[420px] w-full cursor-pointer flex-col"
|
||||
className="flex h-full w-full cursor-pointer flex-col md:h-[500px]"
|
||||
>
|
||||
<div className="h-[163px] w-full rounded-t-lg bg-[#A3DFF0]" />
|
||||
<div className="flex h-full flex-col justify-between gap-5 rounded-b-lg border-x border-b border-[#ccc] p-5">
|
||||
<div className="flex h-full max-h-full overflow-hidden md:max-h-[163px]">
|
||||
{item.image.length > 0 ? (
|
||||
<NextImage
|
||||
src={require(`@/public/projects-logo/${item.image}`)}
|
||||
alt="githubVector"
|
||||
className="rounded-t-lg"
|
||||
/>
|
||||
) : (
|
||||
<div className="h-[200px] w-full rounded-t-lg bg-[#A3DFF0]" />
|
||||
)}
|
||||
</div>
|
||||
<div className="flex h-full flex-col justify-between gap-5 rounded-b-lg border-x border-b border-[#ccc] bg-white p-5">
|
||||
<h1 className="text-2xl font-bold text-black">{item.name}</h1>
|
||||
<p className="text-base text-black">{item.tldr}</p>
|
||||
<div
|
||||
@@ -58,7 +53,7 @@ export default function ProjectsPage() {
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
>
|
||||
<NextLink
|
||||
href={`${githubLink ? githubLink : ""}`}
|
||||
href={`${item.links.github}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
@@ -71,7 +66,7 @@ export default function ProjectsPage() {
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href={`${websiteLink ? websiteLink : ""}`}
|
||||
href={`${item.links.website}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
@@ -84,7 +79,6 @@ export default function ProjectsPage() {
|
||||
/>
|
||||
</NextLink>
|
||||
</div>
|
||||
<p className="text-xs text-black">updated 2 weeks ago</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import NextImage from "next/image"
|
||||
import Link from "next/link"
|
||||
import { usePathname } from "next/navigation"
|
||||
import PSELogo from "@/public/pselogo-header.svg"
|
||||
import PSELogo from "@/public/logos/header-logo.svg"
|
||||
|
||||
import { NavItem } from "@/types/nav"
|
||||
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
import NextImage from "next/image"
|
||||
import NextLink from "next/link"
|
||||
import ArrowVector from "@/public/arrow-right-up-line.svg"
|
||||
import DiscordLogo from "@/public/discord-white.png"
|
||||
import EllipseLogo from "@/public/ellipse-white.png"
|
||||
import GithubLogo from "@/public/github-white.png"
|
||||
import PSELogo from "@/public/pselogo-footer.svg"
|
||||
import TwitterLogo from "@/public/twitter-white.png"
|
||||
import PSELogo from "@/public/logos/footer-logo.svg"
|
||||
|
||||
import { siteConfig } from "@/config/site"
|
||||
import {
|
||||
Discord,
|
||||
Github,
|
||||
Mirror,
|
||||
Twitter,
|
||||
} from "@/components/svgs/social-medias"
|
||||
|
||||
import { ArrowRightUp } from "./svgs/arrows"
|
||||
|
||||
export function SiteFooter() {
|
||||
return (
|
||||
@@ -36,7 +39,7 @@ export function SiteFooter() {
|
||||
className="flex items-center gap-5 py-5"
|
||||
>
|
||||
JOBS
|
||||
<NextImage src={ArrowVector} alt="arrowup" width={24} height={24} />
|
||||
<ArrowRightUp color="black" />
|
||||
</NextLink>
|
||||
</div>
|
||||
<div className="flex w-full flex-col items-center justify-center gap-5 bg-[#171C1B] py-[40px] text-sm">
|
||||
@@ -46,12 +49,7 @@ export function SiteFooter() {
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={TwitterLogo}
|
||||
alt="twitterlogo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Twitter color="white" />
|
||||
</NextLink>
|
||||
|
||||
<NextLink
|
||||
@@ -59,36 +57,21 @@ export function SiteFooter() {
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={DiscordLogo}
|
||||
alt="discordlogo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Discord color="white" />
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href={siteConfig.links.github}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={GithubLogo}
|
||||
alt="githublogo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Github color="white" />
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href={siteConfig.links.articles}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={EllipseLogo}
|
||||
alt="ellipelogo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Mirror color="white" />
|
||||
</NextLink>
|
||||
</div>
|
||||
<div className="flex gap-5 text-white">
|
||||
|
||||
@@ -3,15 +3,17 @@
|
||||
import { useState } from "react"
|
||||
import NextImage from "next/image"
|
||||
import NextLink from "next/link"
|
||||
import ArrowVector from "@/public/arrow-white-vector.png"
|
||||
import CloseVector from "@/public/close-vector.png"
|
||||
import DiscordLogo from "@/public/discord-white.png"
|
||||
import EllipseLogo from "@/public/ellipse-white.png"
|
||||
import GithubLogo from "@/public/github-white.png"
|
||||
import HeaderVector from "@/public/menu-line.svg"
|
||||
import TwitterLogo from "@/public/twitter-white.png"
|
||||
import ArrowVector from "@/public/icons/arrow-right-up.svg"
|
||||
import CloseVector from "@/public/icons/close-fill.svg"
|
||||
import HeaderVector from "@/public/icons/menu-burger.svg"
|
||||
|
||||
import { siteConfig } from "@/config/site"
|
||||
import {
|
||||
Discord,
|
||||
Github,
|
||||
Mirror,
|
||||
Twitter,
|
||||
} from "@/components/svgs/social-medias"
|
||||
|
||||
export function SiteHeaderMobile() {
|
||||
const [header, setHeader] = useState(false)
|
||||
@@ -40,8 +42,8 @@ export function SiteHeaderMobile() {
|
||||
alt="closeVector"
|
||||
className="cursor-pointer"
|
||||
onClick={() => setHeader(false)}
|
||||
width={15}
|
||||
height={15}
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
</div>
|
||||
<div className="flex w-full flex-col gap-5 px-[16px] text-base font-[500]">
|
||||
@@ -66,7 +68,7 @@ export function SiteHeaderMobile() {
|
||||
className="flex items-center gap-5 border-b-2 border-white p-[16px] pt-0"
|
||||
>
|
||||
JOBS
|
||||
<NextImage src={ArrowVector} alt="logo" width={12} height={12} />
|
||||
<NextImage src={ArrowVector} alt="logo" width={24} height={24} />
|
||||
</NextLink>
|
||||
</div>
|
||||
<div className="flex h-full w-full flex-col items-center justify-end gap-5 py-[40px] text-sm">
|
||||
@@ -76,12 +78,7 @@ export function SiteHeaderMobile() {
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={TwitterLogo}
|
||||
alt="logo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Twitter color="white" />{" "}
|
||||
</NextLink>
|
||||
|
||||
<NextLink
|
||||
@@ -89,31 +86,21 @@ export function SiteHeaderMobile() {
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={DiscordLogo}
|
||||
alt="logo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Discord color="white" />{" "}
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href={siteConfig.links.github}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage src={GithubLogo} alt="logo" width={24} height={24} />
|
||||
<Github color="white" />{" "}
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href={siteConfig.links.articles}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage
|
||||
src={EllipseLogo}
|
||||
alt="logo"
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
<Mirror color="white" />{" "}
|
||||
</NextLink>
|
||||
</div>
|
||||
<div className="flex gap-5 text-white">
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import NextImage from "next/image"
|
||||
import Link from "next/link"
|
||||
import DiscordLogo from "@/public/discord.png"
|
||||
import EllipseLogo from "@/public/ellipse.png"
|
||||
import GithubLogo from "@/public/github.png"
|
||||
import TwitterLogo from "@/public/twitter.png"
|
||||
|
||||
import { siteConfig } from "@/config/site"
|
||||
import { MainNav } from "@/components/main-nav"
|
||||
import {
|
||||
Discord,
|
||||
Github,
|
||||
Mirror,
|
||||
Twitter,
|
||||
} from "@/components/svgs/social-medias"
|
||||
|
||||
import { SiteHeaderMobile } from "./site-header-mobile"
|
||||
|
||||
@@ -23,28 +24,28 @@ export function SiteHeader() {
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage src={TwitterLogo} alt="logo" width={24} height={24} />
|
||||
<Twitter color="black" />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage src={DiscordLogo} alt="logo" width={24} height={24} />
|
||||
<Discord color="black" />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.github}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage src={GithubLogo} alt="logo" width={24} height={24} />
|
||||
<Github color="black" />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.articles}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<NextImage src={EllipseLogo} alt="logo" width={24} height={24} />
|
||||
<Mirror color="black" />
|
||||
</Link>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
30
components/svgs/arrows.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
import React from "react"
|
||||
|
||||
interface MySvgProps {
|
||||
color: "white" | "black"
|
||||
}
|
||||
|
||||
export const ArrowRightUp = ({ color }: MySvgProps) => {
|
||||
return (
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g id="arrow-right-up-line" clipPath="url(#clip0_3593_2234)">
|
||||
<path
|
||||
id="Vector"
|
||||
d="M16.0034 9.414L7.39642 18.021L5.98242 16.607L14.5884 8H7.00342V6H18.0034V17H16.0034V9.414Z"
|
||||
fill={color}
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_2234">
|
||||
<rect width="24" height="24" fill={color} />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
137
components/svgs/social-medias.tsx
Normal file
@@ -0,0 +1,137 @@
|
||||
import React from "react"
|
||||
|
||||
interface MySvgProps {
|
||||
color: string
|
||||
}
|
||||
|
||||
export const Github = ({ color }: MySvgProps) => {
|
||||
return (
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g id="github">
|
||||
<path
|
||||
id="githab"
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12ZM6 12.1257C6 8.8229 8.67888 6.144 11.9816 6.144C15.2844 6.144 17.9633 8.8229 18 12.1257C18 14.7679 16.3119 17.0064 13.9266 17.8137C13.633 17.8504 13.5229 17.6669 13.5229 17.5201V15.8688C13.5229 15.3183 13.3395 14.9513 13.1193 14.7679C14.4404 14.6211 15.8349 14.144 15.8349 11.8321C15.8349 11.1715 15.578 10.6211 15.211 10.2174C15.2139 10.2059 15.2179 10.1914 15.2227 10.1741C15.2789 9.97146 15.4419 9.38333 15.1376 8.63941C15.1376 8.63941 14.6239 8.49263 13.4862 9.26327C13.0092 9.15318 12.4954 9.07978 11.9816 9.07978C11.4679 9.07978 10.9541 9.11648 10.4771 9.26327C9.33943 8.49263 8.82568 8.63941 8.82568 8.63941C8.50136 9.43223 8.70786 10.0481 8.75015 10.1743L8.7523 10.1807C8.3486 10.6211 8.12842 11.1348 8.12842 11.7954C8.12842 14.1073 9.52295 14.6211 10.8441 14.7679C10.6973 14.9146 10.5138 15.1715 10.4771 15.5752C10.1468 15.722 9.30276 15.9789 8.7523 15.0614C8.7523 15.0614 8.42203 14.4743 7.83485 14.4376C7.83485 14.4376 7.24773 14.4376 7.79819 14.8046C7.79819 14.8046 8.20184 14.988 8.45869 15.6853C8.45869 15.6853 8.82568 16.8596 10.4771 16.4926V17.5201C10.4771 17.6669 10.367 17.8504 10.0734 17.8137C7.72476 17.0064 6 14.7679 6 12.1257Z"
|
||||
fill={color}
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const Global = ({ color }: MySvgProps) => {
|
||||
return (
|
||||
<svg
|
||||
width="25"
|
||||
height="24"
|
||||
viewBox="0 0 25 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g id="global-line" clip-path="url(#clip0_3593_4165)">
|
||||
<path
|
||||
id="Vector"
|
||||
d="M12.5205 22C6.99751 22 2.52051 17.523 2.52051 12C2.52051 6.477 6.99751 2 12.5205 2C18.0435 2 22.5205 6.477 22.5205 12C22.5205 17.523 18.0435 22 12.5205 22ZM10.2305 19.667C9.24392 17.5743 8.67238 15.3102 8.54751 13H4.58251C4.77709 14.5389 5.41443 15.9882 6.41708 17.1717C7.41972 18.3552 8.74452 19.2221 10.2305 19.667ZM10.5505 13C10.7015 15.439 11.3985 17.73 12.5205 19.752C13.6728 17.6766 14.346 15.3695 14.4905 13H10.5505ZM20.4585 13H16.4935C16.3686 15.3102 15.7971 17.5743 14.8105 19.667C16.2965 19.2221 17.6213 18.3552 18.6239 17.1717C19.6266 15.9882 20.2639 14.5389 20.4585 13ZM4.58251 11H8.54751C8.67238 8.68979 9.24392 6.42569 10.2305 4.333C8.74452 4.77788 7.41972 5.64475 6.41708 6.8283C5.41443 8.01184 4.77709 9.4611 4.58251 11ZM10.5515 11H14.4895C14.3453 8.6306 13.6725 6.32353 12.5205 4.248C11.3682 6.32345 10.6951 8.63052 10.5505 11H10.5515ZM14.8105 4.333C15.7971 6.42569 16.3686 8.68979 16.4935 11H20.4585C20.2639 9.4611 19.6266 8.01184 18.6239 6.8283C17.6213 5.64475 16.2965 4.77788 14.8105 4.333Z"
|
||||
fill={color}
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_4165">
|
||||
<rect
|
||||
width="24"
|
||||
height="24"
|
||||
fill={color}
|
||||
transform="translate(0.520508)"
|
||||
/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const Discord = ({ color }: MySvgProps) => {
|
||||
return (
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g id="discord">
|
||||
<g id="discord_2">
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M13.308 14.1C13.488 14.328 13.704 14.586 13.704 14.586C15.03 14.544 15.54 13.674 15.54 13.674C15.54 11.742 14.676 10.176 14.676 10.176C13.812 9.528 12.99 9.546 12.99 9.546L12.906 9.642C13.926 9.954 14.4 10.404 14.4 10.404C13.776 10.062 13.164 9.894 12.594 9.828C12.162 9.78 11.748 9.792 11.382 9.84C11.3506 9.84 11.3237 9.84457 11.2934 9.84973L11.28 9.852C11.07 9.87 10.56 9.948 9.918 10.23C9.696 10.332 9.564 10.404 9.564 10.404C9.564 10.404 10.062 9.93 11.142 9.618L11.082 9.546C11.082 9.546 10.26 9.528 9.396 10.176C9.396 10.176 8.532 11.742 8.532 13.674C8.532 13.674 9.036 14.544 10.362 14.586C10.362 14.586 10.584 14.316 10.764 14.088C10.002 13.86 9.714 13.38 9.714 13.38C9.714 13.38 9.774 13.422 9.882 13.482C9.888 13.488 9.894 13.494 9.906 13.5C9.915 13.506 9.924 13.5105 9.933 13.515C9.942 13.5195 9.951 13.524 9.96 13.53C10.11 13.614 10.26 13.68 10.398 13.734C10.644 13.83 10.938 13.926 11.28 13.992C11.73 14.076 12.258 14.106 12.834 13.998C13.116 13.95 13.404 13.866 13.704 13.74C13.914 13.662 14.148 13.548 14.394 13.386C14.394 13.386 14.094 13.878 13.308 14.1ZM10.302 12.45C10.302 12.084 10.572 11.784 10.914 11.784C11.256 11.784 11.532 12.084 11.526 12.45C11.526 12.816 11.256 13.116 10.914 13.116C10.578 13.116 10.302 12.816 10.302 12.45ZM12.492 12.45C12.492 12.084 12.762 11.784 13.104 11.784C13.446 11.784 13.716 12.084 13.716 12.45C13.716 12.816 13.446 13.116 13.104 13.116C12.768 13.116 12.492 12.816 12.492 12.45Z"
|
||||
fill={color}
|
||||
/>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0ZM6.75 7.986C6.75 7.302 7.302 6.75 7.98 6.75H16.02C16.698 6.75 17.25 7.302 17.25 7.986V18.75L15.96 17.61L15.234 16.938L14.466 16.224L14.784 17.334H7.98C7.302 17.334 6.75 16.782 6.75 16.098V7.986Z"
|
||||
fill={color}
|
||||
/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const Twitter = ({ color }: MySvgProps) => {
|
||||
return (
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g id="twitter">
|
||||
<path
|
||||
id="twitter_2"
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12ZM16.575 8.625C17.1 8.55 17.55 8.475 18 8.25C17.7 8.775 17.25 9.225 16.725 9.525C16.875 13.05 14.325 16.875 9.75 16.875C8.4 16.875 7.125 16.425 6 15.75C7.275 15.9 8.625 15.525 9.525 14.85C8.4 14.85 7.5 14.1 7.2 13.125C7.575 13.2 7.95 13.125 8.325 13.05C7.2 12.75 6.375 11.7 6.375 10.575C6.75 10.725 7.125 10.875 7.5 10.875C6.45 10.125 6.075 8.7 6.75 7.575C8.025 9.075 9.825 10.05 11.85 10.125C11.475 8.625 12.675 7.125 14.25 7.125C14.925 7.125 15.6 7.425 16.05 7.875C16.65 7.725 17.175 7.575 17.625 7.275C17.475 7.875 17.1 8.325 16.575 8.625Z"
|
||||
fill={color}
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const Mirror = ({ color }: MySvgProps) => {
|
||||
return (
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g id="Mirror">
|
||||
<g clipPath="url(#clip0_2615_9659)">
|
||||
<path
|
||||
id="Subtract"
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM12.1091 6C9.39788 6 7.2 8.19788 7.2 10.9091V17.7515C7.2 17.8887 7.31127 18 7.44852 18H16.7697C16.9069 18 17.0182 17.8887 17.0182 17.7515V10.9091C17.0182 8.19787 14.8203 6 12.1091 6Z"
|
||||
fill={color}
|
||||
/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2615_9659">
|
||||
<rect width="24" height="24" rx="12" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
@@ -1,244 +1,230 @@
|
||||
export const projects = [
|
||||
{
|
||||
id: 1,
|
||||
image: "rlnlogo.webp",
|
||||
name: "Rate-Limiting Nullifier",
|
||||
tldr: "A protocol for deterring spam and maintaining anonymity in communication systems.",
|
||||
description:
|
||||
"Rate-Limiting Nullifier (RLN) is a protocol designed to combat spam and denial of service attacks in privacy-preserving environments. It allows users in an anonymous system to penalize those who exceed the rate limit, either by withdrawing the offender's stake or revealing their secrets. This mechanism helps maintain system integrity and deters abuse. RLN is built on the Semaphore protocol and uses zero-knowledge proofs and the Shamir’s Secret Sharing scheme to reveal the spammer's private key. It's particularly useful for developers working on communication systems that require privacy and anonymity, such as chat apps, client-server communications, and peer-to-peer communications. It's already being used in projects like Zerokit and Waku, and is also being developed for use with the KZG polynomial commitment scheme.",
|
||||
links: [
|
||||
{ website: "https://rate-limiting-nullifier.github.io/rln-docs/" },
|
||||
{ github: "https://github.com/Rate-Limiting-Nullifier/circom-rln" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy"] },
|
||||
{ types: ["Infrastructure/protocol"] },
|
||||
{ builtWith: ["Circom", "Solidity", "Semaphore"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/Rate-Limiting-Nullifier/circom-rln",
|
||||
website: "https://rate-limiting-nullifier.github.io/rln-docs/",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy"],
|
||||
types: ["Infrastructure/protocol"],
|
||||
builtWith: ["Circom", "Solidity", "Semaphore"],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
image: "zkitterlogo.webp",
|
||||
name: "Zkitter",
|
||||
tldr: "A decentralized social network prioritizing privacy and anonymity",
|
||||
description:
|
||||
"Zkitter is a decentralized social network that emphasizes privacy by default. It allows users to share thoughts and communicate in various modes: as known identities, as a member of a group, or entirely anonymously. Built with Semaphore and RLN, Zkitter offers familiar social media features such as posting, chatting, following, and liking, but with a strong focus on user privacy and anonymity. It serves as an experiment to explore new ways of engaging in conversations without the fear of damaging one’s personal reputation and is an example of a user-facing application using zero-knowledge primitives such as Semaphore, CryptKeeper, ZK-Chat, and Interep. Users can sign up using an Ethereum address or ENS name, or create an anonymous account, with options for anonymous chat and posting.",
|
||||
links: [
|
||||
{ website: "https://www.zkitter.com/explore/" },
|
||||
{ github: "https://github.com/zkitter" },
|
||||
{ twitter: "" },
|
||||
{ discord: "https://discord.gg/Em4Z9yE8eW" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Social", "Identity"] },
|
||||
{ types: ["Application", "Infrastructure/protocol"] },
|
||||
{ builtWith: ["Semaphore", "RLN", "Interep", "zkchat"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/zkitter",
|
||||
website: "https://www.zkitter.com/explore/",
|
||||
twitter: "none",
|
||||
discord: "https://discord.gg/Em4Z9yE8eW",
|
||||
},
|
||||
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Social", "Identity"],
|
||||
types: ["Application", "Infrastructure/protocol"],
|
||||
builtWith: ["Semaphore", "RLN", "Interep", "zkchat"],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
|
||||
image: "macilogo.webp",
|
||||
name: "MACI",
|
||||
tldr: "A secure e-voting solution minimizing the risk of collusion and bribery",
|
||||
description:
|
||||
"Minimal Anti-Collusion Infrastructure (MACI) is a protocol designed to provide a highly secure e-voting solution. It enables organizations to conduct on-chain voting processes with a significantly reduced risk of cheating, such as bribery or collusion. MACI uses zero-knowledge proofs to implement a receipt-free voting scheme, making it impossible for anyone other than the vote coordinator to verify how a specific user voted. This ensures the correct execution of votes and allows anyone to verify the results. It's particularly beneficial for governance and funding events, where its anti-collusion mechanisms help ensure fair and transparent outcomes.",
|
||||
links: [
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/ltCt68hslI5jmMf1AnfkrP2eUwkeZ8_fgkHc_WyD9Nc",
|
||||
},
|
||||
{ github: "https://github.com/privacy-scaling-explorations/maci" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Voting/governance"] },
|
||||
{ types: ["Lego sets/toolkits", "Infrastructure/protocol"] },
|
||||
{ builtWith: ["P0tion", "JubjubLib"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/maci",
|
||||
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/ltCt68hslI5jmMf1AnfkrP2eUwkeZ8_fgkHc_WyD9Nc",
|
||||
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Voting/governance"],
|
||||
types: ["Lego sets/toolkits", "Infrastructure/protocol"],
|
||||
builtWith: ["P0tion", "JubjubLib"],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
|
||||
image: "waxlogo.webp",
|
||||
name: "WAX: Wallet Account eXperiments",
|
||||
tldr: "Streamlining web3 product development with smart account components for enhanced wallets, dApps, and SDKs.",
|
||||
description:
|
||||
"Wallet Account eXperiments (WAX), formerly known as BLS Wallet, is a suite of production-ready smart account components that provide advanced features for wallets, SDKs, and dApps. It's designed to lower gas costs on EVM rollups through aggregated BLS signatures, simplifying the integration of contract wallets and reducing the cost of layer 2 transactions. This makes WAX particularly beneficial for web3 projects targeting developing economies. WAX components incorporate advanced cryptographic primitives in a secure and intuitive way, using Safe contracts for a familiar and battle-tested foundation. Each additional module can be audited and added or removed at the account holder's discretion. WAX offers features like cheaper L2 transactions, modular smart contract components, ERC 4337 compatibility, zk email verification, passkeys verification, multi-action transactions, gasless transactions, and wallet upgradability. The primary use cases for WAX include scaling, key management, and the creation of prototypes for the web3 ecosystem.",
|
||||
links: [
|
||||
{ website: "https://getwax.org/" },
|
||||
{ github: "https://github.com/getwax" },
|
||||
{ twitter: "" },
|
||||
{ discord: "https://discord.gg/hGDmAhcRyz" },
|
||||
],
|
||||
tags: [
|
||||
{
|
||||
builtWith: [
|
||||
"Hardhat",
|
||||
"Node",
|
||||
"Solidity BLS library",
|
||||
"sqlite",
|
||||
"docker",
|
||||
"ethers",
|
||||
"deno",
|
||||
],
|
||||
},
|
||||
{ themes: ["Scaling", "Key management"] },
|
||||
{ types: ["Prototype", "Proof of concept", "Lego sets/toolkits"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/getwax",
|
||||
website: "https://getwax.org/",
|
||||
twitter: "none",
|
||||
discord: "https://discord.gg/hGDmAhcRyz",
|
||||
},
|
||||
tags: {
|
||||
builtWith: [
|
||||
"Hardhat",
|
||||
"Node",
|
||||
"Solidity BLS library",
|
||||
"sqlite",
|
||||
"docker",
|
||||
"ethers",
|
||||
"deno",
|
||||
],
|
||||
|
||||
themes: ["Scaling", "Key management"],
|
||||
types: ["Prototype", "Proof of concept", "Lego sets/toolkits"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 5,
|
||||
|
||||
image: "",
|
||||
name: "ZK-Chat",
|
||||
tldr: "A protocol for integrating decentralized, anonymous, and spam-protected chat into applications.",
|
||||
description:
|
||||
"ZK-Chat is a protocol that enables developers to incorporate decentralized, anonymous chat features into their applications, complete with spam protection and anonymous group signaling. It uses Waku decentralized messaging, Semaphore for anonymous signaling, and Rate-Limiting Nullifier (RLN) for spam prevention. This creates a decentralized, client-server model that offers unstoppable, anonymous chat with registry on-chain. It's designed for both developers and users, offering an app and a library for easy integration into various applications.",
|
||||
links: [
|
||||
{ github: "https://github.com/kayleegeorge/zk-chat//" },
|
||||
{
|
||||
website:
|
||||
"https://www.notion.so/6649797a76ed4858933015360fc76650?pvs=21",
|
||||
},
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Social"] },
|
||||
{ types: ["Legos/dev tools", "Proof of concept", "Application"] },
|
||||
{ builtWith: ["RLN", "Semaphore", "Waku"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/kayleegeorge/zk-chat//",
|
||||
|
||||
website: "https://www.notion.so/6649797a76ed4858933015360fc76650?pvs=21",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Social"],
|
||||
types: ["Legos/dev tools", "Proof of concept", "Application"],
|
||||
builtWith: ["RLN", "Semaphore", "Waku"],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
|
||||
image: "cryptkeeperlogo.webp",
|
||||
name: "CryptKeeper",
|
||||
tldr: "A browser extension for secure, portable anonymous identity management across applications.",
|
||||
description:
|
||||
"CryptKeeper is a browser extension that generates Semaphore and RLN proofs for websites, providing a secure and portable solution for managing anonymous identity secrets across different applications. It simplifies the integration of zero-knowledge (ZK) identities and proofs into applications, allowing developers to focus on building the front-end and logic of their applications. By handling complex aspects of cryptography, circuits, caching, and storage, CryptKeeper enables users to interact with decentralized applications (dapps) without revealing their private identity secrets. It is aimed at building secure community standards for the growing ZK ecosystem.",
|
||||
links: [
|
||||
{ github: "https://github.com/CryptKeeperZK" },
|
||||
{ website: "" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Anonymity/privacy", "Social", "Identity"] },
|
||||
{
|
||||
types: ["Application", "Infrastructure/protocol", "Lego sets/toolkits"],
|
||||
},
|
||||
{ builtWith: ["Semaphore", "RLN"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/CryptKeeperZK",
|
||||
website: "none",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Social", "Identity"],
|
||||
types: ["Application", "Infrastructure/protocol", "Lego sets/toolkits"],
|
||||
|
||||
builtWith: ["Semaphore", "RLN"],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
|
||||
image: "semaphorelogo.webp",
|
||||
name: "Semaphore",
|
||||
tldr: "A zero-knowledge protocol enabling anonymous group membership proof and signaling.",
|
||||
description:
|
||||
"Semaphore is a protocol that allows users to prove their membership in a group and transmit anonymous data, such as votes or feedback, without revealing their identities. It is designed for developers aiming to build privacy-preserving applications. Semaphore enables the creation of identities and their corresponding public values, which can be added to Merkle trees. This facilitates the authentication of anonymous user messages through zero-knowledge proofs, where membership is proven using Merkle proofs within the circuit. Key use cases include anonymous voting applications, receiving anonymous feedback from event attendees, and anonymous text messages. It is currently in production and is being used in a wide variety of projects.",
|
||||
links: [
|
||||
{ github: "https://github.com/semaphore-protocol" },
|
||||
{ website: "https://semaphore.appliedzkp.org/" },
|
||||
{ discord: "https://semaphore.appliedzkp.org/discord" },
|
||||
{ twitter: "" },
|
||||
],
|
||||
tags: [
|
||||
{
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Social",
|
||||
"Identity",
|
||||
"Transaction privacy",
|
||||
"Voting/governance",
|
||||
"Reputation",
|
||||
"Education",
|
||||
"Scaling",
|
||||
"Key management",
|
||||
"Other (group membership)",
|
||||
],
|
||||
},
|
||||
{
|
||||
types: [
|
||||
"Legos/dev tools",
|
||||
"Lego sets/toolkits",
|
||||
"Infrastructure/protocol",
|
||||
],
|
||||
},
|
||||
{ builtWith: ["ZK-kit", "circom", "snarkjs"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/semaphore-protocol",
|
||||
website: "https://semaphore.appliedzkp.org/",
|
||||
twitter: "none",
|
||||
discord: "https://semaphore.appliedzkp.org/discord",
|
||||
},
|
||||
tags: {
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Social",
|
||||
"Identity",
|
||||
"Transaction privacy",
|
||||
"Voting/governance",
|
||||
"Reputation",
|
||||
"Education",
|
||||
"Scaling",
|
||||
"Key management",
|
||||
"Other (group membership)",
|
||||
],
|
||||
|
||||
types: [
|
||||
"Legos/dev tools",
|
||||
"Lego sets/toolkits",
|
||||
"Infrastructure/protocol",
|
||||
],
|
||||
builtWith: ["ZK-kit", "circom", "snarkjs"],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
|
||||
image: "",
|
||||
name: "PSE Security",
|
||||
tldr: "Proactively securing Ethereum's L2 and ZK ecosystems.",
|
||||
description:
|
||||
"PSE Security is a division of the Privacy & Scaling Explorations team at the Ethereum Foundation. Its primary goal is to identify and rectify bugs, thereby enhancing the security of the Ethereum Layer 2 and Zero-Knowledge ecosystems. Recognizing the potential for critical bugs to cause significant setbacks, PSE Security is committed to preemptively addressing these issues. The team offers open-source projects like the ZK Bug Tracker and Bridge Bug Tracker, which track real bugs and exploits in production code, and encourages community contributions. PSE Security also conducts manual audits and plans to help teach the community more about security and ways they can prevent bugs themselves.",
|
||||
links: [
|
||||
{ github: "https://github.com/privacy-scaling-explorations/security" },
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/BaqGMfBhEZR1cvTJlA9E3Xu5ZhD7IthLiUK-Q75rQMM",
|
||||
},
|
||||
{ discord: "" },
|
||||
{ twitter: "" },
|
||||
],
|
||||
tags: [
|
||||
{
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Education",
|
||||
"Key management",
|
||||
"Scaling",
|
||||
"Security",
|
||||
],
|
||||
},
|
||||
{ types: ["Legos/dev tools"] },
|
||||
{ builtWith: ["Slither", "Ecne", "Circomspect", "Echidna"] },
|
||||
{ themes: [] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/security",
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/BaqGMfBhEZR1cvTJlA9E3Xu5ZhD7IthLiUK-Q75rQMM",
|
||||
discord: "none",
|
||||
twitter: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
"Education",
|
||||
"Key management",
|
||||
"Scaling",
|
||||
"Security",
|
||||
],
|
||||
types: ["Legos/dev tools"],
|
||||
builtWith: ["Slither", "Ecne", "Circomspect", "Echidna"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 9,
|
||||
|
||||
image: "",
|
||||
name: "zkEVM Community Edition",
|
||||
tldr: "A zero-knowledge proof mechanism for Ethereum block verification.",
|
||||
description:
|
||||
"zkEVM Community Edition is a project aimed at validating Ethereum blocks using zero-knowledge proofs. It is designed to be fully compatible with Ethereum's EVM and serves two primary goals. First, it enables the creation of a layer 2 network (zkRollup) compatible with the Ethereum ecosystem, which uses zero-knowledge proofs to validate blocks, thus enhancing scalability. Second, it allows the generation of zero-knowledge proofs for blocks from the existing layer 1 Ethereum network, enabling light clients to quickly synchronize many blocks with low resource consumption while ensuring block correctness without needing trust in external parties.",
|
||||
links: [
|
||||
{
|
||||
github:
|
||||
"https://github.com/privacy-scaling-explorations/zkevm-circuits",
|
||||
},
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/I5BzurX-T6slFaPbA4i3hVrO7U2VkBR45eO-N3CSnSg",
|
||||
},
|
||||
],
|
||||
tags: [
|
||||
{ themes: ["Scaling"] },
|
||||
{ types: ["Infrastructure/protocol", "Lego sets/toolkits"] },
|
||||
{ builtWith: ["halo2 from zcash", "Rust", "geth"] },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/zkevm-circuits",
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/I5BzurX-T6slFaPbA4i3hVrO7U2VkBR45eO-N3CSnSg",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Scaling"],
|
||||
types: ["Infrastructure/protocol", "Lego sets/toolkits"],
|
||||
builtWith: ["halo2 from zcash", "Rust", "geth"],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
id: 10,
|
||||
|
||||
image: "bandadalogo.webp",
|
||||
name: "Bandada",
|
||||
tldr: "An open-source system for managing privacy-preserving groups of anonymous individuals.",
|
||||
description:
|
||||
"Bandada is a project designed to simplify the management of privacy-preserving Semaphore groups. It is aimed at developers who want to build privacy-based applications and integrate anonymity sets, as well as non-developers working in DAOs, governments, international institutions, non-profit organizations, and associations that want to create and manage anonymous groups. Bandada offers a plug-and-play infrastructure, reducing the time and complexity required for managing anonymity sets. It enables anonymous signaling, such as voting, messaging, login, or endorsing, in various use cases like private organizations, GitHub repository contributors, and groups of wallets holding a specific NFT.",
|
||||
links: [
|
||||
{ github: "https://github.com/privacy-scaling-explorations/bandada" },
|
||||
{ website: "https://bandada.appliedzkp.org/" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/bandada",
|
||||
website: "https://bandada.appliedzkp.org/",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: [
|
||||
"Anonymity/privacy",
|
||||
@@ -266,17 +252,17 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 11,
|
||||
|
||||
image: "",
|
||||
name: "DSL Working Group",
|
||||
tldr: "Exploration of languages for writing zk circuits",
|
||||
description:
|
||||
"The DSL Working Group is focused on the exploration and improvement of languages used to write zero-knowledge circuits. The group's primary goal is to enhance the state of zk circuit languages, making them easier to write and review by offering the right abstractions. They also aim to make it harder to write unsound circuits by implementing static analysis and enforcing safer patterns. Additionally, they are working to support next-generation (Incrementally Verifiable Computation or IVC) proving systems. The group is currently working on Chiquito, a high-level Domain-Specific Language (DSL) for Halo2 circuits that lowers the entry barrier to write zk circuits with a state-machine abstraction API.",
|
||||
links: [
|
||||
{ github: "https://github.com/privacy-scaling-explorations/chiquito/" },
|
||||
{ website: "" },
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/chiquito/",
|
||||
website: "none",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
type: ["Legos/dev tools", "Proof of concept", "Developer tooling"],
|
||||
themes: [],
|
||||
@@ -286,20 +272,19 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 12,
|
||||
|
||||
image: "",
|
||||
name: "ZKML (Zero-Knowledge Machine Learning)",
|
||||
tldr: "ZKML leverages zero-knowledge proofs for privacy-preserving machine learning, enabling model and data privacy with transparent verification.",
|
||||
description:
|
||||
"ZKML is a solution that combines the power of zero-knowledge proofs (ZKPs) and machine learning to address the privacy concerns in traditional machine learning. It provides a platform for machine learning developers to convert their TensorFlow Keras models into ZK-compatible versions, ensuring model privacy, data privacy, and transparent verification. ZKML can be used to verify if a specific machine learning model was used to generate a particular piece of content, without revealing the input or the model used. It has potential use cases in on-chain biometric authentication, private data marketplace, proprietary ML model sharing, and AIGC NFTs.",
|
||||
links: [
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
{ github: "https://github.com/socathie" },
|
||||
{
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/K88lOS4XegJGzMoav9K5bLuT9Zhn3Hz2KkhB3ITq-m8",
|
||||
},
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/socathie",
|
||||
|
||||
website:
|
||||
"https://mirror.xyz/privacy-scaling-explorations.eth/K88lOS4XegJGzMoav9K5bLuT9Zhn3Hz2KkhB3ITq-m8",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Scaling"],
|
||||
type: ["Proof of concept", "Infrastructure/protocol"],
|
||||
@@ -309,21 +294,18 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 13,
|
||||
|
||||
image: "",
|
||||
name: "Trusted Setups",
|
||||
tldr: "Aiding developers with tools for trusted setups.",
|
||||
description:
|
||||
"The Trusted Setups project is dedicated to simplifying the process of trusted setups, which are crucial for privacy or scaling solutions. Trusted setups involve multiple participants contributing to the generation of secrets. As long as one participant forgets their part of the secret, the final solution remains secure. The team recognizes the complexity of developing contribution programs and coordinating the participants' queue in a trusted setup. To address this, they are developing tools, including scripts, WebApps, and APIs, to streamline the contribution and coordination effort. This allows developers to focus on building their circuits and applications, enhancing efficiency and productivity in the development of zero-knowledge applications.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/zkparty",
|
||||
},
|
||||
{
|
||||
website: "https://docs.google.com/presentation/d/1dTKWaZDPCZFI5W",
|
||||
},
|
||||
{ twitter: "" },
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/zkparty",
|
||||
|
||||
website: "https://docs.google.com/presentation/d/1dTKWaZDPCZFI5W",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Scaling", "Education"],
|
||||
type: ["Legos/dev tools", "Lego sets/toolkits"],
|
||||
@@ -333,24 +315,17 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 14,
|
||||
|
||||
image: "",
|
||||
name: "zk3",
|
||||
tldr: "Utilizing ZK proofs in social networks",
|
||||
description:
|
||||
"Zk3 is a protocol that leverages Zero Knowledge Proofs (ZKPs) to allow users to prove their membership in a group without revealing their identity. This is particularly useful for social media applications built on Lens or other on-chain platforms. The protocol helps to moderate conversations and reduce bot activity while preserving user privacy. It provides developers with the tools to verify group eligibility, create ZK proofs, and use ZK proofs in Lens. ZK3 consists of a smart contract system for user interactions and network rules, and a GraphQL API for flexible interaction, enabling the development of diverse applications, including web 2.0 integrations.",
|
||||
links: [
|
||||
{
|
||||
github: "http://github.com/monemetrics/semaphore-zk3",
|
||||
},
|
||||
{
|
||||
website: "http://zk3.io/",
|
||||
},
|
||||
{
|
||||
twitter: "http://twitter.com/zk3org",
|
||||
},
|
||||
{ discord: "" },
|
||||
,
|
||||
],
|
||||
links: {
|
||||
github: "http://github.com/monemetrics/semaphore-zk3",
|
||||
website: "http://zk3.io/",
|
||||
twitter: "http://twitter.com/zk3org",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Social", "Identity", "Reputation"],
|
||||
type: [
|
||||
@@ -365,23 +340,17 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 15,
|
||||
|
||||
image: "tlsnlogo.webp",
|
||||
name: "TLSNotary",
|
||||
tldr: "A protocol for creating cryptographic proofs of authenticity for any data on the web.",
|
||||
description:
|
||||
"TLSNotary is useful for developers of privacy focused projects that need data provenance from secure web servers. It leverages the widely-used Transport Layer Security (TLS) protocol to securely and privately prove a transcript of communications took place with a webserver. The protocol involves splitting TLS session keys between two parties: the User and the Notary. Neither the User nor Notary are in possession of the full TLS session keys, they only hold a share of those keys. This ensures the security assumptions of TLS while enabling the User to prove the authenticity of the communication to the Notary. The Notary remains unaware of which webserver is being queried, and the Notary never has access to the unencrypted communications. All of this is achieved while maintaining full privacy.",
|
||||
links: [
|
||||
{
|
||||
github: "",
|
||||
},
|
||||
{
|
||||
website: "",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "none",
|
||||
website: "none",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: [],
|
||||
type: [],
|
||||
@@ -391,23 +360,17 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 16,
|
||||
|
||||
image: "",
|
||||
name: "EigenTrust",
|
||||
tldr: "A distributed reputation system with zero-knowledge features.",
|
||||
description:
|
||||
"EigenTrust is a library designed to manage trust within a distributed network, incorporating zero-knowledge features. It serves as a reputation bank for the Ethereum ecosystem, providing an interoperable layer for managing reputation and trust. The protocol creates zero-knowledge proofs of reputation scores based on ratings given by network participants. This allows for the creation of a reputation system for peer-to-peer marketplaces and exchanges, reputation-weighted voting, and community gatekeeping.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/eigen-trust/protocol",
|
||||
},
|
||||
{
|
||||
website: "",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/eigen-trust/protocol",
|
||||
website: "none",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Reputation", "Identity"],
|
||||
type: ["Infrastructure/protocol"],
|
||||
@@ -417,23 +380,17 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 17,
|
||||
|
||||
image: "",
|
||||
name: "AnonKlub",
|
||||
tldr: "A mechanism for anonymous proof of Ethereum address ownership.",
|
||||
description:
|
||||
"AnonKlub is a tool designed for Ethereum developers that allows for anonymous proof of Ethereum address ownership. It doesn't directly address the public observability of Ethereum transactions but provides a workaround for privacy. Users can prepare a list of Ethereum addresses, sign a message from an address they own, and use that signature to generate a zero-knowledge proof. This proof enables users to perform actions anonymously that would typically require ownership of an address from the initial list. Use cases include anonymous NFT minting and Discord verification for DAOs without disclosing the public address.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/privacy-scaling-explorations/e2e-zk-ecdsa",
|
||||
},
|
||||
{
|
||||
website: "https://anonklub.fly.dev/",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/privacy-scaling-explorations/e2e-zk-ecdsa",
|
||||
website: "https://anonklub.fly.dev/",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: [
|
||||
"Transaction privacy",
|
||||
@@ -449,23 +406,17 @@ export const projects = [
|
||||
|
||||
{
|
||||
id: 18,
|
||||
|
||||
image: "",
|
||||
name: "Summa",
|
||||
tldr: "Protocol enabling centralized exchanges to prove solvency without compromising private information.",
|
||||
description:
|
||||
"Summa allows centralized exchanges to demonstrate that their assets exceed their liabilities without revealing critical business information such as individual user balances, total number of users, and total liabilities or assets. It uses zero-knowledge proofs to ensure that exchanges can demonstrate they have sufficient assets to cover all user balances. The protocol involves building a Merkle Sum Tree of user balances, generating proofs for each user, and allowing users to verify these proofs.",
|
||||
links: [
|
||||
{
|
||||
github: "https://github.com/summa-dev",
|
||||
},
|
||||
{
|
||||
website: "",
|
||||
},
|
||||
{
|
||||
twitter: "",
|
||||
},
|
||||
{ discord: "" },
|
||||
],
|
||||
links: {
|
||||
github: "https://github.com/summa-dev",
|
||||
website: "none",
|
||||
twitter: "none",
|
||||
discord: "none",
|
||||
},
|
||||
tags: {
|
||||
themes: ["Anonymity/privacy", "Computational Integrity"],
|
||||
type: ["Infrastructure/protocol", "Application"],
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="arrow-right-up-line" clip-path="url(#clip0_3238_6184)">
|
||||
<path id="Vector" d="M16.0039 10.0431L7.39691 18.6502L5.98291 17.2362L14.5889 8.62915H7.00391V6.62915H18.0039V17.6292H16.0039V10.0431Z" fill="#171C1B"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_6184">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0 0.62915)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 460 B |
|
Before Width: | Height: | Size: 187 B |
|
Before Width: | Height: | Size: 294 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 782 B |
|
Before Width: | Height: | Size: 344 B |
|
Before Width: | Height: | Size: 625 B |
@@ -1,19 +0,0 @@
|
||||
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Github" clip-path="url(#clip0_3238_6912)">
|
||||
<g id="Group">
|
||||
<path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M7.99714 1.1499C6.10979 1.15088 4.28433 1.81934 2.84717 3.03576C1.41 4.25218 0.454856 5.93723 0.152513 7.7896C-0.149831 9.64198 0.220342 11.5409 1.19685 13.1468C2.17336 14.7527 3.69251 15.9609 5.48268 16.5553C5.87762 16.6286 6.02638 16.3838 6.02638 16.1757C6.02638 15.9676 6.01848 15.3641 6.01585 14.7044C3.80418 15.1822 3.33684 13.7711 3.33684 13.7711C2.97613 12.8548 2.45481 12.614 2.45481 12.614C1.73338 12.1244 2.50879 12.1336 2.50879 12.1336C3.30788 12.1898 3.72784 12.9491 3.72784 12.9491C4.4361 14.1572 5.588 13.8077 6.04086 13.6035C6.11195 13.0917 6.31864 12.7435 6.54639 12.5459C4.77969 12.3469 2.92347 11.6689 2.92347 8.63989C2.91252 7.85434 3.20569 7.09466 3.74232 6.51803C3.66069 6.31907 3.38818 5.51535 3.81998 4.42366C3.81998 4.42366 4.48744 4.21161 6.00664 5.23392C7.30972 4.8796 8.68456 4.8796 9.98764 5.23392C11.5055 4.21161 12.1717 4.42366 12.1717 4.42366C12.6048 5.51273 12.3323 6.31645 12.2507 6.51803C12.789 7.09476 13.0828 7.85576 13.0708 8.64251C13.0708 11.678 11.2106 12.3469 9.4413 12.542C9.72566 12.788 9.97974 13.2684 9.97974 14.0067C9.97974 15.0644 9.97053 15.9152 9.97053 16.1757C9.97053 16.3864 10.114 16.6325 10.5169 16.5553C12.3072 15.9608 13.8265 14.7524 14.803 13.1462C15.7795 11.5401 16.1495 9.64086 15.8468 7.78831C15.5441 5.93576 14.5885 4.2507 13.1509 3.03449C11.7132 1.81828 9.88734 1.15026 7.99977 1.1499H7.99714Z" fill="#9DABA7"/>
|
||||
<path id="Vector_2" d="M3.05754 12.5002C3.04042 12.5394 2.97723 12.5512 2.92589 12.5237C2.87455 12.4962 2.83638 12.4452 2.85481 12.4046C2.87324 12.364 2.93511 12.3536 2.98645 12.381C3.03779 12.4085 3.07729 12.4609 3.05754 12.5002Z" fill="#9DABA7"/>
|
||||
<path id="Vector_3" d="M3.38002 12.8574C3.35276 12.8711 3.32156 12.8749 3.29179 12.8682C3.26201 12.8615 3.23549 12.8448 3.21678 12.8208C3.16544 12.7658 3.1549 12.6899 3.19439 12.6558C3.23389 12.6218 3.30498 12.6375 3.35632 12.6925C3.40767 12.7475 3.41951 12.8234 3.38002 12.8574Z" fill="#9DABA7"/>
|
||||
<path id="Vector_4" d="M3.6936 13.3116C3.64489 13.3456 3.56195 13.3116 3.51587 13.2435C3.50313 13.2313 3.493 13.2167 3.48608 13.2005C3.47916 13.1843 3.47559 13.1669 3.47559 13.1493C3.47559 13.1317 3.47916 13.1143 3.48608 13.0981C3.493 13.0819 3.50313 13.0673 3.51587 13.055C3.56458 13.0223 3.64753 13.055 3.6936 13.1218C3.73968 13.1886 3.74099 13.2776 3.6936 13.3116Z" fill="#9DABA7"/>
|
||||
<path id="Vector_5" d="M4.11848 13.7514C4.07504 13.7998 3.98684 13.7867 3.91443 13.7213C3.84202 13.6558 3.82491 13.5668 3.86835 13.5197C3.91179 13.4726 4 13.4857 4.07503 13.5498C4.15007 13.6139 4.16456 13.7043 4.11848 13.7514Z" fill="#9DABA7"/>
|
||||
<path id="Vector_6" d="M4.71522 14.008C4.69547 14.0695 4.60595 14.097 4.51643 14.0708C4.42691 14.0446 4.36767 13.9713 4.38478 13.9085C4.4019 13.8457 4.49273 13.8169 4.58357 13.8457C4.67441 13.8745 4.73233 13.9438 4.71522 14.008Z" fill="#9DABA7"/>
|
||||
<path id="Vector_7" d="M5.36538 14.0525C5.36538 14.1166 5.29166 14.1716 5.19687 14.1729C5.10209 14.1742 5.02441 14.1218 5.02441 14.0577C5.02441 13.9936 5.09813 13.9386 5.19292 13.9373C5.2877 13.936 5.36538 13.987 5.36538 14.0525Z" fill="#9DABA7"/>
|
||||
<path id="Vector_8" d="M5.97102 13.9517C5.98286 14.0158 5.91704 14.0826 5.82225 14.0983C5.72747 14.114 5.64453 14.076 5.63268 14.0132C5.62083 13.9504 5.68929 13.8823 5.78144 13.8653C5.8736 13.8483 5.95917 13.8876 5.97102 13.9517Z" fill="#9DABA7"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_6912">
|
||||
<rect width="16" height="16" fill="white" transform="translate(0 0.75)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 494 B |
|
Before Width: | Height: | Size: 810 B |
@@ -1,10 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="github-fill" clip-path="url(#clip0_3238_5052)">
|
||||
<path id="Vector" d="M12 2C6.475 2 2 6.475 2 12C1.99887 14.0993 2.65882 16.1456 3.88622 17.8487C5.11362 19.5517 6.84615 20.8251 8.838 21.488C9.338 21.575 9.525 21.275 9.525 21.012C9.525 20.775 9.512 19.988 9.512 19.15C7 19.613 6.35 18.538 6.15 17.975C6.037 17.687 5.55 16.8 5.125 16.562C4.775 16.375 4.275 15.912 5.112 15.9C5.9 15.887 6.462 16.625 6.65 16.925C7.55 18.437 8.988 18.012 9.562 17.75C9.65 17.1 9.912 16.663 10.2 16.413C7.975 16.163 5.65 15.3 5.65 11.475C5.65 10.387 6.037 9.488 6.675 8.787C6.575 8.537 6.225 7.512 6.775 6.137C6.775 6.137 7.612 5.875 9.525 7.163C10.3391 6.93706 11.1802 6.82334 12.025 6.825C12.875 6.825 13.725 6.937 14.525 7.162C16.437 5.862 17.275 6.138 17.275 6.138C17.825 7.513 17.475 8.538 17.375 8.788C18.012 9.488 18.4 10.375 18.4 11.475C18.4 15.313 16.063 16.163 13.838 16.413C14.2 16.725 14.513 17.325 14.513 18.263C14.513 19.6 14.5 20.675 14.5 21.013C14.5 21.275 14.688 21.587 15.188 21.487C17.173 20.8168 18.8979 19.541 20.1199 17.8392C21.3419 16.1373 21.9994 14.0951 22 12C22 6.475 17.525 2 12 2Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_5052">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="globe" clip-path="url(#clip0_3238_6922)">
|
||||
<path id="Vector" d="M10.8548 5.75C10.3871 2.95937 9.28387 1 8 1C6.71613 1 5.6129 2.95937 5.14516 5.75H10.8548ZM4.90323 8.75C4.90323 9.44375 4.94194 10.1094 5.00968 10.75H10.9871C11.0548 10.1094 11.0935 9.44375 11.0935 8.75C11.0935 8.05625 11.0548 7.39062 10.9871 6.75H5.00968C4.94194 7.39062 4.90323 8.05625 4.90323 8.75ZM15.3774 5.75C14.4548 3.62812 12.5871 1.9875 10.2806 1.325C11.0677 2.38125 11.6097 3.97187 11.8935 5.75H15.3774ZM5.71613 1.325C3.4129 1.9875 1.54194 3.62812 0.622581 5.75H4.10645C4.3871 3.97187 4.92903 2.38125 5.71613 1.325ZM15.7226 6.75H12.0226C12.0903 7.40625 12.129 8.07812 12.129 8.75C12.129 9.42188 12.0903 10.0938 12.0226 10.75H15.7194C15.8968 10.1094 15.9968 9.44375 15.9968 8.75C15.9968 8.05625 15.8968 7.39062 15.7226 6.75ZM3.87097 8.75C3.87097 8.07812 3.90968 7.40625 3.97742 6.75H0.277419C0.103226 7.39062 0 8.05625 0 8.75C0 9.44375 0.103226 10.1094 0.277419 10.75H3.97419C3.90968 10.0938 3.87097 9.42188 3.87097 8.75ZM5.14516 11.75C5.6129 14.5406 6.71613 16.5 8 16.5C9.28387 16.5 10.3871 14.5406 10.8548 11.75H5.14516ZM10.2839 16.175C12.5871 15.5125 14.4581 13.8719 15.3806 11.75H11.8968C11.6129 13.5281 11.071 15.1188 10.2839 16.175ZM0.622581 11.75C1.54516 13.8719 3.4129 15.5125 5.71935 16.175C4.93226 15.1188 4.39032 13.5281 4.10645 11.75H0.622581Z" fill="#9DABA7"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_6922">
|
||||
<rect width="16" height="16" fill="white" transform="translate(0 0.75)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="global-line" clip-path="url(#clip0_3238_5057)">
|
||||
<path id="Vector" d="M12 22C6.477 22 2 17.523 2 12C2 6.477 6.477 2 12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22ZM9.71 19.667C8.72341 17.5743 8.15187 15.3102 8.027 13H4.062C4.25659 14.5389 4.89392 15.9882 5.89657 17.1717C6.89922 18.3552 8.22401 19.2221 9.71 19.667ZM10.03 13C10.181 15.439 10.878 17.73 12 19.752C13.1523 17.6766 13.8254 15.3695 13.97 13H10.03ZM19.938 13H15.973C15.8481 15.3102 15.2766 17.5743 14.29 19.667C15.776 19.2221 17.1008 18.3552 18.1034 17.1717C19.1061 15.9882 19.7434 14.5389 19.938 13ZM4.062 11H8.027C8.15187 8.68979 8.72341 6.42569 9.71 4.333C8.22401 4.77788 6.89922 5.64475 5.89657 6.8283C4.89392 8.01184 4.25659 9.4611 4.062 11ZM10.031 11H13.969C13.8248 8.6306 13.152 6.32353 12 4.248C10.8477 6.32345 10.1746 8.63052 10.03 11H10.031ZM14.29 4.333C15.2766 6.42569 15.8481 8.68979 15.973 11H19.938C19.7434 9.4611 19.1061 8.01184 18.1034 6.8283C17.1008 5.64475 15.776 4.77788 14.29 4.333Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_5057">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
BIN
public/icons/archstar.webp
Normal file
|
After Width: | Height: | Size: 497 KiB |
10
public/icons/arrow-right-up.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="arrow-right-up-line" clip-path="url(#clip0_3593_2234)">
|
||||
<path id="Vector" d="M16.0034 9.414L7.39642 18.021L5.98242 16.607L14.5884 8H7.00342V6H18.0034V17H16.0034V9.414Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_2234">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 402 B |
10
public/icons/arrow-right.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="arrow-right-line" clip-path="url(#clip0_3593_54)">
|
||||
<path id="Vector" d="M16.172 11.1105L10.808 5.74652L12.222 4.33252L20 12.1105L12.222 19.8885L10.808 18.4745L16.172 13.1105H4V11.1105H16.172Z" fill="#171C1B"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_54">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0 0.110596)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 460 B |
10
public/icons/close-fill.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="close-fill" clip-path="url(#clip0_3593_2219)">
|
||||
<path id="Vector" d="M12.0007 10.586L16.9507 5.63599L18.3647 7.04999L13.4147 12L18.3647 16.95L16.9507 18.364L12.0007 13.414L7.05072 18.364L5.63672 16.95L10.5867 12L5.63672 7.04999L7.05072 5.63599L12.0007 10.586Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_2219">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 493 B |
@@ -1,9 +1,9 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="menu-5-line" clip-path="url(#clip0_3238_4473)">
|
||||
<g id="menu-5-line" clip-path="url(#clip0_3593_17537)">
|
||||
<path id="Vector" d="M18 18V20H6V18H18ZM21 11V13H3V11H21ZM18 4V6H6V4H18Z" fill="#171C1B"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_4473">
|
||||
<clipPath id="clip0_3593_17537">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
Before Width: | Height: | Size: 357 B After Width: | Height: | Size: 359 B |
|
Before Width: | Height: | Size: 1001 B After Width: | Height: | Size: 1001 B |
|
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 630 B After Width: | Height: | Size: 630 B |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
5
public/logos/header-logo.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="49" height="48" viewBox="0 0 49 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Variations=logo-monogram">
|
||||
<path id="Vector" d="M48.3357 27.0002C48.3357 27.8713 47.7121 28.5947 46.8885 28.7619C46.7709 28.7852 46.6493 28.7969 46.5238 28.7969H40.4725C39.4686 28.7969 38.6568 29.6019 38.6568 30.5974V36.5979C38.6568 37.2201 38.3391 37.7646 37.8567 38.0912C37.6646 38.2196 37.4449 38.3129 37.2096 38.3634C37.092 38.3868 36.9704 38.3984 36.8449 38.3984H30.7936C29.7897 38.3984 28.9779 39.2034 28.9779 40.199V46.1995C28.9779 47.195 28.1661 48 27.1621 48H21.1108C20.1069 48 19.2951 47.195 19.2951 46.1995V40.199C19.2951 39.2034 20.1069 38.3984 21.1108 38.3984H27.1621C28.1661 38.3984 28.9779 37.5935 28.9779 36.5979V30.5974C28.9779 29.6019 29.7897 28.7969 30.7936 28.7969H36.8449C37.8489 28.7969 38.6607 27.9919 38.6607 26.9964V19.1953C38.6607 13.9065 34.3468 9.61322 29.0132 9.59767C23.6835 9.61711 19.3656 13.9065 19.3656 19.1953V26.9964C19.3656 27.9919 18.5538 28.7969 17.5499 28.7969H11.4986C10.4946 28.7969 9.68282 29.6019 9.68282 30.5974V46.1995C9.68282 47.195 8.87102 48 7.86705 48H1.81577C0.811804 48 0 47.195 0 46.1995V30.5974C0 29.6019 0.811804 28.7969 1.81577 28.7969H7.86705C8.87102 28.7969 9.68282 27.9919 9.68282 26.9964V19.1603C9.68282 8.57879 18.3342 0 29.0092 0C39.6843 0 48.3357 8.57879 48.3357 19.1642V27.0002Z" fill="#171C1B"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/projects-logo/bandadalogo.webp
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/projects-logo/clrlogo.webp
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
public/projects-logo/cryptkeeperlogo.webp
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
public/projects-logo/intereplogo.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/projects-logo/macilogo.webp
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
public/projects-logo/rlnlogo.webp
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/projects-logo/semaphorelogo.webp
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
public/projects-logo/tlsnlogo.webp
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/projects-logo/unireplogo.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/projects-logo/waxlogo.webp
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
public/projects-logo/zkitterlogo.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/projects-logo/zkkitlogo.webp
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
public/projects-logo/zkoprulogo.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@@ -1,34 +0,0 @@
|
||||
<svg width="256" height="253" viewBox="0 0 256 253" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M128 252.101C94.0057 252.101 62.0514 238.995 38.0121 215.199C13.9782 191.397 0.740234 159.754 0.740234 126.101C0.740234 92.4488 13.9782 60.8056 38.0121 37.0043C62.0461 13.203 94.0057 0.10144 128 0.10144C161.995 0.10144 193.949 13.2083 217.988 37.0043C242.022 60.8003 255.26 92.4435 255.26 126.101C255.26 159.759 242.022 191.397 217.988 215.199C193.954 238.995 161.995 252.101 128 252.101ZM128 6.46401C95.7247 6.46401 65.3824 18.9081 42.5587 41.5058C19.735 64.1035 7.16643 94.1455 7.16643 126.101C7.16643 158.057 19.735 188.099 42.5587 210.697C65.3824 233.295 95.7247 245.739 128 245.739C160.276 245.739 190.618 233.295 213.442 210.697C236.265 188.099 248.834 158.057 248.834 126.101C248.834 94.1455 236.265 64.1035 213.442 41.5058C190.618 18.9081 160.276 6.46401 128 6.46401Z" fill="#171C1B"/>
|
||||
<path d="M37.2889 113.274L20.3559 109.78L21.6358 103.698C22.5248 99.483 25.2934 97.394 28.951 98.1469L29.3205 98.2211C32.9352 98.9687 34.6488 101.986 33.7652 106.201L33.2726 108.55L38.0815 109.541L37.2943 113.279L37.2889 113.274ZM24.4098 106.715L30.0006 107.871L30.5307 105.342C30.9002 103.587 30.0166 102.309 28.3351 101.964C26.6107 101.609 25.3094 102.431 24.9399 104.186L24.4098 106.715Z" fill="#171C1B"/>
|
||||
<path d="M41.1125 97.0971L25.1702 90.4588L27.7835 84.303C29.4489 80.3794 32.2658 78.6722 35.7948 80.1408L36.1429 80.284C38.4617 81.249 39.5434 82.9616 39.5327 85.1514L46.88 83.5183L45.1503 87.5957L38.633 88.8947L37.5406 91.4662L42.6119 93.5765L41.1178 97.0918L41.1125 97.0971ZM29.6739 88.1948L34.7452 90.3051L35.9822 87.3889C36.6302 85.8672 36.0626 84.4409 34.5203 83.8046C33.0048 83.1737 31.5589 83.7569 30.9109 85.2786L29.6739 88.1948Z" fill="#171C1B"/>
|
||||
<path d="M48.947 80.5546L34.3114 71.6894L36.3249 68.434L50.9606 77.2991L48.947 80.5546Z" fill="#171C1B"/>
|
||||
<path d="M56.1446 70.0521L39.6668 63.0533L42.2265 60.047L55.5448 65.9589L56.0589 65.3544L47.7263 53.589L50.2111 50.6728L60.1931 65.3067L56.1499 70.0574L56.1446 70.0521Z" fill="#171C1B"/>
|
||||
<path d="M63.851 61.0118L57.5158 44.2571L62.373 40.3918L77.6994 49.9887L74.5827 52.4648L70.8341 50.0417L65.2487 54.4902L66.8499 58.6206L63.8456 61.0118H63.851ZM68.012 48.2337L62.2391 44.501L61.559 45.0418L64.0384 51.399L68.012 48.2337Z" fill="#171C1B"/>
|
||||
<path d="M75.3542 41.7387L75.1185 41.2827C73.1907 37.5288 73.5655 32.3009 78.8618 29.634C83.0335 27.5343 87.0766 28.5788 89.3151 32.0199L85.8556 33.759C84.6347 32.1047 82.5622 31.7601 80.4898 32.8046C77.764 34.1779 77.2392 36.8979 78.7172 39.7822C80.1792 42.6242 82.7389 43.8119 85.545 42.4015C87.6603 41.3358 88.6992 39.4535 88.0887 37.4917L91.5267 35.7632C92.8655 39.2944 91.5589 43.3718 87.1784 45.5775C81.6465 48.3611 77.1053 45.1692 75.3488 41.744L75.3542 41.7387Z" fill="#171C1B"/>
|
||||
<path d="M101.771 39.3414L100.025 33.1326L99.211 33.3553L91.5317 24.5326L95.3338 23.4827L100.791 29.9514L101.514 29.7499L102.467 21.5157L106.066 20.5242L104.486 31.9025L103.672 32.1252L105.418 38.334L101.771 39.3414Z" fill="#171C1B"/>
|
||||
<path d="M123.802 33.4932L123.684 29.1667L119.529 29.278L119.448 26.2558L123.604 26.1444L123.486 21.7967L126.823 21.7066L126.94 26.0543L131.123 25.943L131.203 28.9652L127.021 29.0765L127.138 33.4031L123.802 33.4932Z" fill="#171C1B"/>
|
||||
<path d="M142.101 31.118L145.747 31.9186C145.464 33.1911 146.197 34.5219 148.564 35.0415C150.653 35.4975 151.975 34.8613 152.259 33.5888C152.5 32.523 151.767 31.7171 149.764 31.0861L148.527 30.6938C145.239 29.6864 143.52 27.3534 144.184 24.4002C144.896 21.2189 147.772 19.7767 151.51 20.5985C155.456 21.4628 157.336 24.1403 156.608 27.3906L152.934 26.5846C153.202 25.381 152.548 24.1138 150.803 23.7321C149.127 23.3662 148.093 24.1138 147.847 25.2061C147.632 26.1605 148.077 27.0671 149.592 27.5178L150.851 27.9155C154.428 29.0342 156.613 31.3247 155.922 34.3947C155.205 37.5972 152.099 39.1083 147.852 38.1751C143.284 37.173 141.367 34.3417 142.09 31.118H142.101Z" fill="#171C1B"/>
|
||||
<path d="M160.993 32.4538L161.202 31.9872C162.937 28.1432 167.275 25.1421 172.705 27.544C176.973 29.4316 178.698 33.2014 177.407 37.0879L173.867 35.5237C174.403 33.5407 173.364 31.7327 171.238 30.7942C168.448 29.5588 165.979 30.8632 164.651 33.8164C163.339 36.7273 164.014 39.4473 166.889 40.7198C169.058 41.6795 171.184 41.2925 172.341 39.5905L175.859 41.1493C173.932 44.3995 169.904 45.9583 165.422 43.9753C159.756 41.4727 159.408 35.9638 160.993 32.4591V32.4538Z" fill="#171C1B"/>
|
||||
<path d="M174.847 47.8571L189.563 37.4702L194.586 41.1181L189.177 58.2599L185.954 55.9216L187.351 51.7117L181.568 47.5124L177.953 50.1105L174.842 47.8518L174.847 47.8571ZM188.39 48.5411L190.543 42.0512L189.842 41.5422L184.278 45.556L188.39 48.5411Z" fill="#171C1B"/>
|
||||
<path d="M191.453 60.7728L203.958 49.1399L206.598 51.9235L196.562 61.2659L201.168 66.1173L198.699 68.4132L191.453 60.7834V60.7728Z" fill="#171C1B"/>
|
||||
<path d="M201.018 71.5835L214.92 61.6314L217.18 64.7225L203.278 74.6746L201.018 71.5835Z" fill="#171C1B"/>
|
||||
<path d="M206.378 78.7424L221.774 71.2398L224.564 76.8548L214.828 88.7316L214.973 89.0232L227.563 82.8886L229.159 86.107L213.763 93.6096L210.951 87.9522L220.687 76.0754L220.542 75.7838L207.952 81.9183L206.373 78.7424H206.378Z" fill="#171C1B"/>
|
||||
<path d="M223.312 95.4123L223.815 95.2957C228.03 94.336 233.021 96.2077 234.3 101.722C235.339 106.192 233.353 109.914 229.566 111.154L228.704 107.438C230.466 106.727 231.318 104.765 230.793 102.522C230.118 99.6222 227.526 98.4186 224.409 99.1291C221.132 99.8767 219.402 102.178 220.136 105.333C220.527 107.013 221.464 108.254 222.658 108.816L224.056 108.498L223.049 104.166L225.754 103.551L227.869 112.665L225.165 113.281L224.849 111.918L222.01 112.565C219.37 111.685 217.491 109.394 216.725 106.101C215.349 100.158 219.167 96.3561 223.312 95.4123Z" fill="#171C1B"/>
|
||||
<path d="M175.276 129.616C175.276 131.25 174.108 132.612 172.55 132.925C172.33 132.973 172.1 132.994 171.865 132.994H160.485C158.6 132.994 157.074 134.505 157.074 136.371V147.638C157.074 148.805 156.479 149.833 155.569 150.438C155.205 150.682 154.792 150.857 154.348 150.947C154.128 150.989 153.898 151.016 153.662 151.016H142.283C140.398 151.016 138.871 152.527 138.871 154.393V165.66C138.871 167.527 137.345 169.038 135.46 169.038H124.081C122.196 169.038 120.669 167.527 120.669 165.66V154.393C120.669 152.527 122.196 151.016 124.081 151.016H135.46C137.345 151.016 138.871 149.505 138.871 147.638V136.371C138.871 134.505 140.398 132.994 142.283 132.994H153.662C155.547 132.994 157.074 131.483 157.074 129.616V114.972C157.074 105.041 148.961 96.9871 138.936 96.95C128.916 96.9871 120.798 105.041 120.798 114.972V129.616C120.798 131.483 119.272 132.994 117.387 132.994H106.007C104.122 132.994 102.596 134.505 102.596 136.371V165.66C102.596 167.527 101.069 169.038 99.1844 169.038H87.8047C85.9196 169.038 84.3934 167.527 84.3934 165.66V136.371C84.3934 134.505 85.9196 132.994 87.8047 132.994H99.1844C101.069 132.994 102.596 131.483 102.596 129.616V114.908C102.596 95.0359 118.865 78.928 138.936 78.928C159.007 78.928 175.276 95.0359 175.276 114.908V129.616Z" fill="#171C1B"/>
|
||||
<path d="M128 205.373C83.852 205.373 47.9349 169.812 47.9349 126.101C47.9349 82.3903 83.852 46.8288 128 46.8288C172.148 46.8288 208.065 82.3903 208.065 126.101C208.065 169.812 172.148 205.373 128 205.373ZM128 50.0101C85.6245 50.0101 51.148 84.1453 51.148 126.101C51.148 168.057 85.6245 202.192 128 202.192C170.375 202.192 204.852 168.057 204.852 126.101C204.852 84.1453 170.375 50.0101 128 50.0101Z" fill="#171C1B"/>
|
||||
<path d="M33.2409 179.585L47.7319 170.481L53.4245 179.362L50.7255 181.059L47.0465 175.322L43.9726 177.252L47.4481 182.676L44.7491 184.372L41.2736 178.948L37.9588 181.032L41.7234 186.907L39.0244 188.604L33.2462 179.585H33.2409Z" fill="#171C1B"/>
|
||||
<path d="M41.986 192.802L52.4982 191.01L54.983 181.699L57.8373 184.79L56.1344 190.808L56.4985 191.206L62.673 190.029L65.447 193.035L55.7059 194.695L53.1462 204.896L50.2758 201.789L52.118 194.886L51.7378 194.472L44.7546 195.808L41.9807 192.802H41.986Z" fill="#171C1B"/>
|
||||
<path d="M57.6928 208.698L68.1139 195.034L73.121 198.778C76.5912 201.37 77.3141 204.743 75.0649 207.696L74.84 207.993C72.6176 210.909 69.1261 211.158 65.6613 208.566L63.7281 207.123L60.7667 211.004L57.6928 208.703V208.698ZM69.1796 199.971L65.7363 204.483L67.8194 206.036C69.2653 207.118 70.8076 206.869 71.8411 205.517C72.9015 204.122 72.7087 202.606 71.2628 201.524L69.1796 199.971Z" fill="#171C1B"/>
|
||||
<path d="M73.4955 219.627L81.448 204.574L84.8645 206.345L78.4812 218.429L84.4361 221.514L82.8671 224.484L73.4955 219.632V219.627Z" fill="#171C1B"/>
|
||||
<path d="M89.9146 218.736L90.0645 218.249C91.3016 214.219 95.5964 210.815 101.375 212.559C107.131 214.293 108.824 219.5 107.581 223.529L107.431 224.017C106.307 227.67 102.028 231.514 96.0944 229.722C90.1556 227.93 88.79 222.389 89.9146 218.736ZM103.768 222.671C104.7 219.643 103.431 216.902 100.325 215.963C97.2244 215.03 94.6485 216.61 93.7167 219.638C92.8385 222.49 94.0381 225.38 97.144 226.313C100.245 227.246 102.895 225.518 103.768 222.665V222.671Z" fill="#171C1B"/>
|
||||
<path d="M111.935 232.998L113.413 215.93L120.134 216.503C124.418 216.869 126.924 218.995 126.597 222.775L126.565 223.146C126.351 225.628 125.039 227.176 122.929 227.833L126.758 234.254L122.308 233.878L119.057 228.136L116.246 227.897L115.775 233.321L111.935 232.992V232.998ZM116.974 219.483L116.503 224.907L119.689 225.177C121.349 225.32 122.544 224.345 122.688 222.701C122.827 221.079 121.821 219.896 120.161 219.753L116.974 219.483Z" fill="#171C1B"/>
|
||||
<path d="M131.337 234.266L135.069 216.758L141.26 216.074L148.998 232.315L145.024 232.755L143.177 228.72L136.049 229.505L135.166 233.842L131.337 234.261V234.266ZM141.774 225.693L138.925 219.473L138.063 219.569L136.708 226.249L141.779 225.693H141.774Z" fill="#171C1B"/>
|
||||
<path d="M156.517 230.246L152.677 217.123L148.05 218.449L147.113 215.251L160.094 211.529L161.031 214.727L156.377 216.057L160.217 229.18L156.517 230.241V230.246Z" fill="#171C1B"/>
|
||||
<path d="M170.162 225.603L163.238 210.057L166.767 208.514L173.691 224.06L170.162 225.603Z" fill="#171C1B"/>
|
||||
<path d="M175.157 214.542L174.874 214.112C172.55 210.581 172.673 205.141 177.739 201.88C182.778 198.63 187.897 200.687 190.216 204.219L190.5 204.648C192.605 207.845 192.83 213.561 187.63 216.912C182.43 220.263 177.262 217.739 175.157 214.542ZM187.099 206.562C185.354 203.911 182.419 203.11 179.699 204.865C176.984 206.62 176.55 209.59 178.296 212.241C179.94 214.738 182.944 215.687 185.664 213.932C188.385 212.177 188.744 209.059 187.099 206.562Z" fill="#171C1B"/>
|
||||
<path d="M200.562 206.976L188.219 195.173L192.61 190.671L207.192 195.719L207.422 195.486L197.328 185.836L199.845 183.259L212.189 195.056L207.765 199.595L193.183 194.547L192.953 194.781L203.047 204.431L200.568 206.976H200.562Z" fill="#171C1B"/>
|
||||
<path d="M211.76 187.008L213.763 183.885C214.872 184.585 216.387 184.352 217.689 182.327C218.835 180.54 218.679 179.092 217.565 178.392C216.634 177.804 215.616 178.217 214.336 179.866L213.544 180.884C211.466 183.604 208.665 184.405 206.089 182.783C203.31 181.038 202.919 177.868 204.975 174.665C207.144 171.288 210.325 170.45 213.163 172.231L211.15 175.375C210.1 174.713 208.676 174.893 207.717 176.388C206.796 177.82 207.155 179.039 208.108 179.638C208.944 180.163 209.956 180.057 210.898 178.801L211.701 177.761C213.983 174.813 216.901 173.562 219.579 175.243C222.374 177.003 222.754 180.407 220.42 184.044C217.913 187.952 214.572 188.774 211.755 187.003L211.76 187.008Z" fill="#171C1B"/>
|
||||
<path d="M222.629 141.824L221.6 146.811C221.431 147.635 221.967 148.438 222.799 148.607L227.836 149.625C228.667 149.793 229.479 149.262 229.649 148.438L230.678 143.451C230.847 142.628 230.311 141.824 229.479 141.656L224.442 140.637C223.61 140.469 222.799 141.001 222.629 141.824Z" fill="#171C1B"/>
|
||||
<path d="M31.5639 140.636L26.5269 141.655C25.6952 141.823 25.1587 142.627 25.3285 143.45L26.357 148.437C26.5268 149.261 27.3386 149.792 28.1703 149.624L33.2073 148.605C34.039 148.437 34.5755 147.634 34.4057 146.81L33.3773 141.823C33.2075 141 32.3956 140.468 31.5639 140.636Z" fill="#171C1B"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 12 KiB |
@@ -1,5 +0,0 @@
|
||||
<svg width="41" height="40" viewBox="0 0 41 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Logo">
|
||||
<path id="Vector" d="M40.2797 22.5002C40.2797 23.2261 39.7601 23.8289 39.0738 23.9682C38.9757 23.9877 38.8744 23.9974 38.7699 23.9974H33.7271C32.8905 23.9974 32.214 24.6682 32.214 25.4979V30.4983C32.214 31.0168 31.9493 31.4705 31.5473 31.7427C31.3871 31.8496 31.2041 31.9274 31.008 31.9695C30.91 31.989 30.8087 31.9987 30.7041 31.9987H25.6614C24.8247 31.9987 24.1482 32.6695 24.1482 33.4992V38.4996C24.1482 39.3292 23.4717 40 22.6351 40H17.5924C16.7557 40 16.0792 39.3292 16.0792 38.4996V33.4992C16.0792 32.6695 16.7557 31.9987 17.5924 31.9987H22.6351C23.4717 31.9987 24.1482 31.3279 24.1482 30.4983V25.4979C24.1482 24.6682 24.8247 23.9974 25.6614 23.9974H30.7041C31.5407 23.9974 32.2172 23.3266 32.2172 22.497V15.9961C32.2172 11.5888 28.6223 8.01102 24.1776 7.99806C19.7362 8.01426 16.138 11.5888 16.138 15.9961V22.497C16.138 23.3266 15.4615 23.9974 14.6249 23.9974H9.58216C8.74552 23.9974 8.06902 24.6682 8.06902 25.4979V38.4996C8.06902 39.3292 7.39251 40 6.55587 40H1.51315C0.676503 40 0 39.3292 0 38.4996V25.4979C0 24.6682 0.676503 23.9974 1.51315 23.9974H6.55587C7.39251 23.9974 8.06902 23.3266 8.06902 22.497V15.9669C8.06902 7.14899 15.2785 0 24.1744 0C33.0702 0 40.2797 7.14899 40.2797 15.9702V22.5002Z" fill="#171C1B"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 275 KiB |
|
Before Width: | Height: | Size: 5.2 MiB |
10
public/social-medias/github-fill.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="github-fill" clip-path="url(#clip0_3593_4160)">
|
||||
<path id="Vector" d="M12.5205 2C6.99551 2 2.52051 6.475 2.52051 12C2.51938 14.0993 3.17932 16.1456 4.40672 17.8487C5.63413 19.5517 7.36665 20.8251 9.35851 21.488C9.85851 21.575 10.0455 21.275 10.0455 21.012C10.0455 20.775 10.0325 19.988 10.0325 19.15C7.52051 19.613 6.87051 18.538 6.67051 17.975C6.55751 17.687 6.07051 16.8 5.64551 16.562C5.29551 16.375 4.79551 15.912 5.63251 15.9C6.42051 15.887 6.98251 16.625 7.17051 16.925C8.07051 18.437 9.50851 18.012 10.0825 17.75C10.1705 17.1 10.4325 16.663 10.7205 16.413C8.49551 16.163 6.17051 15.3 6.17051 11.475C6.17051 10.387 6.55751 9.488 7.19551 8.787C7.09551 8.537 6.74551 7.512 7.29551 6.137C7.29551 6.137 8.13251 5.875 10.0455 7.163C10.8596 6.93706 11.7007 6.82334 12.5455 6.825C13.3955 6.825 14.2455 6.937 15.0455 7.162C16.9575 5.862 17.7955 6.138 17.7955 6.138C18.3455 7.513 17.9955 8.538 17.8955 8.788C18.5325 9.488 18.9205 10.375 18.9205 11.475C18.9205 15.313 16.5835 16.163 14.3585 16.413C14.7205 16.725 15.0335 17.325 15.0335 18.263C15.0335 19.6 15.0205 20.675 15.0205 21.013C15.0205 21.275 15.2085 21.587 15.7085 21.487C17.6935 20.8168 19.4184 19.541 20.6404 17.8392C21.8624 16.1373 22.5199 14.0951 22.5205 12C22.5205 6.475 18.0455 2 12.5205 2Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_4160">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0.520508)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
10
public/social-medias/global-line.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="global-line" clip-path="url(#clip0_3593_4165)">
|
||||
<path id="Vector" d="M12.5205 22C6.99751 22 2.52051 17.523 2.52051 12C2.52051 6.477 6.99751 2 12.5205 2C18.0435 2 22.5205 6.477 22.5205 12C22.5205 17.523 18.0435 22 12.5205 22ZM10.2305 19.667C9.24392 17.5743 8.67238 15.3102 8.54751 13H4.58251C4.77709 14.5389 5.41443 15.9882 6.41708 17.1717C7.41972 18.3552 8.74452 19.2221 10.2305 19.667V19.667ZM10.5505 13C10.7015 15.439 11.3985 17.73 12.5205 19.752C13.6728 17.6766 14.346 15.3695 14.4905 13H10.5505V13ZM20.4585 13H16.4935C16.3686 15.3102 15.7971 17.5743 14.8105 19.667C16.2965 19.2221 17.6213 18.3552 18.6239 17.1717C19.6266 15.9882 20.2639 14.5389 20.4585 13V13ZM4.58251 11H8.54751C8.67238 8.68979 9.24392 6.42569 10.2305 4.333C8.74452 4.77788 7.41972 5.64475 6.41708 6.8283C5.41443 8.01184 4.77709 9.4611 4.58251 11V11ZM10.5515 11H14.4895C14.3453 8.6306 13.6725 6.32353 12.5205 4.248C11.3682 6.32345 10.6951 8.63052 10.5505 11H10.5515ZM14.8105 4.333C15.7971 6.42569 16.3686 8.68979 16.4935 11H20.4585C20.2639 9.4611 19.6266 8.01184 18.6239 6.8283C17.6213 5.64475 16.2965 4.77788 14.8105 4.333V4.333Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_4165">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0.520508)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
10
public/social-medias/twitter-fill.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="twitter-fill" clip-path="url(#clip0_3593_4170)">
|
||||
<path id="Vector" d="M22.6828 5.65593C21.9194 5.99362 21.1098 6.2154 20.2808 6.31393C21.1546 5.79136 21.8085 4.96894 22.1208 3.99993C21.3008 4.48793 20.4018 4.82993 19.4648 5.01493C18.8354 4.34151 18.0012 3.89489 17.0918 3.74451C16.1824 3.59413 15.2487 3.74842 14.4361 4.18338C13.6234 4.61834 12.9772 5.30961 12.5979 6.14972C12.2186 6.98983 12.1276 7.93171 12.3388 8.82893C10.6759 8.74558 9.04914 8.31345 7.56409 7.56059C6.07905 6.80773 4.76893 5.75097 3.7188 4.45893C3.34709 5.09738 3.15176 5.82315 3.1528 6.56193C3.1528 8.01193 3.8908 9.29293 5.0128 10.0429C4.34881 10.022 3.69944 9.84271 3.1188 9.51993V9.57193C3.11901 10.5376 3.45317 11.4735 4.06465 12.221C4.67613 12.9684 5.52729 13.4814 6.4738 13.6729C5.85742 13.84 5.21111 13.8646 4.5838 13.7449C4.85067 14.5762 5.37081 15.3031 6.0714 15.824C6.77198 16.3449 7.61793 16.6337 8.4908 16.6499C7.62329 17.3313 6.62998 17.8349 5.56769 18.1321C4.50539 18.4293 3.39493 18.5142 2.2998 18.3819C4.2115 19.6114 6.4369 20.264 8.7098 20.2619C16.4028 20.2619 20.6098 13.8889 20.6098 8.36193C20.6098 8.18193 20.6048 7.99993 20.5968 7.82193C21.4157 7.23009 22.1224 6.49695 22.6838 5.65693L22.6828 5.65593Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_4170">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0.520508)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
10
public/social-medias/youtube-fill.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="youtube-fill" clip-path="url(#clip0_3593_4175)">
|
||||
<path id="Vector" d="M22.0635 6.498C22.5205 8.28 22.5205 12 22.5205 12C22.5205 12 22.5205 15.72 22.0635 17.502C21.8095 18.487 21.0665 19.262 20.1255 19.524C18.4165 20 12.5205 20 12.5205 20C12.5205 20 6.62751 20 4.91551 19.524C3.97051 19.258 3.22851 18.484 2.97751 17.502C2.52051 15.72 2.52051 12 2.52051 12C2.52051 12 2.52051 8.28 2.97751 6.498C3.23151 5.513 3.97451 4.738 4.91551 4.476C6.62751 4 12.5205 4 12.5205 4C12.5205 4 18.4165 4 20.1255 4.476C21.0705 4.742 21.8125 5.516 22.0635 6.498ZM10.5205 15.5L16.5205 12L10.5205 8.5V15.5Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3593_4175">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0.520508)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 853 B |
|
Before Width: | Height: | Size: 446 B |
|
Before Width: | Height: | Size: 785 B |
@@ -1,10 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="twitter-fill" clip-path="url(#clip0_3238_5062)">
|
||||
<path id="Vector" d="M22.1623 5.65593C21.3989 5.99362 20.5893 6.2154 19.7603 6.31393C20.634 5.79136 21.288 4.96894 21.6003 3.99993C20.7803 4.48793 19.8813 4.82993 18.9443 5.01493C18.3149 4.34151 17.4807 3.89489 16.5713 3.74451C15.6618 3.59413 14.7282 3.74842 13.9156 4.18338C13.1029 4.61834 12.4567 5.30961 12.0774 6.14972C11.6981 6.98983 11.607 7.93171 11.8183 8.82893C10.1554 8.74558 8.52863 8.31345 7.04358 7.56059C5.55854 6.80773 4.24842 5.75097 3.1983 4.45893C2.82659 5.09738 2.63125 5.82315 2.6323 6.56193C2.6323 8.01193 3.3703 9.29293 4.4923 10.0429C3.82831 10.022 3.17893 9.84271 2.5983 9.51993V9.57193C2.5985 10.5376 2.93267 11.4735 3.54414 12.221C4.15562 12.9684 5.00678 13.4814 5.9533 13.6729C5.33691 13.84 4.6906 13.8646 4.0633 13.7449C4.33016 14.5762 4.8503 15.3031 5.55089 15.824C6.25147 16.3449 7.09742 16.6337 7.9703 16.6499C7.10278 17.3313 6.10947 17.8349 5.04718 18.1321C3.98488 18.4293 2.87442 18.5142 1.7793 18.3819C3.69099 19.6114 5.91639 20.264 8.1893 20.2619C15.8823 20.2619 20.0893 13.8889 20.0893 8.36193C20.0893 8.18193 20.0843 7.99993 20.0763 7.82193C20.8952 7.23009 21.6019 6.49695 22.1633 5.65693L22.1623 5.65593Z" fill="#4A5754"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3238_5062">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -14,8 +14,10 @@ module.exports = {
|
||||
},
|
||||
extend: {
|
||||
backgroundImage: {
|
||||
"radial-gradient":
|
||||
"main-gradient":
|
||||
"radial-gradient(114.29% 42.52% at 103.66% 58.94%, #D0F8F1 0%, #D1F3FF 18.23%, #ECF8FF 51.28%, #E1FFFA 80.21%, #D0F2FF 93.23%)",
|
||||
"second-gradient":
|
||||
"radial-gradient(56.07% 115.65% at 93.66% 158.94%, #D0F8F1 0%, #D1F3FF 18.23%, #ECF8FF 51.28%, #E1FFFA 80.21%, #D0F2FF 93.23%)",
|
||||
},
|
||||
colors: {
|
||||
corduroy: "#4A5754",
|
||||
|
||||