Recompress/resize images over 150KB (cap 1920px, webp q80; mozjpeg where webp lost), convert png/jpg to webp where smaller, and update all references. Raster payload drops from ~36MB to ~16MB; ukdebt og image becomes an opaque jpeg for crawler compatibility.
* fix(content): update description for storage overview section
* fix(content): update references from "The Logos Blog" to "Logos Media" across multiple files
* feat: Refactor blog section to media section
- Created new components for articles and podcasts under the media section.
- Updated routing constants to replace blog with media.
- Adjusted all references in the codebase from blog to media, including links, buttons, and navigation.
- Implemented new layout and design for articles and podcasts to enhance user experience.
- Updated translations and content references to align with the new media section.
* feat(about): replace h1 with AnimatedHeading component in AboutHero section
* fix: update import paths for PodcastsSection and adjust LambdaBadge properties in multiple components
* fix: adjust hover translation values for desktop stack items
Move the diagram breakpoint to min-[1367px] (flag renamed desktopAt1367)
and pass it from the shared explorer so detail pages match. Center the
details card content and scope hover reveals to desktop so the overlay
cannot overlap the inline details; the blue tint stays on all widths.
Add a desktopAt1025 flag to TechDetailHero (desktop at lg instead of md)
and drop the phone max-widths at md so hero copy spans the full tablet
width. Enabled on blockchain, networking, and storage heroes.
- Call setRequestLocale(locale) in the docs page factory so next-intl
renders statically instead of bailing to headers(), which broke
output: export on /security, /privacy-policy, /terms-and-conditions,
/testnet-terms-and-conditions and /testnet-v01-faqs.
- Wrap gray-matter in safeMatter() so an RFP with invalid YAML
frontmatter (e.g. RFP-015's unquoted colon in title) falls back to
body-only heuristics instead of being dropped from the listing.
- Added tech-networking-thumb.webp to the nav-overlay/figma directory.
- Added tech-overview-thumb.webp to the nav-overlay/figma directory.
- Added tech-storage-thumb.webp to the nav-overlay/figma directory.
* fix(sitemap): remove FAQ route from static indexable routes
* feat(web): markdown-managed legal pages + Testnet FAQ & Terms
Introduce a markdown-based system for legal/info documents and add the
two testnet pages on the same docs route pattern.
- Add getLegalDoc loader (gray-matter frontmatter + zod validation) and
LegalMarkdown renderer (react-markdown + remark-gfm) mapped to Logos
design tokens; render legal pages as a server component.
- Refactor docs-page-factory to source content from content/legal/<slug>.md
instead of next-intl namespaces; migrate terms, privacy, and security
from messages/en.json to markdown.
- Add /testnet-v01-faqs and /testnet-terms-and-conditions pages with
content mirrored from logos.co; link the FAQ's testnet-terms references
to the internal route.
- Add Testnet FAQ and Testnet Terms to the docs ToC (remove the dead FAQ
entry); register both routes in the sitemap.
- Align docs content to the standard page gutter by removing the
redundant px-3 on the docs page shell.
* chore: optimise page imagery
* feat(web): link Logos Devs X account in community section
* chore(web): hide 'What you can build today' section on get-started and builders-hub
* refactor: reuse builders hub start sections
* feat(builders-hub): source RFPs from GitHub API at build time
Fetch and parse RFPs from the logos-co/rfp repo (markdown + YAML
frontmatter) at build time instead of local content, so the /rfps
listing and [slug] detail pages render from a single live source.
- add rfps-github lib: GitHub contents fetch, gray-matter frontmatter
parse, stable slug from filename, draft/template exclusion
- detail page renders frontmatter-stripped markdown via LegalMarkdown,
with Apply + View on GitHub CTAs
- widen RFP card/row/listing props to RfpListItem so GitHub data
(no reward/image) and local Rfp both satisfy the UI
- add optional markdown body to BuildersHubDetailLayout
* refactor: share get started sections
* feat(node-programme): refactor signup form and implement submission logic
* fix(web): improve layout and styling of feature cards section
* feat(tech-stack): implement tech stack related articles functionality and update blog article fetching logic
- Always render copy before image in DOM; use order + md:contents to
restore the left-image layout on desktop when imagePosition='left'
- Change compact marker height to md:h-[98px] so mobile is not forced
to reserve 98px for the eyebrow marker
- Add copyBodyClassName and actionsClassName props for per-callsite
mobile spacing control
The movement Circles Resources was a hardcoded placeholder. Extract the circles
resources section into a shared CircleResourcesSection and render it on both
pages with the same real resource data and copy.
- Add components/sections/shared/circle-resources-section.tsx (header + whole-row
resource links) — circles resources-section.tsx now delegates to it (output
unchanged)
- movement route fetches getCircleResources() and threads resources through
MovementPageView to its resources section
- movement resources now uses circlesSettings.resourcesSection copy + real rows
(drops placeholder rows / t(resources.*))
tsc + eslint + 61 tests clean.
The movement Upcoming Events was a hardcoded placeholder. Extract the circles
events section into a shared UpcomingEventsSection and render it on both pages
with the same live event data and copy.
- Add components/sections/shared/upcoming-events-section.tsx (date grouping,
EventCard, header, empty state) — circles events-section.tsx now delegates to
it (output unchanged)
- movement route fetches getUpcomingCircleEvents() and threads upcomingEvents +
locale through MovementPageView to the events section
- movement events section now uses circlesSettings.eventsSection copy + real
events (drops placeholder rows / t(events.*) and unused movementImages.event)
tsc + eslint + 61 tests clean.
The Logos Runtime destination is not yet available (waiting on docs).
Mark the foundation row comingSoon so it renders as a non-interactive
card with a "Soon" CTA instead of a link.
The User Modules destination is not yet available (waiting on docs).
Add a comingSoon flag to HoverStackItem that renders the card as a
non-interactive div and shows a "Soon" CTA without the arrow icon.
Applied to the userModules pillar in TechStackDiagram.
- Updated padding and margin values in multiple sections including About, Builder Portal, Circles CTA, and more to use consistent spacing units.
- Adjusted button and footer styles for better alignment and visual hierarchy.
- Enhanced FAQ accordion component with smoother transitions and improved accessibility attributes.
- Refined Tech Stack and Technology Overview sections for better layout and spacing.
- Standardized gap and padding values in navigation and overlay components for a cohesive design.
- Introduced a new JSON snapshot for active circles, including details about events and statistics.
- Added a script to sync the active circles snapshot from the live Logos API.
- Updated package.json to include a new build step for syncing active circles.
- Modified footer component to include an interactive newsletter signup form.
- Adjusted various links in content to point to updated resources and initiatives.
- Enhanced link validation to support same-page anchors.
- Updated hero-section, mountain-section, and parallel-society-section to use min-[1025px] for responsive design.
- Adjusted press-section and social-proof-section for better mobile and desktop handling.
- Enhanced start-building-section and tech-stack-section with new responsive classes.
- Modified use-cases-section to improve scrolling behavior based on breakpoints.
- Refined tech-overview-use-cases and footer components for consistent styling.
- Updated `StorageAccess` component to utilize `OverviewMediaPanel` for better structure and readability.
- Refined `TechOverviewHero` layout and adjusted responsive styles for improved visual consistency.
- Modified `TechOverviewLogosApp` to adjust image size handling for better responsiveness.
- Enhanced `TechOverviewModular` layout with improved grid structure and responsive adjustments.
- Updated `TechOverviewOpenSource` to streamline layout and improve accessibility.
- Refactored `TechOverviewStack` to use `OverviewMediaPanel` for consistent design across sections.
- Improved `TechOverviewUseCases` layout for better responsiveness and visual hierarchy.
- Adjusted `GiantSwitch` component styles for better alignment and responsiveness.
- Created `OverviewMediaPanel` component to standardize media presentation across sections.
- Updated technology stack JSON to reflect title changes for clarity.
* fix(builders-hub): align ideas page details to Figma
Match exact Figma specs for the Builder Ideas page (desktop 121:11657,
mobile 121:11581):
- idea-row: desktop index weight Regular (was medium); mobile title
width 179px; mobile Apply CTA square corners (drop rounded-[4px]) and
left-aligned at x=298 (right-[22px])
- bottom CTA: heading H3 (36px desktop / 30px mobile) instead of H2
(56px); restore text-h3-serif line-height 1 / -0.03em; gap 24px
* fix(builders-hub): align RFP page details to Figma
Match exact Figma specs for the Builder RFPs page (desktop 121:11577,
mobile 121:11489):
- rfp-card: title letter-spacing -0.01em (H4 Sans) instead of
tracking-tight (-0.025em)
- rfp-list-row: apply the same Row-entry corrections as the ideas row —
desktop index weight Regular (was medium), mobile title width 179px,
Learn More CTA square corners (drop rounded-[4px]) and left-aligned at
x=298 (right-[22px])
- listing grid (RFP branch only): desktop top margin 138px so the first
card lands at Figma y=374 (was 160px -> 396px, 22px too low); ideas
and list-view branches untouched
Text copy verified against Figma (titles/taglines match, British
spelling kept where Figma used American). Grid layout, card geometry
(345x317 desktop / 369x317 mobile), colours, borders, 96px images and
CTA positions confirmed matching.
* fix(get-started): align spacing, colours, and copy with Figma
- Correct 04 heading copy to "What you can build today"
- Swap community row alternating backgrounds (row 0 = grey-01)
- Restyle community row labels to 14px (sans-medium number + serif name)
- Underline community row "Learn more" CTA (border-b)
- Build card body: Public Sans 14px instead of mono 10px
- Fix install/docs section top padding (install pt-24, docs pt-40 on desktop)
- Add 6px gap between install card image and text panel
* fix(basecamp): align spacing, padding, and text gaps with Figma design
- Fixed HowItWorksSection: md:py-3 → md:py-10 (was reducing padding on desktop)
- Fixed LocalFirstSection: py-3 → py-10 for proper vertical spacing
- Increased gap spacing from 3 to 4 across card components and sections
- Added uppercase styling to LocalFirstSection eyebrow
- Added opacity-0 to footerLabel for layout consistency
- Adjusted ModularSection vertical padding: py-10 → py-12 mobile, py-10 desktop
- Added flex flex-col gap-4 to ModularSection body text
- CapabilitiesSection: py-6 → py-10 mobile for consistent spacing
- ResourcesSection: py-10 → py-12 mobile for alignment with other sections
- Improved internal spacing in ResourceCard (gap-3 → gap-4, mt-3 → mt-4)
All changes verified against Figma desktop design at node-id=146-15527
* refine(basecamp): fine-tune section spacing and padding alignment
- HeroSection: pb-12 mobile, pb-10 desktop (better spacing at section break)
- HowItWorks title gap: mb-6 → mb-8 (increased spacing to content)
- ModularSection: removed inconsistent py-12, standardized to py-10
- CapabilitiesSection heading: mb-10 → mb-12 (better visual hierarchy)
- ResourcesSection: removed inconsistent py-12, standardized to py-10
All sections now maintain consistent padding pattern: py-10 with device-specific overrides where needed
* fix(lambda-prize): align spacing, padding, and gap with design
- HowItWorks: gap-3 → gap-4 mobile, gap-6 desktop, added md:px-3 md:py-10
- HowItWorks titles: mb-6 → mb-8 for both sections
- FeaturedPrizes: mt-6 → mt-10 mobile, mt-12 desktop, gap-3 → gap-4, moved px-3 to section level
- AboutProgramme: gap-3 → gap-4 mobile, gap-6 desktop, added md:px-3 md:py-10
- Support: pt-10 → py-10 mobile, py-12 desktop, added px-3, removed redundant px-3 from grid
All sections now have consistent spacing patterns aligned with Figma design specifications
* fix(lambda-prize): precision spacing refinements - standardize padding and margins
- DataRows: increase py-1.5 → py-3 for better vertical spacing
- FeaturedPrizes: reduce excessive padding pt-[100px] → pt-10, md:pt-[200px] → md:pt-12
- Hero: standardize margins mb-[60px] → mb-12, mt-[60px] → mt-12
- Support: standardize margin-top mt-[35px] → mt-6, md:mt-[91px] → md:mt-8
* fix(research): align section heights with Figma design
- Change hero section from min-h-[447px] to h-[447px] (fixed height)
- Change overview section from min-h-[670px] to h-[670px] (desktop)
- Change resource rows from min-h-[50px] to h-[50px] (fixed height)
- Change contribute section from min-h-[262px] to h-[262px] (desktop)
These fixed heights match the Figma design specifications for precise
layout control across all breakpoints.
* fix(research): revert to min-h for responsive design
Responsive design requires minimum heights (min-h) instead of fixed
heights (h) to accommodate content overflow on various screen sizes.
Maintains Figma design intent while ensuring proper mobile/tablet
layout behavior.
* fix(press): align PressHero padding with Figma design
Change PressHero section padding from pt-6 (24px) to pt-10 (40px)
to match Figma design specifications where section starts at y=40.
All other spacing, margins, colors, and image ratios already aligned
with Figma design. Press page now 100% design-compliant.
* fix(podcast): add wrapper padding for consistent page layout spacing
* fix(podcast): align top padding with Figma design (pt-20/80px)
* fix(broadcast-network): align padding with Figma design specs
* fix(technology-stack): align hero padding with design specifications
* fix(technology-stack): center hero section on desktop to fix left alignment
* fix(technology-stack): make architecture image responsive and prevent clipping
* fix(technology-stack): constrain all sections to 1440px max-width on desktop
* refactor: centralize max-width layout at page level to eliminate duplication
- Add SectionLayout wrapper to all technology-stack pages (main, blockchain, networking, storage, messaging)
- Move 1440px max-width constraint from individual section components to page-level layout
- Remove mx-auto max-w-360/max-w-[1440px] from tech-stack sections and shared components
- Reduces code duplication and centralizes layout management
* refactor: simplify layout by inlining max-width constraint
- Remove SectionLayout function definitions from each page
- Use simple div wrapper at page return level
- Reduces code duplication and improves maintainability
* refactor: revert page-level layout constraint, keep section-level management
- Remove max-width wrapper from page returns
- Each section maintains full-width background
- Section components manage internal 1440px constraint
- Preserves visual hierarchy from Figma design
* refactor: centralize content width constraints with ContentWidth component
- Create ContentWidth component for 1440px max-width constraint
- Remove layout-level max-width from main element to allow full-width sections
- Apply ContentWidth to all home page sections for consistent layout
- Convert absolute positioning to flex/grid layouts in:
* Parallel Society (gallery display)
* Tech Stack (title and metadata centering)
* Feature Cards (3-column grid)
* Circles CTA (vertical layout)
* Press Section (flex grid)
* Social Proof (4-column grid)
* Start Building (2-column layout)
* About Section (centered closing text)
- Implement responsive sizing with Tailwind classes
- Update technology-stack page section for proper centering
This enables full-width background colors while constraining content to 1440px max-width, improving design system consistency across all pages.
* refactor: make social proof section full-width without 1440px constraint
Remove ContentWidth wrapper from the stat cards section to allow it to span full screen width while maintaining proper padding.
* fix: add line break in 'The Logos Technology Stack' title
Match Figma design by breaking 'The Logos' and 'Technology Stack' onto separate lines.
* fix: add line break in Basecamp title
Match Figma design by breaking 'Basecamp is our' and 'Exit Guide.' onto separate lines.
* fix: add line break to tech stack title on mobile view
Use <br /> instead of literal newline for proper HTML rendering of 'The ... Technology Stack' title.
* fix: add width constraints to AppInstall paragraph text
Match container width (260px mobile, 464px desktop) to ensure text wrapping aligns with Figma design.
* Revert "fix: add width constraints to AppInstall paragraph text"
This reverts commit 184efed9421b0b8c006d5121f26da72b7d015491.
* fix(tech-stack): constrain desktop title to 464px to match Figma
Desktop h2 used w-full, so 'The Logos Technology Stack' stayed on one
line at wide/4K viewports. Figma node 121:6875 sets it to 464px, which
wraps it to two lines. Parent is items-center so the fixed width centers.
* refacor: refactor layout components to use ContentWidth for consistent styling
- Updated various sections across the application to wrap content in the ContentWidth component for improved layout consistency.
- Adjusted padding and margin values in several sections to enhance visual alignment.
- Modified text content in the About section to reflect updated messaging.
- Improved accessibility and responsiveness by ensuring all sections utilize the ContentWidth component.
* feat: integrate ContentWidth component for layout consistency across various sections
* feat: update StorageAccess component with new card data and CTA buttons for improved user interaction
* feat: update MessagingIntro and related tests for improved layout and responsiveness based on Figma specifications
* Refactor code structure for improved readability and maintainability
* Refactor code structure for improved readability and maintainability
* Refactor technology stack detail layout and hero components
- Introduced `TechStackDetailPage` and `TechStackDetailSection` components for consistent layout across technology stack pages.
- Updated individual technology stack pages (blockchain, messaging, networking, storage) to utilize the new layout components.
- Refactored hero components (BlockchainHero, MessagingHero, NetworkingHero, StorageHero) to use `TechStackDetailHero` for improved structure and reusability.
- Adjusted spacing and margin classes to align with design specifications, removing redundant margin classes.
- Added `imageFit` property to builders hub settings schema to control image display behavior.
- Updated tests to ensure layout consistency and adherence to design specifications.
* feat: enhance layout and responsiveness of articles and podcasts sections based on Figma specifications
* fix: prevent messaging delivery image clipping
* feat: update article and podcast layouts for improved responsiveness and alignment with Figma designs
* test: remove ui implementation contracts
* feat: add test for desktop Figma gap between related articles and footer, update related articles section padding
* feat: refactor related articles sections to use shared component and update tests
* refactor: share tech stack builder CTA
* fix: delay homepage heading reveals
* fix: centre home about cards on mobile
* fix: align tech stack mobile divider spacing
* fix: align home stack mobile interactions
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix: tighten home mobile sections
* fix: move tech stack mobile divider below ctas
* fix: disable static export RSC navigation fetches
* fix: align mobile tech stack cards
* fix: let home problem cards grow on mobile
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
- Replaced custom SectionMarker and DownloadIcon implementations with those from @acid-info/logos-ui.
- Updated MessagingCaseStudies to use TechCaseStudyCard for rendering case study cards.
- Refactored MessagingHero to utilize TechDetailHero for improved layout and functionality.
- Simplified MessagingIntro by integrating TechTextSplitSection for privacy and LMN sections.
- Consolidated builder CTA components in Networking and Storage sections to use TechBuilderCtaDeck for better consistency and maintainability.
- Enhanced technology stack messaging content with updated descriptions and structured data.