From e47b619274340118c25e43ce83f4c786e581d4d4 Mon Sep 17 00:00:00 2001 From: Chase Fleming <1666730+chasefleming@users.noreply.github.com> Date: Tue, 23 Dec 2025 08:59:47 -0800 Subject: [PATCH 01/15] Misc improvements --- .../lib/Pages/HomePage/BrowseByCategory.tsx | 12 ++-- .../src/lib/Pages/HomePage/FeatureSection.tsx | 17 +++-- .../src/lib/Pages/HomePage/GrowSection.tsx | 63 +++++++++---------- .../src/lib/Pages/HomePage/HeroSection.tsx | 46 ++++---------- .../lib/Pages/HomePage/QuickStartShowcase.tsx | 38 +++++------ .../src/lib/Pages/HomePage/ToolsSection.tsx | 63 +++++++++---------- .../src/lib/Pages/HomePage/WhyFlowSection.tsx | 41 ++++++------ 7 files changed, 127 insertions(+), 153 deletions(-) diff --git a/src/ui/design-system/src/lib/Pages/HomePage/BrowseByCategory.tsx b/src/ui/design-system/src/lib/Pages/HomePage/BrowseByCategory.tsx index 1def721381..619e06dafe 100644 --- a/src/ui/design-system/src/lib/Pages/HomePage/BrowseByCategory.tsx +++ b/src/ui/design-system/src/lib/Pages/HomePage/BrowseByCategory.tsx @@ -117,24 +117,24 @@ const BrowseByCategory: React.FC = () => { return (
-

Browse by category

-
+

Browse by category

+
{CATEGORIES.map((cat) => { const firstLink = cat.links[0]; const remainingLinks = cat.links.slice(1); return ( -
+
handleLinkClick(firstLink.label, firstLink.href, cat.title)} - className="text-xl font-semibold text-primary-green-600 dark:text-primary-green-400 mb-4 hover:text-primary-green-700 dark:hover:text-primary-green-300 transition-colors underline" + className="text-base font-semibold text-gray-900 dark:text-white mb-4 hover:text-[#00EF8B] transition-colors no-underline" > {cat.title} -
    +
      {remainingLinks.map((link) => (
    • { target={link.href.startsWith('http') ? '_blank' : undefined} rel={link.href.startsWith('http') ? 'noopener noreferrer' : undefined} onClick={() => handleLinkClick(link.label, link.href, cat.title)} - className="text-base text-gray-800 dark:text-gray-100 hover:text-primary-green-500 dark:hover:text-primary-green-300 transition-colors" + className="text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors" > {link.label} diff --git a/src/ui/design-system/src/lib/Pages/HomePage/FeatureSection.tsx b/src/ui/design-system/src/lib/Pages/HomePage/FeatureSection.tsx index d75c18bc2d..787558e216 100644 --- a/src/ui/design-system/src/lib/Pages/HomePage/FeatureSection.tsx +++ b/src/ui/design-system/src/lib/Pages/HomePage/FeatureSection.tsx @@ -31,11 +31,10 @@ interface FeatureSectionProps { } const FeatureSection: React.FC = ({ sections }) => { - // Flatten all cards from all sections into a single array const allCards = sections.flatMap(section => section.cards); return ( -
      +
      {allCards.map((card, cardIdx) => ( @@ -43,7 +42,7 @@ const FeatureSection: React.FC = ({ sections }) => { href={card.href} target={card.target} rel={card.target === '_blank' ? 'noopener noreferrer' : undefined} - className="group flex items-center gap-3 p-4 rounded-lg bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 hover:bg-gray-100 dark:hover:bg-gray-700 hover:border-gray-300 dark:hover:border-gray-600 shadow-lg hover:shadow-md transition-all duration-200 cursor-pointer no-underline hover:no-underline h-full min-h-[80px]" + className="group flex items-center gap-4 p-4 rounded-xl bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 hover:border-[#00EF8B] dark:hover:border-[#00EF8B] transition-colors duration-200 cursor-pointer no-underline hover:no-underline" onClick={(e) => { event({ action: GA_EVENTS.ACTION_CARD_CLICK, @@ -53,13 +52,13 @@ const FeatureSection: React.FC = ({ sections }) => { }); }} > - - {card.icon && } + + {card.icon && } -
      - {card.heading} -
      - + + {card.heading} + + diff --git a/src/ui/design-system/src/lib/Pages/HomePage/GrowSection.tsx b/src/ui/design-system/src/lib/Pages/HomePage/GrowSection.tsx index 4890b56f66..2a99a60393 100644 --- a/src/ui/design-system/src/lib/Pages/HomePage/GrowSection.tsx +++ b/src/ui/design-system/src/lib/Pages/HomePage/GrowSection.tsx @@ -8,39 +8,38 @@ const GrowSection: React.FC = () => { const cards = growGridData.sections[0].cards; return ( -
      +
      diff --git a/src/ui/design-system/src/lib/Pages/HomePage/HeroSection.tsx b/src/ui/design-system/src/lib/Pages/HomePage/HeroSection.tsx index 65dbccff58..82c62f937d 100644 --- a/src/ui/design-system/src/lib/Pages/HomePage/HeroSection.tsx +++ b/src/ui/design-system/src/lib/Pages/HomePage/HeroSection.tsx @@ -4,29 +4,26 @@ import { event } from '@site/src/utils/gtags.client'; import { GA_EVENTS, GA_CATEGORIES, GA_ACTIONS } from '@site/src/constants/ga-events'; const HeroSection: React.FC = () => { - // const { colorMode } = useColorMode(); - // const calendarSrc = colorMode === 'dark' - // ? 'https://lu.ma/embed/calendar/cal-DBqbEn6mwZR13qQ/events?lt=dark' - // : 'https://lu.ma/embed/calendar/cal-DBqbEn6mwZR13qQ/events'; return ( -
      -
      - {/* Left: Hero Content */} -
      -

      +
      +
      +
      +

      Turn decentralized finance into personal finance.

      -

      - Flow is the leading consumer layer-one network, + +

      + Flow is the leading consumer layer-one network, trusted by 1 million monthly active users. Chosen by top global brands like NBA, Disney, PayPal, NFL, and Ticketmaster, it is the foundation for the next generation of consumer finance:{" "} - global, always-on, and in real-time. + global, always-on, and in real-time.

      -
      + +
      { event({ action: GA_EVENTS.ACTION_CARD_CLICK, @@ -38,6 +35,7 @@ const HeroSection: React.FC = () => { > Automate DeFi +
      - {/* Right: Calendar card (visible on lg and up) */} - {/*
      -
      -

      Upcoming Events

      -