From 269cfabdef6cef32f1683826ac1c6bc55d508d65 Mon Sep 17 00:00:00 2001 From: Tyrel Chambers Date: Tue, 4 Nov 2025 15:52:32 -0500 Subject: [PATCH 1/2] add mobile journeys --- .../JourneyCards/JourneyCards.astro | 127 +++++++++++------- .../JourneyCards/JourneyTabGrid.module.css | 124 +++++++++++++++++ .../JourneyCards/JourneyTabGrid.tsx | 71 ++++++++++ src/components/TabGrid/GridCard.module.css | 20 ++- src/components/TabGrid/GridCard.tsx | 4 +- src/components/TabGrid/README.md | 11 +- 6 files changed, 303 insertions(+), 54 deletions(-) create mode 100644 src/components/JourneyCards/JourneyTabGrid.module.css create mode 100644 src/components/JourneyCards/JourneyTabGrid.tsx diff --git a/src/components/JourneyCards/JourneyCards.astro b/src/components/JourneyCards/JourneyCards.astro index db9f8a7075a..4bcab29d6f9 100644 --- a/src/components/JourneyCards/JourneyCards.astro +++ b/src/components/JourneyCards/JourneyCards.astro @@ -1,5 +1,6 @@ --- import { Tag, Typography } from "@chainlink/blocks" +import { JourneyTabGrid } from "./JourneyTabGrid" const columns = [ { @@ -8,25 +9,25 @@ const columns = [ { title: "Explore Cross-Chain Interoperability with CCIP", description: "Learn cross-chain concepts, workflows, and real-world use cases.", - badge: "CCIP", + badge: "ccip", href: "/", }, { title: "Understand How Data Feeds Power dApps", description: "See how oracle data feeds deliver price feeds and reference data.", - badge: "DATA FEEDS", + badge: "data feeds", href: "/", }, { title: "Learn How Data Streams Deliver Real-Time Data", description: "Understand how low-latency streams support time-sensitive applications.", - badge: "CCIP", + badge: "data streams", href: "/", }, { title: "Discover Off-Chain Compute with Functions", description: "Learn how Functions connect smart contracts to APIs and custom logic.", - badge: "DATA FEEDS", + badge: "functions", href: "/", }, ], @@ -37,25 +38,25 @@ const columns = [ { title: "Build Cross-Chain Apps with CCIP Tutorials", description: "Follow step-by-step guides with language switching (EVM, Rust, Move, etc.).", - badge: "CCIP", + badge: "ccip", href: "/", }, { title: "Integrate Data Feeds into Smart Contracts", description: "Plug feeds into your apps with examples and addresses.", - badge: "DATA FEEDS", + badge: "data feeds", href: "/", }, { title: "Implement Real-Time Use Cases with Data Streams", description: "Use low-latency data in trading, gaming, and other live applications.", - badge: "CCIP", + badge: "data streams", href: "/", }, { title: "Connect Contracts to APIs with Functions", description: "Add external data and custom logic to your dApps.", - badge: "DATA FEEDS", + badge: "functions", href: "/", }, ], @@ -66,70 +67,94 @@ const columns = [ { title: "Monitor CCIP Transactions in Real Time", description: "Track the progress and status of cross-chain transactions.", - badge: "CCIP", + badge: "ccip", href: "/", }, { title: "Stay Up to Date with Data Feeds", description: "Rely on changelogs and schema updates for accuracy.", - badge: "DATA FEEDS", + badge: "data feeds", href: "/", }, { title: "Deliver Reliable Low-Latency Data with Streams", description: "Operate Data Streams at scale for critical, time-sensitive use cases.", - badge: "CCIP", + badge: "data streams", href: "/", }, { title: "Scale and Optimize Functions", description: "Debug, manage workloads, and grow your applications.", - badge: "DATA FEEDS", + badge: "functions", href: "/", }, ], }, ] + +// Transform columns to tabs format for JourneyTabGrid +const tabs = columns.map((column) => ({ + name: column.title, + items: column.items.map((item) => ({ + title: item.title, + description: item.description, + link: item.href, + badge: item.badge, + })), +})) ---
- Start your Chainlink journey -
- { - columns.map((column) => ( -
-
- - {column.title} - -
- {column.items.map((item) => ( - -
- {item.title} - - {item.description} - -
- -
- - {item.badge} - - -
-
- ))} -
- )) - } -
+
+ Start your Chainlink journey +
+ { + columns.map((column) => ( +
+
+ + {column.title} + +
+ {column.items.map((item) => ( + +
+ {item.title} + + {item.description} + +
+ +
+ + {item.badge} + + +
+
+ ))} +
+ )) + } +
+
+
+ +