From 016dbf6d97bbfd87f30df9135e116ad91df45098 Mon Sep 17 00:00:00 2001 From: silent-cipher Date: Wed, 22 Jul 2026 17:50:26 +0530 Subject: [PATCH 1/2] feat: implement FOC design system foundations and global layout --- subgraph-client/index.html | 2 +- subgraph-client/public/fonts/AspektaVF.woff2 | Bin 0 -> 28516 bytes .../public/fonts/FunnelSans-Italic.woff2 | Bin 0 -> 24420 bytes subgraph-client/public/fonts/FunnelSans.woff2 | Bin 0 -> 22584 bytes .../public/fonts/GeistVariableVF.woff2 | Bin 53444 -> 0 bytes .../ProofSetDetails/JsonDisplay.tsx | 5 +- subgraph-client/src/components/go-home.tsx | 9 -- .../src/components/layout/FocMark.tsx | 29 +++++ .../src/components/layout/Footer.tsx | 49 ++++++++ .../src/components/layout/Header.tsx | 100 +++++++++++++++ .../src/components/layout/Layout.tsx | 15 +++ .../src/components/layout/NameLogo.tsx | 10 ++ .../src/components/page-header.tsx | 115 ------------------ .../src/components/shared/Footer.tsx | 12 -- .../src/components/shared/Header.tsx | 7 -- .../src/components/shared/NetworkSelector.tsx | 22 ++-- .../src/components/shared/ThemeProvider.tsx | 67 ---------- .../src/components/shared/ThemeToggle.tsx | 30 ----- subgraph-client/src/components/ui/alert.tsx | 8 +- subgraph-client/src/components/ui/button.tsx | 21 ++-- subgraph-client/src/components/ui/card.tsx | 22 +++- subgraph-client/src/components/ui/dialog.tsx | 2 +- .../src/components/ui/pagination.tsx | 83 +++++++------ subgraph-client/src/main.tsx | 17 ++- subgraph-client/src/pages/Documentation.tsx | 8 +- subgraph-client/src/pages/GasCalculator.tsx | 6 +- subgraph-client/src/pages/Landing.tsx | 9 +- subgraph-client/src/pages/PieceDetails.tsx | 6 +- subgraph-client/src/pages/ProofSetDetails.tsx | 6 +- subgraph-client/src/pages/ProofSets.tsx | 4 +- subgraph-client/src/pages/ProviderDetails.tsx | 6 +- subgraph-client/src/pages/Providers.tsx | 4 +- subgraph-client/src/pages/ServiceDetails.tsx | 6 +- subgraph-client/src/pages/Services.tsx | 4 +- subgraph-client/src/router/Layout.tsx | 14 --- subgraph-client/src/router/routes.tsx | 59 ++++----- subgraph-client/src/styles/index.css | 106 ++++++++-------- subgraph-client/tailwind.config.js | 12 +- 38 files changed, 409 insertions(+), 466 deletions(-) create mode 100644 subgraph-client/public/fonts/AspektaVF.woff2 create mode 100644 subgraph-client/public/fonts/FunnelSans-Italic.woff2 create mode 100644 subgraph-client/public/fonts/FunnelSans.woff2 delete mode 100644 subgraph-client/public/fonts/GeistVariableVF.woff2 delete mode 100644 subgraph-client/src/components/go-home.tsx create mode 100644 subgraph-client/src/components/layout/FocMark.tsx create mode 100644 subgraph-client/src/components/layout/Footer.tsx create mode 100644 subgraph-client/src/components/layout/Header.tsx create mode 100644 subgraph-client/src/components/layout/Layout.tsx create mode 100644 subgraph-client/src/components/layout/NameLogo.tsx delete mode 100644 subgraph-client/src/components/page-header.tsx delete mode 100644 subgraph-client/src/components/shared/Footer.tsx delete mode 100644 subgraph-client/src/components/shared/Header.tsx delete mode 100644 subgraph-client/src/components/shared/ThemeProvider.tsx delete mode 100644 subgraph-client/src/components/shared/ThemeToggle.tsx delete mode 100644 subgraph-client/src/router/Layout.tsx diff --git a/subgraph-client/index.html b/subgraph-client/index.html index 1c28ea4..c47a24b 100644 --- a/subgraph-client/index.html +++ b/subgraph-client/index.html @@ -1,5 +1,5 @@ - + diff --git a/subgraph-client/public/fonts/AspektaVF.woff2 b/subgraph-client/public/fonts/AspektaVF.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..82967520600e9bf28355d927b0f3811acf1ff728 GIT binary patch literal 28516 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 literal 0 HcmV?d00001 diff --git a/subgraph-client/public/fonts/FunnelSans-Italic.woff2 b/subgraph-client/public/fonts/FunnelSans-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..00a15b0f75895f1a30bcc2104c1afebaa3297f8b GIT binary patch literal 24420 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 literal 0 HcmV?d00001 diff --git a/subgraph-client/public/fonts/GeistVariableVF.woff2 b/subgraph-client/public/fonts/GeistVariableVF.woff2 deleted file mode 100644 index 328a020bb563ac494e5ba10ecc29b5eb8c85226b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53444 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 NOYW^eH+3!m006N9us8q! diff --git a/subgraph-client/src/components/ProofSetDetails/JsonDisplay.tsx b/subgraph-client/src/components/ProofSetDetails/JsonDisplay.tsx index 6250f18..449409e 100644 --- a/subgraph-client/src/components/ProofSetDetails/JsonDisplay.tsx +++ b/subgraph-client/src/components/ProofSetDetails/JsonDisplay.tsx @@ -1,11 +1,8 @@ import JsonView from "@uiw/react-json-view"; -import { githubDarkTheme } from "@uiw/react-json-view/githubDark"; import { githubLightTheme } from "@uiw/react-json-view/githubLight"; -import { useTheme } from "@/components/shared/ThemeProvider"; const JsonDisplay = ({ jsonData }) => { - const { theme } = useTheme(); - return ; + return ; }; export default JsonDisplay; diff --git a/subgraph-client/src/components/go-home.tsx b/subgraph-client/src/components/go-home.tsx deleted file mode 100644 index 3421be3..0000000 --- a/subgraph-client/src/components/go-home.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Link } from "react-router-dom"; - -export default function GoHomeLink() { - return ( - - ← Go Home - - ); -} diff --git a/subgraph-client/src/components/layout/FocMark.tsx b/subgraph-client/src/components/layout/FocMark.tsx new file mode 100644 index 0000000..1f0b1f3 --- /dev/null +++ b/subgraph-client/src/components/layout/FocMark.tsx @@ -0,0 +1,29 @@ +// FOC mark ported from the filecoin-design-system bundle (FocLogo.jsx, color tone). +// Path data is authored on a 1000 x 896.787 canvas. +const CIRCLE = + "M 450.756 0.008 C 696.155 1.464 897.499 202.444 895.678 452.215 C 895.321 502.975 886.412 551.241 870.727 596.664 C 837.283 560.016 789.586 536.683 736.72 535.386 L 733.201 535.331 C 662.086 534.908 600.402 573.984 568.137 631.393 C 495.132 638.865 438.13 700.538 438.13 775.53 L 438.143 777.404 C 438.753 825.592 462.888 868.109 499.589 894.004 C 482.635 895.932 465.376 896.889 447.843 896.778 C 200.622 897.87 -1.087 695.433 0.004 446.392 C 1.097 200.262 202.078 -1.449 450.756 0.008 Z M 614.961 163.486 C 570.18 161.666 538.139 184.242 513.017 218.83 C 488.257 253.057 477.334 293.105 465.32 332.791 C 462.043 344.443 459.129 356.095 455.487 368.836 C 412.159 362.647 370.29 356.456 327.327 350.266 C 325.87 361.919 324.414 372.843 322.955 384.495 C 365.556 391.049 406.335 397.238 448.207 403.789 C 442.38 427.82 437.281 450.029 431.821 472.604 C 390.679 466.779 351.356 461.318 312.032 455.858 C 310.576 468.601 309.121 478.43 307.665 489.717 C 347.351 495.906 385.582 501.732 423.812 507.557 C 423.812 511.925 424.538 514.478 423.812 516.661 C 411.433 568.725 400.145 621.521 386.31 673.224 C 379.756 697.981 369.195 721.647 348.807 739.123 C 332.06 753.322 313.488 751.135 300.745 733.297 C 294.921 725.287 290.188 715.821 282.543 710.358 C 277.08 706.355 264.701 703.806 260.698 707.083 C 254.871 712.181 250.502 722.739 250.867 730.749 C 251.233 737.667 258.146 746.042 264.335 750.775 C 285.089 766.796 309.852 768.979 334.609 764.246 C 376.48 755.87 405.97 729.657 424.177 692.883 C 438.738 664.119 449.299 633.171 459.492 602.221 C 468.596 574.187 474.786 545.424 482.066 516.298 C 523.209 522.488 563.261 528.311 604.404 534.136 C 608.045 522.487 610.957 511.564 614.234 500.277 C 571.271 493.723 530.129 487.894 488.986 481.705 C 494.084 457.313 498.451 435.829 503.184 412.163 C 542.141 417.626 580.374 423.087 619.695 428.549 C 622.972 416.898 625.884 406.705 629.161 395.053 C 588.748 389.228 550.153 383.4 508.645 377.21 C 522.845 327.693 534.86 280.36 549.787 234.12 C 554.52 218.829 565.808 204.63 577.095 192.616 C 592.024 177.322 612.413 180.599 625.157 197.71 C 630.255 204.629 635.35 212.276 641.543 218.466 C 649.553 226.111 661.566 230.115 669.576 222.47 C 674.674 217.372 677.952 205.358 675.037 196.983 C 672.49 190.065 671.034 189.338 668.122 186.061 C 653.922 170.04 634.988 164.216 614.961 163.486 Z"; +const F = + "M 208.65 438.837 C 198.454 469.787 187.896 500.734 173.332 529.498 C 155.126 566.272 125.635 592.489 83.763 600.861 C 59.005 605.594 34.248 603.411 13.494 587.391 C 7.305 582.657 0.386 574.282 0.021 567.363 C -0.344 559.353 4.028 548.795 9.852 543.697 C 13.856 540.42 26.238 542.971 31.698 546.974 C 39.343 552.437 44.076 561.904 49.904 569.914 C 62.647 587.755 81.215 589.938 97.962 575.739 C 118.354 558.262 128.912 534.596 135.466 509.838 C 149.301 458.135 160.588 405.343 172.967 353.275 C 173.697 351.092 172.967 348.542 172.967 344.173 C 134.737 338.349 96.506 332.521 56.82 326.332 C 58.276 315.045 59.735 305.216 61.191 292.473 C 100.513 297.933 139.835 303.395 180.977 309.22 C 186.44 286.645 191.535 264.435 197.363 240.408 C 155.49 233.853 114.713 227.664 72.114 221.11 C 73.57 209.458 75.026 198.535 76.482 186.883 C 119.446 193.073 161.315 199.262 204.643 205.454 C 208.285 192.711 211.198 181.059 214.475 169.407 C 226.489 129.72 237.414 89.672 262.171 55.445 C 287.294 20.856 319.335 -1.718 364.119 0.103 C 384.143 0.832 403.076 6.657 417.276 22.677 C 420.188 25.954 421.644 26.681 424.195 33.6 C 427.107 41.975 423.83 53.989 418.732 59.087 C 410.722 66.732 398.708 62.729 390.698 55.08 C 384.508 48.891 379.41 41.245 374.312 34.326 C 361.569 17.214 341.18 13.937 326.251 29.231 C 314.966 41.245 303.679 55.445 298.946 70.736 C 284.016 116.977 272.003 164.312 257.803 213.826 C 299.307 220.016 337.903 225.843 378.319 231.668 C 375.042 243.32 372.129 253.513 368.852 265.165 C 329.528 259.702 291.3 254.242 252.34 248.78 C 247.607 272.446 243.239 293.929 238.141 318.322 C 279.283 324.511 320.426 330.338 363.39 336.893 C 360.113 348.18 357.2 359.102 353.558 370.752 C 312.416 364.927 272.364 359.102 231.222 352.913 C 224.306 382.039 218.116 410.803 208.65 438.837 Z"; +const CLOUD_BG = + "M 269.158 0.003 C 333.987 0.39 390.353 39.244 415.773 95.308 L 416.935 95.308 C 482.732 95.308 536.11 148.647 536.11 214.444 C 536.11 280.24 482.772 333.578 416.975 333.579 L 119.135 333.579 C 53.338 333.578 0 280.24 0 214.444 C 0 148.647 53.379 95.308 119.175 95.308 L 120.426 95.308 C 145.978 39.012 202.853 -0.392 269.158 0.003 Z"; +const CLOUD_RING = + "M 416.975 333.579 C 482.772 333.578 536.11 280.24 536.11 214.444 C 536.11 148.647 482.732 95.308 416.935 95.308 L 415.773 95.308 C 390.353 39.244 333.987 0.39 269.158 0.003 C 202.853 -0.392 145.978 39.012 120.426 95.308 L 119.175 95.308 C 53.379 95.308 0 148.647 0 214.444 C 0 280.24 53.338 333.578 119.135 333.579 L 416.975 333.579 Z M 489.744 214.444 C 489.744 254.633 457.165 287.212 416.975 287.213 L 119.135 287.213 C 78.946 287.212 46.366 254.633 46.366 214.444 L 46.389 212.567 C 47.385 173.264 79.594 141.675 119.175 141.675 L 150.3 141.675 L 162.646 114.472 C 180.965 74.113 221.644 46.088 268.882 46.369 C 314.993 46.644 355.339 74.301 373.545 114.454 L 385.886 141.675 L 416.935 141.675 C 457.145 141.675 489.744 174.275 489.744 214.444 Z"; + +export function FocMark({ className }: { className?: string }) { + return ( + + + + + + + + + + + + + + + ); +} diff --git a/subgraph-client/src/components/layout/Footer.tsx b/subgraph-client/src/components/layout/Footer.tsx new file mode 100644 index 0000000..2fb4a88 --- /dev/null +++ b/subgraph-client/src/components/layout/Footer.tsx @@ -0,0 +1,49 @@ +import { Link } from "react-router-dom"; +import { NameLogo } from "./NameLogo"; + +export function Footer() { + return ( + + ); +} diff --git a/subgraph-client/src/components/layout/Header.tsx b/subgraph-client/src/components/layout/Header.tsx new file mode 100644 index 0000000..0ad9c0e --- /dev/null +++ b/subgraph-client/src/components/layout/Header.tsx @@ -0,0 +1,100 @@ +import { Menu, X } from "lucide-react"; +import { useState } from "react"; +import { Link, useLocation } from "react-router-dom"; +import { NetworkSelector } from "@/components/shared/NetworkSelector"; +import { useNetwork } from "@/contexts/NetworkContext"; +import { cn } from "@/lib/utils"; +import { NameLogo } from "./NameLogo"; + +export function Header() { + const { network } = useNetwork(); + const location = useLocation(); + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); + + const navItems = [ + { label: "Providers", to: `/${network}/providers` }, + { label: "Datasets", to: `/${network}/datasets` }, + { label: "Services", to: `/${network}/services` }, + { label: "Docs", to: "/documentation" }, + { label: "Gas Calculator", to: "/gas-calculator" }, + ]; + + const isActive = (to: string) => location.pathname === to || location.pathname.startsWith(`${to}/`); + + const desktopLinkClass = (active: boolean) => + cn( + "text-[15px] tracking-wide transition-colors", + active ? "font-medium text-foreground" : "text-muted-foreground hover:text-foreground", + ); + + const mobileLinkClass = (active: boolean) => + cn( + "rounded-md p-2 text-sm tracking-wide transition-colors", + active + ? "bg-secondary font-medium text-foreground" + : "text-muted-foreground hover:bg-secondary hover:text-foreground", + ); + + const closeMobileMenu = () => setMobileMenuOpen(false); + + return ( +
+
+ + + + + + + +
+ + {mobileMenuOpen && ( + + )} +
+ ); +} diff --git a/subgraph-client/src/components/layout/Layout.tsx b/subgraph-client/src/components/layout/Layout.tsx new file mode 100644 index 0000000..0caf468 --- /dev/null +++ b/subgraph-client/src/components/layout/Layout.tsx @@ -0,0 +1,15 @@ +import { Outlet } from "react-router-dom"; +import { Footer } from "@/components/layout/Footer"; +import { Header } from "@/components/layout/Header"; + +export function Layout() { + return ( +
+
+
+ +
+
+
+ ); +} diff --git a/subgraph-client/src/components/layout/NameLogo.tsx b/subgraph-client/src/components/layout/NameLogo.tsx new file mode 100644 index 0000000..11fec3e --- /dev/null +++ b/subgraph-client/src/components/layout/NameLogo.tsx @@ -0,0 +1,10 @@ +import { FocMark } from "./FocMark"; + +export function NameLogo() { + return ( + + + PDP Explorer + + ); +} diff --git a/subgraph-client/src/components/page-header.tsx b/subgraph-client/src/components/page-header.tsx deleted file mode 100644 index 3130283..0000000 --- a/subgraph-client/src/components/page-header.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import { Activity, Book, Calculator, FileCode, Menu, Server } from "lucide-react"; -import { useState } from "react"; -import { Link, useNavigate } from "react-router-dom"; -import { useNetwork } from "@/contexts/NetworkContext"; -import { NetworkSelector } from "./shared/NetworkSelector"; - -export default function PageHeader() { - const { network } = useNetwork(); - const navigate = useNavigate(); - const [mobileMenuOpen, setMobileMenuOpen] = useState(false); - return ( -
-
-
navigate("/")} - > -
- -
-

- PDP Explorer -

- {/* */} -
- {/* Mobile menu button */} - -
- - {/* Desktop Navigation */} -
- - - PDP Services - - - - Docs - - - - Gas Calculator - - - Status - - {/* Network Selector */} - - {/* TODO: Fix colors to add this toggle ( default theme is light) */} - {/* */} -
- - {/* Mobile Navigation */} - {mobileMenuOpen && ( -
- - - Docs - - - - Services - - - - Gas Calculator - - - Status - - -
- )} -
- ); -} diff --git a/subgraph-client/src/components/shared/Footer.tsx b/subgraph-client/src/components/shared/Footer.tsx deleted file mode 100644 index 05736b9..0000000 --- a/subgraph-client/src/components/shared/Footer.tsx +++ /dev/null @@ -1,12 +0,0 @@ -export const Footer = () => { - return ( -
-

- Made with ❤️ by{" "} - - FilOz - -

-
- ); -}; diff --git a/subgraph-client/src/components/shared/Header.tsx b/subgraph-client/src/components/shared/Header.tsx deleted file mode 100644 index 69c563c..0000000 --- a/subgraph-client/src/components/shared/Header.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export const Header = () => { - return ( -
-

Header

-
- ); -}; diff --git a/subgraph-client/src/components/shared/NetworkSelector.tsx b/subgraph-client/src/components/shared/NetworkSelector.tsx index 04a0af8..b105986 100644 --- a/subgraph-client/src/components/shared/NetworkSelector.tsx +++ b/subgraph-client/src/components/shared/NetworkSelector.tsx @@ -33,17 +33,15 @@ export const NetworkSelector = () => { } }; - // Network display names and colors + // Network display names and brand status colors const networkConfig = { mainnet: { name: "Filecoin Mainnet", - color: "bg-green-500", - textColor: "text-green-700", + color: "bg-[#00ffae]", }, calibration: { name: "Filecoin Calibration", - color: "bg-purple-500", - textColor: "text-purple-700", + color: "bg-[#d400ff]", }, }; @@ -51,14 +49,14 @@ export const NetworkSelector = () => {
- - - setTheme("light")}>Light - setTheme("dark")}>Dark - setTheme("system")}>System - - - ); -} diff --git a/subgraph-client/src/components/ui/alert.tsx b/subgraph-client/src/components/ui/alert.tsx index b972db1..b19b7b2 100644 --- a/subgraph-client/src/components/ui/alert.tsx +++ b/subgraph-client/src/components/ui/alert.tsx @@ -4,12 +4,12 @@ import * as React from "react"; import { cn } from "@/lib/utils"; const alertVariants = cva( - "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground", + "relative w-full rounded-xl p-4 ring-1 ring-inset [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4", { variants: { variant: { - default: "bg-background text-foreground", - destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive", + default: "bg-primary/[0.06] text-foreground ring-primary/25 [&>svg]:text-primary", + destructive: "bg-destructive/[0.06] text-foreground ring-destructive/30 [&>svg]:text-destructive", }, }, defaultVariants: { @@ -28,7 +28,7 @@ Alert.displayName = "Alert"; const AlertTitle = React.forwardRef>( ({ className, ...props }, ref) => ( -
+
), ); AlertTitle.displayName = "AlertTitle"; diff --git a/subgraph-client/src/components/ui/button.tsx b/subgraph-client/src/components/ui/button.tsx index 55feaf6..fd11848 100644 --- a/subgraph-client/src/components/ui/button.tsx +++ b/subgraph-client/src/components/ui/button.tsx @@ -5,23 +5,26 @@ import * as React from "react"; import { cn } from "@/lib/utils"; const buttonVariants = cva( - "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", + "inline-flex items-center justify-center whitespace-nowrap rounded-lg font-display text-sm font-semibold tracking-wide ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", { variants: { variant: { - default: "bg-primary text-primary-foreground hover:bg-primary/90", - destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90", - outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground", - secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", + default: "bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active", + destructive: "bg-destructive text-destructive-foreground hover:bg-destructive-hover", + outline: "border border-input bg-background hover:border-foreground hover:bg-secondary", + secondary: "bg-secondary text-secondary-foreground hover:bg-zinc-100", ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline", + link: "text-primary underline-offset-4 hover:text-primary-hover hover:underline", }, size: { default: "h-10 px-4 py-2", sm: "h-9 rounded-md px-3", - lg: "h-11 rounded-md px-8", + lg: "h-11 rounded-lg px-8", icon: "h-10 w-10", }, + glow: { + true: "shadow-glow-blue", + }, }, defaultVariants: { variant: "default", @@ -37,9 +40,9 @@ export interface ButtonProps } const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { + ({ className, variant, size, glow, asChild = false, ...props }, ref) => { const Comp = asChild ? Slot : "button"; - return ; + return ; }, ); Button.displayName = "Button"; diff --git a/subgraph-client/src/components/ui/card.tsx b/subgraph-client/src/components/ui/card.tsx index 16f1f5e..db5ec70 100644 --- a/subgraph-client/src/components/ui/card.tsx +++ b/subgraph-client/src/components/ui/card.tsx @@ -1,25 +1,35 @@ import type * as React from "react"; +import { cn } from "@/lib/utils"; + export function Card({ className, ...props }: React.HTMLAttributes) { - return
; + return ( +
+ ); } export function CardHeader({ className, ...props }: React.HTMLAttributes) { - return
; + return
; } export function CardTitle({ className, ...props }: React.HTMLAttributes) { - return

; + return

; } export function CardDescription({ className, ...props }: React.HTMLAttributes) { - return

; + return

; } export function CardContent({ className, ...props }: React.HTMLAttributes) { - return

; + return
; } export function CardFooter({ className, ...props }: React.HTMLAttributes) { - return
; + return
; } diff --git a/subgraph-client/src/components/ui/dialog.tsx b/subgraph-client/src/components/ui/dialog.tsx index 8946bdc..e9e6d2c 100644 --- a/subgraph-client/src/components/ui/dialog.tsx +++ b/subgraph-client/src/components/ui/dialog.tsx @@ -67,7 +67,7 @@ const DialogTitle = React.forwardRef< >(({ className, ...props }, ref) => ( )); diff --git a/subgraph-client/src/components/ui/pagination.tsx b/subgraph-client/src/components/ui/pagination.tsx index 19dd5f7..f35e567 100644 --- a/subgraph-client/src/components/ui/pagination.tsx +++ b/subgraph-client/src/components/ui/pagination.tsx @@ -1,6 +1,6 @@ import { ChevronLeft, ChevronRight } from "lucide-react"; import React from "react"; -import { Button } from "./button"; +import { cn } from "@/lib/utils"; interface PaginationProps { currentPage: number; @@ -8,6 +8,17 @@ interface PaginationProps { onPageChange: (page: number) => void; } +const navButtonClass = + "inline-flex items-center gap-1 rounded-md px-2.5 py-1.5 text-sm text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-40"; + +const pageCellClass = (active: boolean) => + cn( + "inline-flex h-10 min-w-10 items-center justify-center rounded-md px-2 text-sm transition-colors", + active + ? "bg-secondary font-semibold text-foreground shadow-[inset_0_0_0_1px_hsl(var(--border))]" + : "text-muted-foreground hover:text-foreground", + ); + export const Pagination: React.FC = ({ currentPage, totalPages, onPageChange }) => { const pages = Array.from({ length: totalPages }, (_, i) => i + 1); @@ -18,48 +29,46 @@ export const Pagination: React.FC = ({ currentPage, totalPages, }); return ( -
- - - {visiblePages.map((page, index) => { - // Add ellipsis - if (index > 0 && page - visiblePages[index - 1] > 1) { - return ( - - ... - - - ); - } + Prev + - return ( - - ); - })} + + {visiblePages.map((page, index) => ( + + {index > 0 && page - visiblePages[index - 1] > 1 && ( + + … + + )} + + + ))} + - -
+ + ); }; diff --git a/subgraph-client/src/main.tsx b/subgraph-client/src/main.tsx index 49c7fad..1925581 100644 --- a/subgraph-client/src/main.tsx +++ b/subgraph-client/src/main.tsx @@ -5,7 +5,6 @@ import AppRoutes from "./router/routes"; import "./styles/index.css"; import { SWRConfig } from "swr"; import { ProgressBar } from "@/components/shared/ProgressBar"; -import { ThemeProvider } from "@/components/shared/ThemeProvider"; import { Toaster } from "@/components/ui/toaster"; import { NetworkProvider } from "@/contexts/NetworkContext"; import { fetcher } from "@/utility/fetcher"; @@ -22,15 +21,13 @@ ReactDOM.createRoot(document.getElementById("root")!).render( onError: (err) => console.error("GraphQL SWR error:", err), }} > - - - - - - - - - + + + + + + + , ); diff --git a/subgraph-client/src/pages/Documentation.tsx b/subgraph-client/src/pages/Documentation.tsx index 7d4253b..da9d031 100644 --- a/subgraph-client/src/pages/Documentation.tsx +++ b/subgraph-client/src/pages/Documentation.tsx @@ -6,7 +6,6 @@ import rehypeHighlight from "rehype-highlight"; import rehypeRaw from "rehype-raw"; import remarkGfm from "remark-gfm"; import slugify from "slugify"; -import GoHomeLink from "@/components/go-home"; // Documentation structure const docs = [ @@ -85,12 +84,7 @@ export const Documentation = () => { }, [docId, navigate]); return ( -
- {/* Back button */} -
- -
- +
{/* Sidebar */}
diff --git a/subgraph-client/src/pages/GasCalculator.tsx b/subgraph-client/src/pages/GasCalculator.tsx index f4ad097..858a600 100644 --- a/subgraph-client/src/pages/GasCalculator.tsx +++ b/subgraph-client/src/pages/GasCalculator.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "react"; -import GoHomeLink from "@/components/go-home"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; @@ -119,12 +118,9 @@ export const GasCalculator = () => { }; return ( -
+
-
- -

PDP Gas & Costs Calculator

Calculate gas costs, fees, and profitability of Filecoin PDP based on your parameters diff --git a/subgraph-client/src/pages/Landing.tsx b/subgraph-client/src/pages/Landing.tsx index 2033023..0f953c4 100644 --- a/subgraph-client/src/pages/Landing.tsx +++ b/subgraph-client/src/pages/Landing.tsx @@ -6,7 +6,6 @@ import { type SearchResult, search } from "@/api/apiService"; import { NetworkStatsCard } from "@/components/Landing/NetworkStatsCard"; import { RecentProofSetsTable } from "@/components/Landing/RecentProofSetsTable"; import { RecentProvidersTable } from "@/components/Landing/RecentProvidersTable"; -import PageHeader from "@/components/page-header"; import { useNetwork } from "@/contexts/NetworkContext"; import { useToast } from "@/hooks/use-toast"; import useGraphQL from "@/hooks/useGraphQL"; @@ -155,10 +154,8 @@ export const Landing = () => { const faultedPeriods7d = weeklyActivities.reduce((sum, a) => sum + Number(a.totalFaultedPeriods || 0), 0); return ( -

+
- {/* Responsive header for title, navigation and network selector */} -
{ {/* Network Wide Metrics Section */}
-

Network Overview

+

Network Overview

{
-
+

Want to Learn More?

diff --git a/subgraph-client/src/pages/PieceDetails.tsx b/subgraph-client/src/pages/PieceDetails.tsx index 5642e7e..aeb2547 100644 --- a/subgraph-client/src/pages/PieceDetails.tsx +++ b/subgraph-client/src/pages/PieceDetails.tsx @@ -1,6 +1,5 @@ import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; -import GoHomeLink from "@/components/go-home"; import { PieceDataSetsTable } from "@/components/PieceDetails/PieceDataSetsTable"; import { PieceOverviewCard } from "@/components/PieceDetails/PieceOverviewCard"; import usePiecePageData from "@/hooks/usePiecePageData"; @@ -34,10 +33,7 @@ export const PieceDetails = () => { } return ( -
-
- -
+
{/* Show title only when details are loaded/loading, not on invalid ID state */} {cid && isValidPieceId &&

Piece Id: {cid}

} diff --git a/subgraph-client/src/pages/ProofSetDetails.tsx b/subgraph-client/src/pages/ProofSetDetails.tsx index 4a020b9..fa9dbac 100644 --- a/subgraph-client/src/pages/ProofSetDetails.tsx +++ b/subgraph-client/src/pages/ProofSetDetails.tsx @@ -1,6 +1,5 @@ import { useState } from "react"; import { useParams } from "react-router-dom"; -import GoHomeLink from "@/components/go-home"; import { ActivityTabs } from "@/components/ProofSetDetails/ActivityTabs"; import { HeatmapSection } from "@/components/ProofSetDetails/HeatmapSection"; import { ProofSetActivityChart } from "@/components/ProofSetDetails/ProofSetActivityChart"; @@ -66,10 +65,7 @@ export const ProofSetDetails = () => { }; return ( -
-
- -
+
{/* Show title only if core proofSet data loaded, avoid showing before ID is confirmed valid */} {proofSet &&

Data Set Details: {dataSetId}

} diff --git a/subgraph-client/src/pages/ProofSets.tsx b/subgraph-client/src/pages/ProofSets.tsx index 914a92b..ea0f26e 100644 --- a/subgraph-client/src/pages/ProofSets.tsx +++ b/subgraph-client/src/pages/ProofSets.tsx @@ -1,7 +1,6 @@ import { Search } from "lucide-react"; import { useEffect, useState } from "react"; import { ProofSetsTable } from "@/components/ProofSets/ProofSetsTable"; -import PageHeader from "@/components/page-header"; import { Input } from "@/components/ui/input"; import { Pagination } from "@/components/ui/pagination"; import useGraphQL from "@/hooks/useGraphQL"; @@ -52,8 +51,7 @@ export const ProofSets = () => { }, [validatedSearch]); // intentionally keyed off the debounced value return ( -
- +

Data Sets

diff --git a/subgraph-client/src/pages/ProviderDetails.tsx b/subgraph-client/src/pages/ProviderDetails.tsx index 5401d59..c2d225c 100644 --- a/subgraph-client/src/pages/ProviderDetails.tsx +++ b/subgraph-client/src/pages/ProviderDetails.tsx @@ -1,6 +1,5 @@ import { useState } from "react"; import { useParams } from "react-router-dom"; -import GoHomeLink from "@/components/go-home"; import { ProviderActivityChart } from "@/components/ProviderDetails/ProviderActivityChart"; import { ProviderOverviewCard } from "@/components/ProviderDetails/ProviderOverviewCard"; import { ProviderProofSetsTable } from "@/components/ProviderDetails/ProviderProofSetsTable"; @@ -31,10 +30,7 @@ export const ProviderDetails = () => { } return ( -
-
- -
+
{/* Show title only when details are loaded/loading, not on invalid ID state */} {providerId && isValidProviderId &&

Provider: {providerId}

} diff --git a/subgraph-client/src/pages/Providers.tsx b/subgraph-client/src/pages/Providers.tsx index e4ac8fb..030327d 100644 --- a/subgraph-client/src/pages/Providers.tsx +++ b/subgraph-client/src/pages/Providers.tsx @@ -1,7 +1,6 @@ import { Search } from "lucide-react"; import { useEffect, useState } from "react"; import { ProvidersTable } from "@/components/Providers/ProvidersTable"; -import PageHeader from "@/components/page-header"; import { Input } from "@/components/ui/input"; import { Pagination } from "@/components/ui/pagination"; import useGraphQL from "@/hooks/useGraphQL"; @@ -57,8 +56,7 @@ export const Providers = () => { }, [validatedSearch]); // Effect depends on the debounced value return ( -
- +

Storage Providers

diff --git a/subgraph-client/src/pages/ServiceDetails.tsx b/subgraph-client/src/pages/ServiceDetails.tsx index 331f72d..abc6004 100644 --- a/subgraph-client/src/pages/ServiceDetails.tsx +++ b/subgraph-client/src/pages/ServiceDetails.tsx @@ -1,7 +1,6 @@ import { AlertTriangle } from "lucide-react"; import { useState } from "react"; import { useParams } from "react-router-dom"; -import GoHomeLink from "@/components/go-home"; import { ProofSetsTable } from "@/components/ProofSets/ProofSetsTable"; import { ProvidersTable } from "@/components/Providers/ProvidersTable"; import { CopyableText } from "@/components/shared/CopyableText"; @@ -101,10 +100,7 @@ export const ServiceDetails = () => { } return ( -
-
- -
+

Service Contract Details

diff --git a/subgraph-client/src/pages/Services.tsx b/subgraph-client/src/pages/Services.tsx index 8782ec7..dfbe386 100644 --- a/subgraph-client/src/pages/Services.tsx +++ b/subgraph-client/src/pages/Services.tsx @@ -1,6 +1,5 @@ import { Search } from "lucide-react"; import { useEffect, useState } from "react"; -import PageHeader from "@/components/page-header"; import { ServicesTable } from "@/components/Services/ServicesTable"; import { Input } from "@/components/ui/input"; import { Pagination } from "@/components/ui/pagination"; @@ -52,8 +51,7 @@ export const Services = () => { }, [validatedSearch]); // intentionally keyed off the debounced value return ( -

- +

Service Contracts

Browse all service contracts in the PDP network

diff --git a/subgraph-client/src/router/Layout.tsx b/subgraph-client/src/router/Layout.tsx deleted file mode 100644 index a3ab1ee..0000000 --- a/subgraph-client/src/router/Layout.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { Footer } from "@/components/shared/Footer"; -import { Header } from "../components/shared/Header"; - -export const Layout = ({ children }: { children: React.ReactNode }) => { - return ( -
-
- {children} -
-
- ); -}; - -export default Layout; diff --git a/subgraph-client/src/router/routes.tsx b/subgraph-client/src/router/routes.tsx index 85eb216..30f4fdc 100644 --- a/subgraph-client/src/router/routes.tsx +++ b/subgraph-client/src/router/routes.tsx @@ -1,5 +1,6 @@ import { useEffect } from "react"; import { Navigate, Route, Routes, useNavigate, useParams } from "react-router-dom"; +import { Layout } from "@/components/layout/Layout"; import { useNetwork } from "@/contexts/NetworkContext"; import { Documentation } from "@/pages/Documentation"; import { GasCalculator } from "@/pages/GasCalculator"; @@ -32,38 +33,40 @@ const AppRoutes = () => { return ( - {/* Root route redirects to network-specific path */} - } /> + }> + {/* Root route redirects to network-specific path */} + } /> - {/* Network-specific routes */} - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> + {/* Network-specific routes */} + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> - {/* Network-agnostic routes */} - } /> - } /> - } /> + {/* Network-agnostic routes */} + } /> + } /> + } /> - {/* Legacy routes for backward compatibility */} - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> + {/* Legacy routes for backward compatibility */} + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> - {/* Catch-all route */} - } /> + {/* Catch-all route */} + } /> + ); }; diff --git a/subgraph-client/src/styles/index.css b/subgraph-client/src/styles/index.css index d26ad79..7369209 100644 --- a/subgraph-client/src/styles/index.css +++ b/subgraph-client/src/styles/index.css @@ -2,6 +2,9 @@ @import "tailwindcss/components"; @import "tailwindcss/utilities"; +/* Filecoin Onchain Cloud tokens — light-section + data-brand="onchain-cloud" + values from filecoin-design-system/project/tokens/colors.css, kept as + HSL triplets so Tailwind /opacity modifiers keep working. */ @layer base { :root { --background: 0 0% 100%; @@ -10,60 +13,53 @@ --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; - --primary: 240 5.9% 10%; - --primary-foreground: 0 0% 98%; - --secondary: 240 4.8% 95.9%; - --secondary-foreground: 240 5.9% 10%; - --muted: 240 4.8% 95.9%; - --muted-foreground: 240 3.8% 46.1%; - --accent: 240 4.8% 95.9%; - --accent-foreground: 240 5.9% 10%; - --destructive: 0 84.2% 60.2%; - --destructive-foreground: 0 0% 98%; + --primary: 212 100% 46.3%; + --primary-hover: 206 100% 50%; + --primary-active: 223 82% 47%; + --primary-foreground: 0 0% 100%; + --secondary: 0 0% 98%; + --secondary-foreground: 240 10% 3.9%; + --muted: 0 0% 98%; + --muted-foreground: 0 0% 43.5%; + --accent: 208 68% 96%; + --accent-foreground: 212 100% 46.3%; + --destructive: 0 100% 65%; + --destructive-hover: 0 100% 60%; + --destructive-foreground: 0 0% 100%; --border: 240 5.9% 90%; --input: 240 5.9% 90%; - --ring: 240 5.9% 10%; - --radius: 0.5rem; - --chart-1: 12 76% 61%; - --chart-2: 173 58% 39%; - --chart-3: 197 37% 24%; - --chart-4: 43 74% 66%; - --chart-5: 27 87% 67%; + --ring: 206 100% 50%; + --radius: 0.75rem; + --chart-1: 206 100% 50%; + --chart-2: 184 58% 51%; + --chart-3: 223 82% 47%; + --chart-4: 161 100% 50%; + --chart-5: 48 100% 50%; } +} - .dark { - --background: 240 10% 3.9%; - --foreground: 0 0% 98%; - --card: 240 10% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 240 10% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 240 5.9% 10%; - --secondary: 240 3.7% 15.9%; - --secondary-foreground: 0 0% 98%; - --muted: 240 3.7% 15.9%; - --muted-foreground: 240 5% 64.9%; - --accent: 240 3.7% 15.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 240 3.7% 15.9%; - --input: 240 3.7% 15.9%; - --ring: 240 4.9% 83.9%; - --chart-1: 220 70% 50%; - --chart-2: 160 60% 45%; - --chart-3: 30 80% 55%; - --chart-4: 280 65% 60%; - --chart-5: 340 75% 55%; - } +@font-face { + font-family: "Aspekta"; + src: url("/fonts/AspektaVF.woff2") format("woff2-variations"); + font-weight: 100 900; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Funnel Sans"; + src: url("/fonts/FunnelSans.woff2") format("woff2-variations"); + font-weight: 300 800; + font-style: normal; + font-display: swap; } @font-face { - font-family: "geist"; - src: url("/fonts/GeistVariableVF.woff2") format("woff2"); - /* font-weight: normal; - font-style: normal; */ + font-family: "Funnel Sans"; + src: url("/fonts/FunnelSans-Italic.woff2") format("woff2-variations"); + font-weight: 300 800; + font-style: italic; + font-display: swap; } @layer base { @@ -72,8 +68,14 @@ } body { - @apply bg-background text-foreground; - font-family: "geist"; + @apply bg-background font-sans tracking-wide text-foreground antialiased; + } + + h1, + h2, + h3, + h4 { + @apply font-display tracking-wide; } } @@ -87,15 +89,15 @@ html { /* Track */ ::-webkit-scrollbar-track { - background: #141414; + background: #fafafa; } ::-webkit-scrollbar-thumb { - background: #3a3939; + background: #d4d4d8; } ::-webkit-scrollbar-thumb:hover { - background: #555; + background: #9f9fa9; } .gradient { diff --git a/subgraph-client/tailwind.config.js b/subgraph-client/tailwind.config.js index 202c8bb..12a76a5 100644 --- a/subgraph-client/tailwind.config.js +++ b/subgraph-client/tailwind.config.js @@ -21,7 +21,9 @@ module.exports = { theme: { fontFamily: { - geist: ["geist", "sans-serif"], + sans: ["Funnel Sans", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"], + display: ["Funnel Sans", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"], + mono: ["IBM Plex Mono", "ui-monospace", "SF Mono", "Menlo", "monospace"], }, container: { center: true, @@ -39,6 +41,8 @@ module.exports = { foreground: "hsl(var(--foreground))", primary: { DEFAULT: "hsl(var(--primary))", + hover: "hsl(var(--primary-hover))", + active: "hsl(var(--primary-active))", foreground: "hsl(var(--primary-foreground))", }, secondary: { @@ -47,6 +51,7 @@ module.exports = { }, destructive: { DEFAULT: "hsl(var(--destructive))", + hover: "hsl(var(--destructive-hover))", foreground: "hsl(var(--destructive-foreground))", }, muted: { @@ -70,6 +75,11 @@ module.exports = { lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)", + xl: "1rem", + "2xl": "1.5rem", + }, + boxShadow: { + "glow-blue": "0 0 0 1px rgba(0, 144, 255, 0.5), 0 0 32px rgba(0, 144, 255, 0.35)", }, keyframes: { "caret-blink": { From 6462d24d9bdd1be3c9d937e7b84ee5c2d9cfbb0c Mon Sep 17 00:00:00 2001 From: silent-cipher Date: Wed, 22 Jul 2026 22:39:08 +0530 Subject: [PATCH 2/2] chore: update display font family from Funnel Sans to Aspekta --- subgraph-client/tailwind.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subgraph-client/tailwind.config.js b/subgraph-client/tailwind.config.js index 12a76a5..b8a732e 100644 --- a/subgraph-client/tailwind.config.js +++ b/subgraph-client/tailwind.config.js @@ -22,7 +22,7 @@ module.exports = { theme: { fontFamily: { sans: ["Funnel Sans", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"], - display: ["Funnel Sans", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"], + display: ["Aspekta", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"], mono: ["IBM Plex Mono", "ui-monospace", "SF Mono", "Menlo", "monospace"], }, container: {