Skip to content

Stablecoins page updates #15515

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Jun 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
515 changes: 0 additions & 515 deletions app/[locale]/stablecoins/_components/stablecoins.tsx

This file was deleted.

549 changes: 549 additions & 0 deletions app/[locale]/stablecoins/data.ts

Large diffs are not rendered by default.

753 changes: 673 additions & 80 deletions app/[locale]/stablecoins/page.tsx

Large diffs are not rendered by default.

Binary file added public/images/dapps/sparkfi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/compound.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/dai-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/dai.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/gho-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/gho.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/glo-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/glo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/tether-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/tether.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/tools/dune.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/tools/visa.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/usdc-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/stablecoins/usdc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/stablecoins/usds-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions src/components/CalloutBannerSSR.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { Image, type ImageProps } from "@/components/Image"

import { cn } from "@/lib/utils/cn"

export type CalloutBannerProps = React.HTMLAttributes<HTMLDivElement> & {
image: ImageProps["src"]
imageWidth?: number
title: string
description: string
alt: string
}

const CalloutBannerSSR = ({
image,
imageWidth,
title,
description,
alt,
children,
className,
...props
}: CalloutBannerProps) => (
<aside
className={cn(
"flex flex-col rounded p-8 sm:p-12 lg:flex-row-reverse",
"bg-gradient-to-r from-accent-a/10 to-accent-c/10 dark:from-accent-a/20 dark:to-accent-c-hover/20",
className
)}
{...props}
>
<div className="flex">
<Image
src={image}
alt={alt}
width={imageWidth}
className="-my-24 mx-auto object-contain max-lg:mb-0"
/>
</div>

<div className="flex w-full flex-shrink-0 flex-grow basis-1/2 flex-col justify-center sm:ps-4 lg:w-[inherit] lg:ps-8">
<h2 className="mb-8 text-2xl leading-xs sm:text-[2rem]">{title}</h2>
<p className="mb-8 w-[90%] text-xl text-body-medium">{description}</p>
{children}
</div>
</aside>
)

export default CalloutBannerSSR
15 changes: 11 additions & 4 deletions src/components/DataProductCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { StaticImageData } from "next/image"
import { Image } from "@/components/Image"
import { Flex } from "@/components/ui/flex"

import { cn } from "@/lib/utils/cn"

import InlineLink from "./ui/Link"
import { LinkBox, LinkOverlay } from "./ui/link-box"

Expand All @@ -15,32 +17,37 @@ export interface DataRow {

export type DataProductCardProps = {
url: string
background: string
image: StaticImageData
imgWidth: number
alt?: string
name: string
description?: string
data?: Array<DataRow>
className?: string
}

const DataProductCard = ({
url,
background,
image,
imgWidth,
alt,
name,
description,
data,
className,
}: DataProductCardProps) => {
return (
<LinkBox className="flex flex-col overflow-hidden rounded border shadow-table-box transition-transform duration-100 ease-linear hover:scale-[1.02] hover:bg-background-highlight focus:scale-[1.02] focus:bg-background-highlight">
<LinkBox
className={cn(
"flex flex-col overflow-hidden rounded border shadow-table-box transition-transform duration-100 ease-linear hover:scale-[1.02] hover:bg-background-highlight focus:scale-[1.02] focus:bg-background-highlight",
className
)}
>
<Flex
className={
"min-h-[200px] items-center justify-center shadow-[rgb(0_0_0/_10%)_0px_-1px_0px_inset]"
}
style={{ background }}
data-label="banner"
>
<Image
alt={alt ? alt : `${name} logo`}
Expand Down
18 changes: 16 additions & 2 deletions src/components/ProductList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ type Content = {
image?: ImageProps["src"]
alt: string
id?: string
className?: string
}

export type ProductListProps = {
Expand All @@ -39,13 +40,26 @@ const ProductList = ({ actionLabel, content, category }: ProductListProps) => {
)}
<List aria-labelledby={CATEGORY_NAME} className="m-0 mb-4">
{content.map(
({ title, description, link, image, alt, id, contentItems }, idx) => (
(
{
title,
description,
link,
image,
alt,
id,
contentItems,
className,
},
idx
) => (
<ListItem
key={id || idx}
color="text"
className={cn(
"mb-0 mt-8 flex pb-4",
idx !== content.length - 1 && "border-b"
idx !== content.length - 1 && "border-b",
className
)}
>
<div className="w-20">
Expand Down
2 changes: 2 additions & 0 deletions src/components/StablecoinAccordion/index.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"use client"

import { MdArrowForward } from "react-icons/md"

import { ChildOnlyProp, TranslationKey } from "@/lib/types"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import aaveImg from "@/public/images/dapps/aave.png"
// -- borrow
import compoundImg from "@/public/images/dapps/compound.png"
// -- earn
import gitcoinImg from "@/public/images/dapps/gitcoin.png"
import matchaImg from "@/public/images/dapps/matcha.png"
import summerfiImg from "@/public/images/dapps/summerfi.png"
// Static assets
Expand Down Expand Up @@ -66,13 +65,6 @@ export const useStablecoinAccordion = () => {
]

const earn: Array<CardProps> = [
{
title: t("page-stablecoins-accordion-earn-project-bounties"),
image: gitcoinImg,
link: "https://gitcoin.co/explorer",
description: t("page-stablecoins-accordion-earn-project-1-description"),
alt: t("gitcoin-logo"),
},
{
title: t("page-stablecoins-accordion-earn-project-bug-bounties"),
image: ethImg,
Expand Down
Loading