diff --git a/src/app/page.tsx b/src/app/page.tsx
index d0239e496..828b88743 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -13,10 +13,18 @@ export default function LandingPage() {
visible: true,
message: 'Peanut',
},
- cta: {
- label: 'TRY NOW',
- href: '/pay',
- },
+ ctas: [
+ {
+ label: 'TRY NOW',
+ href: 'https://peanut.me',
+ primary: true,
+ },
+ {
+ label: 'LEGACY',
+ href: '/pay',
+ primary: false,
+ },
+ ],
}
const story = {
marquee: {
@@ -154,14 +162,7 @@ export default function LandingPage() {
return (
-
-
-
-
-
-
-
-
+
)
}
diff --git a/src/assets/icons/gitbook-black.png b/src/assets/icons/gitbook-black.png
new file mode 100644
index 000000000..416a92d1d
Binary files /dev/null and b/src/assets/icons/gitbook-black.png differ
diff --git a/src/assets/icons/index.ts b/src/assets/icons/index.ts
index b0fd810dc..f58f2fcda 100644
--- a/src/assets/icons/index.ts
+++ b/src/assets/icons/index.ts
@@ -8,6 +8,7 @@ export { default as DROPDOWN_ICON } from './dropdown.svg'
export { default as ETHEREUM_ICON } from './ethereum.svg'
export { default as GAS_ICON } from './gas.svg'
export { default as GITBOOK_ICON } from './gitbook.png'
+export { default as GITBOOK_BLACK_ICON } from './gitbook-black.png'
export { default as GITHUB_INVERTED_ICON } from './github-inverted.png'
export { default as GITHUB_ICON } from './github.png'
export { default as MAIL_ICON } from './mail-icon.svg'
diff --git a/src/components/Global/Layout/index.tsx b/src/components/Global/Layout/index.tsx
index e2c31df9c..5f687200b 100644
--- a/src/components/Global/Layout/index.tsx
+++ b/src/components/Global/Layout/index.tsx
@@ -1,8 +1,7 @@
'use client'
-import { Banner } from '@/components/Global/Banner'
import Footer from '@/components/Global/Footer'
-import Header from '@/components/Global/Header'
+import { MigrationBanner } from '@/components/Global/MigrationBanner'
import { useFooterVisibility } from '@/context/footerVisibility'
import { Widget } from '@typeform/embed-react'
import { Roboto_Flex } from 'next/font/google'
@@ -41,10 +40,9 @@ const Layout = ({ children, className }: LayoutProps) => {
font-family: ${roboto.style.fontFamily};
}
`}
-
+
-
-
+
-
+
{
diff --git a/src/components/Global/MigrationBanner/index.tsx b/src/components/Global/MigrationBanner/index.tsx
new file mode 100644
index 000000000..52c666280
--- /dev/null
+++ b/src/components/Global/MigrationBanner/index.tsx
@@ -0,0 +1,22 @@
+'use client'
+import React from 'react'
+import { MarqueeWrapper } from '../MarqueeWrapper'
+import { PEANUTMAN_CHEERING } from '@/assets'
+import handThumbsUp from '@/assets/illustrations/hand-thumbs-up.svg'
+
+interface MigrationBannerProps {
+ className?: string
+}
+
+export function MigrationBanner({ className = '' }: MigrationBannerProps) {
+ return (
+
+
+
+

+
WE'VE MIGRATED TO PEANUT.ME
+
+
+
+ )
+}
diff --git a/src/components/Global/TryNow/index.tsx b/src/components/Global/TryNow/index.tsx
index 3a7afe2f5..b5731bb93 100644
--- a/src/components/Global/TryNow/index.tsx
+++ b/src/components/Global/TryNow/index.tsx
@@ -1,15 +1,24 @@
-import { ARROW_UP_CIRCLE, CASHOUT_ICON, Eyes, STAR_OUTLINE_ICON } from '@/assets'
+import {
+ ARROW_UP_CIRCLE,
+ CASHOUT_ICON,
+ Eyes,
+ STAR_OUTLINE_ICON,
+ SMILEY_ICON,
+ TRIANGLE_ICON,
+ GITBOOK_BLACK_ICON,
+} from '@/assets'
import { Card } from '@chakra-ui/react'
-import Image from 'next/image'
+import Image, { StaticImageData } from 'next/image'
import Link from 'next/link'
import { twMerge } from 'tailwind-merge'
interface ITryNowCard {
title: string
description: string
- icon: string
+ icon: StaticImageData | string
href: string
isExternal?: boolean
+ needsIconAdjustment?: boolean
}
const cards: ITryNowCard[] = [
@@ -32,6 +41,33 @@ const cards: ITryNowCard[] = [
icon: ARROW_UP_CIRCLE,
href: '/send',
},
+ {
+ title: 'Raffle (legacy)',
+ description: 'Create crypto raffles and distribute tokens to winners',
+ icon: STAR_OUTLINE_ICON,
+ href: '/raffle/create',
+ },
+ {
+ title: 'Batch Send (legacy)',
+ description: 'Send tokens to multiple recipients at once',
+ icon: SMILEY_ICON,
+ href: '/batch/create',
+ },
+ {
+ title: 'Refund (legacy)',
+ description: 'Refund unclaimed peanut links back to sender',
+ icon: TRIANGLE_ICON,
+ href: '/refund',
+ needsIconAdjustment: true,
+ },
+ {
+ title: 'Docs (legacy)',
+ description: 'Learn about Peanut Protocol and its features',
+ icon: GITBOOK_BLACK_ICON,
+ href: 'https://docs.peanut.to/',
+ isExternal: true,
+ needsIconAdjustment: true,
+ },
]
const TryNow = () => {
@@ -59,10 +95,15 @@ const TryNow = () => {
-
+
{
index === 0 ? 'p-4' : 'p-2'
)}
>
-
+
{card.title}
@@ -84,17 +129,6 @@ const TryNow = () => {
))}
-
-
-
- What is Peanut Protocol?
-
-
)
}
diff --git a/src/components/LandingPage/hero.tsx b/src/components/LandingPage/hero.tsx
index dd24a1137..47f5b9d79 100644
--- a/src/components/LandingPage/hero.tsx
+++ b/src/components/LandingPage/hero.tsx
@@ -2,7 +2,6 @@ import { AboutPeanut, ButterySmoothGlobalMoney, HandThumbsUp, PeanutGuyGIF, Spar
import { Stack } from '@chakra-ui/react'
import { motion } from 'framer-motion'
import { useEffect, useState } from 'react'
-import { MarqueeComp } from '../Global/MarqueeWrapper'
import { CloudImages, HeroImages } from './imageAssets'
type HeroProps = {
@@ -11,14 +10,15 @@ type HeroProps = {
visible: boolean
message?: string
}
- cta?: {
+ ctas?: Array<{
label: string
href: string
- }
+ primary: boolean
+ }>
buttonVisible?: boolean
}
-export function Hero({ heading, marquee = { visible: false }, cta, buttonVisible }: HeroProps) {
+export function Hero({ heading, marquee = { visible: false }, ctas, buttonVisible }: HeroProps) {
const [duration, setDuration] = useState(10)
const [screenWidth, setScreenWidth] = useState(typeof window !== 'undefined' ? window.innerWidth : 1200) // Added typeof check for SSR
@@ -65,45 +65,52 @@ export function Hero({ heading, marquee = { visible: false }, cta, buttonVisible
-
- {marquee && (
-
- )}
-
-
- {cta?.href && cta?.label && (
-
-
+ {ctas && ctas.length > 0 && (
+
)}
)
diff --git a/src/components/Welcome/welcomeSDK.tsx b/src/components/Welcome/welcomeSDK.tsx
index c5936b0db..6a6306b66 100644
--- a/src/components/Welcome/welcomeSDK.tsx
+++ b/src/components/Welcome/welcomeSDK.tsx
@@ -24,7 +24,6 @@ import {
SBF_PERSON,
SmileStars,
PEANUTMAN_HAPPY,
- REDPACKET_LOTTIE,
TEAL_MOCKUP_1,
DROPDOWN_ICON,
} from '@/assets'
@@ -178,7 +177,7 @@ const testimonials = [
const defaultLottieOptions = {
loop: true,
autoplay: true,
- animationData: REDPACKET_LOTTIE,
+ animationData: '/lottie/redpacket-lottie.json',
rendererSettings: {
preserveAspectRatio: 'xMidYMid slice',
},
@@ -333,7 +332,7 @@ export function WelcomeSDK() {
target="_blank"
>
-
+