mirror of
https://github.com/privacy-scaling-explorations/pse.dev.git
synced 2026-01-09 14:18:02 -05:00
website updates (#253)
This commit is contained in:
@@ -62,7 +62,6 @@ export default function IndexPage({ params: { lang } }: any) {
|
||||
|
||||
return (
|
||||
<section className="flex flex-col">
|
||||
<Devcon7Banner />
|
||||
<Divider.Section>
|
||||
<PageHeader
|
||||
title={
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"languages": "Languages {{locale}}",
|
||||
"blog": "Blog",
|
||||
"activity": "Activity",
|
||||
"report": "Technical Report",
|
||||
"report": "Technical Reports",
|
||||
"firstGoodIssue": "Good First Issue",
|
||||
"programs": "Programs",
|
||||
"openIssues": "Open Issues"
|
||||
|
||||
@@ -79,7 +79,12 @@ export default function ProjectCard({
|
||||
)}
|
||||
>
|
||||
{showBanner && (
|
||||
<div className="relative flex flex-col border-b border-black/10">
|
||||
<div
|
||||
className="relative flex flex-col border-b border-black/10 cursor-pointer"
|
||||
onClick={() => {
|
||||
router.push(`/projects/${id}`)
|
||||
}}
|
||||
>
|
||||
<Image
|
||||
src={`/project-banners/${image ? image : "fallback.webp"}`}
|
||||
alt={`${name} banner`}
|
||||
|
||||
@@ -143,6 +143,9 @@ export const ProjectList = ({ lang }: LangProps["params"]) => {
|
||||
|
||||
const showTitle = ["archived"].includes(category)
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div
|
||||
key={category}
|
||||
@@ -161,14 +164,7 @@ export const ProjectList = ({ lang }: LangProps["params"]) => {
|
||||
: ""
|
||||
)}
|
||||
>
|
||||
{showTitle && (
|
||||
<div className="flex flex-col gap-6 overflow-hidden">
|
||||
<h3 className={cn(sectionTitleClass())}>{sectionTitle}</h3>
|
||||
<span className="font-sans text-base italic text-tuatara-950">
|
||||
{sectionDescription}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="grid grid-cols-1 gap-4 md:grid-cols-2 md:gap-x-6 md:gap-y-10 lg:grid-cols-4">
|
||||
{sectionProjects.map((project) => (
|
||||
<ProjectCard
|
||||
|
||||
@@ -35,7 +35,7 @@ export const ProjectResultBar = ({ lang }: LangProps["params"]) => {
|
||||
{ label: t("filterOptions.random"), value: "random" },
|
||||
{ label: t("filterOptions.asc"), value: "asc" },
|
||||
{ label: t("filterOptions.desc"), value: "desc" },
|
||||
{ label: t("filterOptions.relevance"), value: "relevance" },
|
||||
// { label: t("filterOptions.relevance"), value: "relevance" },
|
||||
]
|
||||
|
||||
const activeSortOption = t("sortBy", {
|
||||
|
||||
@@ -12,7 +12,7 @@ export const siteConfig = {
|
||||
docs: "https://ui.shadcn.com",
|
||||
discord: "https://discord.com/invite/sF5CT5rzrR",
|
||||
articles: "https://mirror.xyz/privacy-scaling-explorations.eth",
|
||||
youtube: "https://www.youtube.com/@privacyscalingexplorations",
|
||||
youtube: "https://www.youtube.com/@privacyscalingexplorations-1",
|
||||
jobs: "https://jobs.lever.co/ethereumfoundation/?department=Ethereum%20Foundation&team=Privacy%20and%20Scaling%20Explorations",
|
||||
termOfUse: "https://ethereum.org/en/terms-of-use/",
|
||||
privacyPolicy: "https://ethereum.org/en/privacy-policy/",
|
||||
|
||||
@@ -19,7 +19,7 @@ import { maciPlatform } from "./projects/maci-platform"
|
||||
import { mopro } from "./projects/mopro"
|
||||
import { mpc } from "./projects/mpc"
|
||||
import { mpcStats } from "./projects/mpc-stats"
|
||||
import { nfctap } from "./projects/nfctap"
|
||||
import { nfctap } from "./projects/cursive"
|
||||
import { OpenPassport } from "./projects/openpassport"
|
||||
import { p0tion } from "./projects/p0tion"
|
||||
import { p256 } from "./projects/p256"
|
||||
|
||||
54
data/projects/cursive.ts
Normal file
54
data/projects/cursive.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import {
|
||||
ProjectCategory,
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "This project was built to activate NFCs at SBC and FtC and learn from it for a larger Devconnect experience with 200 cards and 5,000 attendees.",
|
||||
description: `
|
||||
What began as an experimental initiative to transform PSE's theoretical cryptography research into tangible applications has evolved into a dedicated lab that incubates practical ways to connect people through applied cryptography.
|
||||
|
||||
Cursive's work creates essential feedback loops between researchers and developers, continuously improving a variety of open source codebases. They also experiment with new interfaces to experience cryptography, finding particular success with NFC technology. They have used a variety of form factors like cards, stickers, and bracelets to enable users to securely collect private data for cryptographic computations.
|
||||
|
||||
While initial experiments focused on creating engaging ways for users to gather data for zero-knowledge proofs, Cursive is now expanding into developing meaningful multiparty computation (MPC) interactions that put cutting-edge cryptographic research directly into users' hands.
|
||||
|
||||
Here are some product + research highlights:
|
||||
- Client-side Nova folding to provide a "Spotify Wrapped" summary of your ZKSummit11 experience: https://github.com/cursive-team/zk-summit
|
||||
- Private set intersection using multi-party FHE: https://github.com/cursive-team/2P-PSI
|
||||
- Private hiring matcher using phantom-zone, a full multi-party FHE circuit builder: https://github.com/cursive-team/pz-hiring
|
||||
- Trinity, a new 2PC scheme with optimal DevX and UX: https://github.com/cursive-team/trinity-v0
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
||||
export const nfctap: ProjectInterface = {
|
||||
id: "cursive",
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "grant",
|
||||
content,
|
||||
image: "cursive.webp",
|
||||
name: "Cursive",
|
||||
links: {
|
||||
github: "https://pse.dev/en/projects/cursive",
|
||||
website: "https://www.cursive.team/",
|
||||
},
|
||||
tags: {
|
||||
keywords: [
|
||||
"anonymity/privacy",
|
||||
"education",
|
||||
"data portability",
|
||||
"social",
|
||||
"wallets",
|
||||
"identity",
|
||||
"key management",
|
||||
"reputation",
|
||||
"toolkits",
|
||||
],
|
||||
builtWith: [],
|
||||
themes: ["build", "play"],
|
||||
},
|
||||
}
|
||||
@@ -8,17 +8,21 @@ import {
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "Users of Jubmoji.quest tap NFC cards to collect signatures. By collecting these signatures, they complete quests.",
|
||||
description: `Jubmoji.quest is a place to keep personal, provable digital mementos from people you meet and places you visit IRL. Each time you tap a card, you collect a Jubmoji, a unique cryptographic signature that you can store privately and share as you wish!`,
|
||||
description: `
|
||||
Jubmoji.quest is a place to keep personal, provable digital mementos from people you meet and places you visit IRL. Each time you tap a card, you collect a Jubmoji, a unique cryptographic signature that you can store privately and share as you wish!
|
||||
|
||||
The learnings from this experiment influenced the creation of [Cursive](https://pse.dev/en/projects/cursive) which continues to explore applications of cryptography for human connection.
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
||||
export const jubmoji: ProjectInterface = {
|
||||
id: "jubmoji",
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
projectStatus: ProjectStatus.INACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "pse",
|
||||
section: "archived",
|
||||
content,
|
||||
image: "",
|
||||
image: "jubmoji.webp",
|
||||
name: "jubmoji.quest",
|
||||
links: {
|
||||
github: "https://github.com/jubmoji/jubmoji.quest",
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
import {
|
||||
ProjectCategory,
|
||||
ProjectContent,
|
||||
ProjectInterface,
|
||||
ProjectStatus,
|
||||
} from "@/lib/types"
|
||||
|
||||
const content: ProjectContent = {
|
||||
en: {
|
||||
tldr: "This project was built to activate NFCs at SBC and FtC and learn from it for a larger Devconnect experience with 200 cards and 5,000 attendees.",
|
||||
description: `
|
||||
NFC activations at SBC and FtC residency
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
||||
export const nfctap: ProjectInterface = {
|
||||
id: "nfctap",
|
||||
projectStatus: ProjectStatus.ACTIVE,
|
||||
category: ProjectCategory.APPLICATION,
|
||||
section: "pse",
|
||||
content,
|
||||
image: "",
|
||||
name: "nfctap.xyz",
|
||||
links: {
|
||||
github: "https://github.com/jubmoji/nfctap.xyz",
|
||||
website: "https://www.nfctap.xyz/",
|
||||
},
|
||||
tags: {
|
||||
keywords: [
|
||||
"anonymity/privacy",
|
||||
"education",
|
||||
"data portability",
|
||||
"social",
|
||||
"wallets",
|
||||
"identity",
|
||||
"key management",
|
||||
"reputation",
|
||||
"toolkits",
|
||||
],
|
||||
builtWith: ["snarkjs", "circom", "node"],
|
||||
themes: ["build", "play"],
|
||||
},
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ReactNode } from "react"
|
||||
|
||||
export enum ProjectCategory {
|
||||
APPLICATION = "APPLICATION",
|
||||
APPLICATION = "APPLICATIONS",
|
||||
DEVTOOLS = "DEVTOOLS",
|
||||
RESEARCH = "RESEARCH",
|
||||
}
|
||||
|
||||
BIN
public/project-banners/cursive.webp
Normal file
BIN
public/project-banners/cursive.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
BIN
public/project-banners/jubmoji.webp
Normal file
BIN
public/project-banners/jubmoji.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 343 KiB |
Reference in New Issue
Block a user