diff --git a/apps/website/src/app/build/page.tsx b/apps/website/src/app/build/page.tsx index 10a183aee..75dc82e58 100644 --- a/apps/website/src/app/build/page.tsx +++ b/apps/website/src/app/build/page.tsx @@ -9,7 +9,7 @@ import IconCli from "../../icons/IconCli" export default function Build() { const toolCardsInfo = [ { - icon: , + icon: , title: "CLI", subtitle: "INTEGRATE TO YOUR PROJECT", url: "https://github.com/semaphore-protocol/semaphore/tree/main/packages/cli#readme", @@ -20,7 +20,7 @@ export default function Build() { ] }, { - icon: , + icon: , title: "Boilerplate", subtitle: "START FROM TEMPLATE", url: "https://github.com/semaphore-protocol/boilerplate", @@ -31,7 +31,7 @@ export default function Build() { ] }, { - icon: , + icon: , title: "Packages", subtitle: "LEVERAGE DEVELOPED LIBRARIES", url: "https://github.com/semaphore-protocol/semaphore/tree/main/packages", @@ -63,7 +63,7 @@ export default function Build() { Let’s build something new - + Jumpstart your app development process with these building tools. @@ -105,7 +105,7 @@ export default function Build() { Contribute to Semaphore - + Semaphore is open source with dozens of community contributors. You can propose improvements to the protocol or take good first issues to get started. diff --git a/apps/website/src/app/learn/page.tsx b/apps/website/src/app/learn/page.tsx index 1ba4bcbe0..553f5e129 100644 --- a/apps/website/src/app/learn/page.tsx +++ b/apps/website/src/app/learn/page.tsx @@ -93,17 +93,17 @@ const nullifier = identity.getNullifier() const commitment = identity.generateCommitment()`, itemList: [ { - icon: , + icon: , heading: "Private values", body: "Trapdoor and nullifier values are the private values of the Semaphore identity. To avoid fraud, the owner must keep both values secret." }, { - icon: , + icon: , heading: "Public values", body: "Semaphore uses the Poseidon hash function to create the identity commitment from the identity private values. Identity commitments can be made public, similarly to Ethereum addresses." }, { - icon: , + icon: , heading: "Generate identities", body: "Semaphore identities can be generated deterministically or randomly. Deterministic identities can be generated from the hash of a secret message." } @@ -122,17 +122,17 @@ const group = new Group(1) group.addMember(commitment)`, itemList: [ { - icon: , + icon: , heading: "Merkle trees", body: "Each leaf contains an identity commitment for a user. The identity commitment proves that the user is a group member without revealing the private identity of the user." }, { - icon: , + icon: , heading: "Types of groups", body: "Groups can be created and managed in a decentralized fashion with Semaphore contracts or off-chain with our JavaScript libraries." }, { - icon: , + icon: , heading: "Group management", body: "Users can join and leave groups by themselves, or an admin can add and remove them. Admins can be centralized authorities, Ethereum accounts, multi-sig wallets or smart contracts." } @@ -159,17 +159,17 @@ const verificationKey = JSON.parse(fs.readFileSync("./semaphore.json", "utf-8")) await verifyProof(verificationKey, fullProof)`, itemList: [ { - icon: , + icon: , heading: "Membership", body: "Only users who are part of a group can generate a valid proof for that group." }, { - icon: , + icon: , heading: "Signals", body: "Group users can anonymously broadcast signals such as votes or endorsements without revealing their original identity." }, { - icon: , + icon: , heading: "Verifiers", body: "Semaphore proofs can be verified with our contracts or off-chain with our JavaScript libraries." } @@ -318,7 +318,7 @@ await verifyProof(verificationKey, fullProof)`, codeText={sectionBlockText.codeText} itemList={sectionBlockText.itemList} /> - {i !== sectionBlockTexts.length - 1 && } + {i !== sectionBlockTexts.length - 1 && } ))} diff --git a/apps/website/src/app/page.tsx b/apps/website/src/app/page.tsx index 6a4564379..234387969 100644 --- a/apps/website/src/app/page.tsx +++ b/apps/website/src/app/page.tsx @@ -116,7 +116,7 @@ export default function Home() { Simplified privacy - + Semaphore streamlines privacy-centric app development. It empowers developers to effortlessly incorporate robust privacy features. @@ -134,7 +134,7 @@ export default function Home() { Universal integrations - + Semaphore is a protocol for Web2 and Web3. It integrates into any front-end framework or pure HTML/CSS/JS. It is cross-chain compatible with EVM, L2s, and alt-blockchains. @@ -160,7 +160,7 @@ export default function Home() { Leverage Zero Knowledge - + Semaphore leverages Zero Knowledge, allowing us to verify information without revealing any underlying data. This powerful primitive allows one to prove membership and signal anonymously. @@ -179,7 +179,7 @@ export default function Home() { Free open source software - + Semaphore is a Public Good. This means it will never seek to profit, it is owned by the community and will always remain open source. diff --git a/apps/website/src/components/ActionCard.tsx b/apps/website/src/components/ActionCard.tsx index dbcde8981..b5a51f40e 100644 --- a/apps/website/src/components/ActionCard.tsx +++ b/apps/website/src/components/ActionCard.tsx @@ -1,4 +1,4 @@ -import { Heading, Text, Card, CardBody, Stack, Flex, Link } from "@chakra-ui/react" +import { Heading, Text, Card, CardBody, Stack, Flex, Link, Button } from "@chakra-ui/react" export type ActionCardProps = { title: string @@ -38,25 +38,16 @@ export default function ActionCard({ title, description, buttonText, buttonUrl } fontSize={{ base: "16px", md: "20px" }} lineHeight={{ base: "25px", md: "32px" }} fontWeight="normal" - textColor="alabaster.400" + textColor="text.400" > {description} - - {buttonText} + + diff --git a/apps/website/src/components/NavbarLinks.tsx b/apps/website/src/components/NavbarLinks.tsx index f042010b1..7745c7020 100644 --- a/apps/website/src/components/NavbarLinks.tsx +++ b/apps/website/src/components/NavbarLinks.tsx @@ -19,7 +19,7 @@ export default function NavbarLinks({ onClick }: NavbarProps) { as={NextLink} href="/projects" variant="navlink" - borderBottomColor={pathname === "/projects" ? "ceruleanBlue" : "transparent"} + borderBottomColor={pathname === "/projects" ? "primary.600" : "transparent"} > Projects @@ -30,7 +30,7 @@ export default function NavbarLinks({ onClick }: NavbarProps) { as={NextLink} href="/build" variant="navlink" - borderBottomColor={pathname === "/build" ? "ceruleanBlue" : "transparent"} + borderBottomColor={pathname === "/build" ? "primary.600" : "transparent"} > Build @@ -41,7 +41,7 @@ export default function NavbarLinks({ onClick }: NavbarProps) { as={NextLink} href="/learn" variant="navlink" - borderBottomColor={pathname === "/learn" ? "ceruleanBlue" : "transparent"} + borderBottomColor={pathname === "/learn" ? "primary.600" : "transparent"} > Learn diff --git a/apps/website/src/components/ProjectCard.tsx b/apps/website/src/components/ProjectCard.tsx index aae0b5b22..6d50e3594 100644 --- a/apps/website/src/components/ProjectCard.tsx +++ b/apps/website/src/components/ProjectCard.tsx @@ -27,11 +27,11 @@ export default function ProjectCard({ borderRadius="18px" color="white" border="1px" - borderColor="alabaster.950" + borderColor="text.950" padding="34px" w="full" h="full" - _hover={{ borderColor: "ceruleanBlue" }} + _hover={{ borderColor: "primary.600" }} {...props} > diff --git a/apps/website/src/components/SectionBlock.tsx b/apps/website/src/components/SectionBlock.tsx index 52773f1c7..09218f074 100644 --- a/apps/website/src/components/SectionBlock.tsx +++ b/apps/website/src/components/SectionBlock.tsx @@ -27,7 +27,7 @@ export default function SectionBlock({ title, description, linkText, linkUrl, co {title} - + {description} @@ -51,7 +51,7 @@ export default function SectionBlock({ title, description, linkText, linkUrl, co {item.icon} {item.heading} - + {item.body} diff --git a/apps/website/src/components/ToolsCard.tsx b/apps/website/src/components/ToolsCard.tsx index 7ae2f93ca..ffa71116e 100644 --- a/apps/website/src/components/ToolsCard.tsx +++ b/apps/website/src/components/ToolsCard.tsx @@ -10,7 +10,8 @@ import { StackDivider, Box, Link, - Flex + Flex, + Button } from "@chakra-ui/react" import IconChevronRight from "@/icons/IconChevronRight" @@ -29,34 +30,22 @@ export default function ToolsCard({ icon, title, subtitle, details, url }: Tools borderRadius="16px" color="white" border="1px" - borderColor="alabaster.950" + borderColor="text.950" padding="32px" width={{ base: "full", lg: "348px" }} height={{ base: "auto", lg: "501px" }} > {icon} - } spacing="24px" align="stretch"> + } spacing="24px" align="stretch"> {title} - - Select tool + + @@ -69,7 +58,7 @@ export default function ToolsCard({ icon, title, subtitle, details, url }: Tools - + {elem} diff --git a/apps/website/src/styles/colors.ts b/apps/website/src/styles/colors.ts index 6a3b7c5ef..5e79392cc 100644 --- a/apps/website/src/styles/colors.ts +++ b/apps/website/src/styles/colors.ts @@ -1,15 +1,6 @@ const colors = { darkBlue: "#0E101B", darkBlueBg: "#00020D", - ceruleanBlue: "#3555DF", - semaphore: "linear(to-r, primary.500, primary.800)", - alabaster: { - 300: "#B8B9C1", - 400: "#92939E", - 600: "#5E5F6B", - 800: "#42424A", - 950: "#26262B" - }, primary: { 50: "#f0f4fe", 100: "#dde6fc", diff --git a/apps/website/src/styles/components/Button.ts b/apps/website/src/styles/components/Button.ts index c05375d3d..13df87d6b 100644 --- a/apps/website/src/styles/components/Button.ts +++ b/apps/website/src/styles/components/Button.ts @@ -1,6 +1,5 @@ import { StyleFunctionProps, SystemStyleObject } from "@chakra-ui/theme-tools" import { font } from "../styles" -import colors from "../colors" const Button = { baseStyle: { @@ -14,22 +13,45 @@ const Button = { paddingRight: "18px !important" }, defaultProps: { - colorScheme: "#FFFFFF" + colorScheme: "white" }, variants: { solid: (props: StyleFunctionProps): SystemStyleObject => { const { colorScheme: c } = props + if (c === "primary") { + const bgGradient = "linear(to-r, primary.500, primary.800)" + const color = "white" + + return { + bgGradient, + color, + transitionDuration: "200ms", + transitionTimingFunction: "linear", + _hover: { + bg: `${c}.800`, + _disabled: { + bgGradient + } + }, + _active: { bg: `${c}.800` } + } + } + + const bg = c + return { - bg: c, - color: colors.darkBlueBg, + bg, + color: `darkBlueBg`, + transitionDuration: "200ms", + transitionTimingFunction: "linear", _hover: { - color: c, - bgGradient: colors.semaphore, + bg: `primary.200`, _disabled: { - bg: c + bg } - } + }, + _active: { bg: `primary.200` } } }, outline: (props: StyleFunctionProps): SystemStyleObject => { @@ -37,11 +59,13 @@ const Button = { return { color: c, - border: `1.2px solid ${c}`, + transitionDuration: "200ms", + transitionTimingFunction: "linear", + borderWidth: "1.2px", + borderColor: c, _hover: { - bg: colors.darkBlueBg, color: c, - border: `1.2px solid ${colors.primary["600"]}`, + borderColor: "primary.200", _disabled: { bg: c } diff --git a/apps/website/src/styles/components/Link.ts b/apps/website/src/styles/components/Link.ts index 4095111cc..d1c924ad5 100644 --- a/apps/website/src/styles/components/Link.ts +++ b/apps/website/src/styles/components/Link.ts @@ -13,11 +13,7 @@ const Link = { borderBottomWidth: "2px", pb: "5px", pt: "6px", - _hover: { borderBottomColor: "ceruleanBlue" } - }), - buttonlink: (): SystemStyleObject => ({ - borderRadius: "100px", - fontWeight: "500" + _hover: { borderBottomColor: "primary.600" } }) } }