Commit Graph
5385 Commits
Author SHA1 Message Date
Pamela Chia 6dfae09b6d fix(www): postgres card art overlaps text column (#47734)
Before 
<img width="588" height="439" alt="Screenshot 2026-07-08 at 7 29 07 PM"
src="https://github.com/user-attachments/assets/8a3380d3-571f-49cd-8f32-7b38650dd0e5"
/>

After 
<img width="578" height="436" alt="Screenshot 2026-07-08 at 7 29 55 PM"
src="https://github.com/user-attachments/assets/09e74c31-e131-41d5-87da-b4518514cfb5"
/>


## Summary

On the homepage, the Postgres Database product card's elephant artwork
renders over the card's description text at every viewport ≥1280px. I
traced it to #47226 (merged June 24): standardizing the marketing
container to `section-container` (`max-w-7xl` + `xl:px-24`) capped
products-grid content at 1088px, shrinking the card to ~538px while its
fixed geometry (250px text column + 398px right-anchored square artwork
box) needs ~625px. Large monitors regressed hardest: before June 24 they
got ~676px cards and no overlap. The app-router homepage move (#47228),
the color system PR (#47288), and the artwork PNGs are all unrelated
(verified against production DOM and full diffs).

Two changes to the artwork span in `DatabaseVisual.tsx`:

1. Cap the box width at `calc(100% - 280px)` from `md` up, where 280
covers the text column's `md:max-w-[250px]` cap (in `ProductCard.tsx`'s
`isDatabase` branch) plus card padding and breathing room. The art
scales down through its existing `object-contain`. At md/lg the card is
full-width (`md:col-span-12`), so the clamp never binds and rendering is
unchanged there.
2. Remove the `xl:-right-12` bleed (base `right-0` stands, matching how
2xl already rendered). The bleed used to clip only the art's transparent
canvas margin; with the clamped box the art fills its full width, so the
48px offset was cropping the elephant itself at 1280-1535px.

The hover line-art SVG scales with the box and stays aligned with the
PNG (identical aspect ratios: viewBox 390:430, PNG 585x645).

## Changes
- Add `md:max-w-[calc(100%-280px)]` to the artwork span in
`DatabaseVisual.tsx` so the Postgres card art can never cross its text
column
- Drop `xl:-right-12 2xl:right-0` from the same span so the smaller art
isn't clipped at the card's right edge

## Testing

Round 1 on the Vercel preview (commit e1ca671, measured via
getBoundingClientRect + computed styles):
- [x] Art clear of the text column at 1280/1440/1600/1920 (gap 54px at
1280/1440, 6px at 1600/1920); computed `max-width: calc(100% - 280px)`
applies
- [x] Hover at 1440 — SVG and PNG rects identical (pixel-exact
alignment)
- [x] 768/1024 — full-width card unchanged, span still a 398px square
(clamp resolves but doesn't bind)
- [x] Light theme at 1440 — same geometry, no overlap

Round 1 also surfaced that the `xl:-right-12` bleed now cropped the
elephant at 1280-1535px widths → second commit removes it. Round 2
(commit e28b408):
- [x] 1280/1440/1512/1600/1920 — art fully visible (span right edge
flush at the card's inner edge, e.g. 713 vs 714 at 1440), still clear of
the text column (span left 457 vs text right 451)
- [x] 768/1024 — unchanged (span still a right-anchored 398px square)
- [x] Hover alignment still exact (PNG and SVG rects identical:
457,452,256,398)

## Linear
- fixes GROWTH-971
2026-07-08 19:56:12 +08:00
ShaneandDanny White 586ed82270 content(www): update company page metrics, investors, and press (#47700)
## Summary

- Updated community stats: 10M+ developers, 100K+ GitHub stars, 200K+
followers, 50K+ SupaTroopers
- Updated funding copy from \"over \$116 million\" to \"\$1 Billion\"
- Added Supabase Series F blog post to Press section
- Changed press articles grid from 3-column to 4-column to match
podcasts layout
- Reduced community stats font size (text-4xl → text-3xl) and added
right padding to prevent overlap with dividers

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

* **Bug Fixes**
* Improved spacing and borders in the community stats grid for cleaner
end-of-list alignment.

* **Style**
  * Reduced the community stat number size for better readability.
* Updated the Press articles layout on large screens to show more items
per row.

* **Content Updates**
* Refreshed community stat counts for Developers, GitHub, Twitter, and
Discord.
  * Updated “Our investors” copy to **$1 billion**.
  * Added **“Supabase Series F”** as the first Press article.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-07-07 12:00:46 -05:00
Francesco SansalvadoreandClaude 31509521b6 feat(www): add Customer Legal Resources to legal hub and declutter footer (#47655)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Feature / content update to the Legal Hub (`apps/www`).

## What is the current behavior?

The `/legal` hub page (`apps/www/pages/legal/index.tsx`) has a single
section, "Partner Legal Resources." The customer-facing legal documents
(Terms of Service, Support Policy, Service Level Agreement) are only
reachable from the footer "Company" column, which is cluttered.

## What is the new behavior?

- Adds a new **"Customer Legal Resources"** section to the `/legal` hub,
placed **above** "Partner Legal Resources," with links to:
  - Terms of Service → `/terms`
  - Support Policy → `/support-policy`
  - Service Level Agreement → `/sla`
  
These use the same formatting (document icon + link) as the existing
"Master Partner Program Agreement" entry.
- Removes those same three links (Terms of Service, Support Policy,
Service Level Agreement) from the footer **"Company"** column
(`apps/www/data/Footer.ts`) to declutter it. The "Legal" hub link,
Privacy Policy, Privacy Settings, and Acceptable Use Policy all remain.

The `/terms`, `/support-policy`, and `/sla` URLs are unchanged and
continue to operate exactly as they do today — this only changes where
they're surfaced in navigation.

Note: per discussion, the hidden `/enterprise-terms` page was
intentionally **not** linked from the public hub; it remains
`noindex/nofollow` and reachable only by direct URL.

## Additional context

Visual result (Customer section above Partner section, three matching
links) and footer cleanup match the requested design. No routing,
redirect, or page-content changes.

---
_Generated by [Claude
Code](https://claude.ai/code/session_015kQyGkM9s9XEbA3HSLpeku)_

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a **“Customer Legal Resources”** section to the legal resources
page with links to **Terms of Service**, **Support Policy**, and
**Service Level Agreement**.
* **UI Updates**
* Updated the legal page branding from **“Legal”** to **“Legal Hub”**
and adjusted the layout to a more spacious two-column presentation.
* Updated the footer **Company** links by replacing **“Legal”** with
**“Legal Hub”** and removing the Terms/Support/Service Level links from
that set.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-07 13:54:40 +02:00
Prashant Sridharan 0ed4e6f713 Added landing page for Vercel Ship Sydney (#47662)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Added a landing page for Vercel Ship Sydney

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added a new contest landing page for Vercel Ship Sydney 2026 with
event details, entry steps, and a sign-up form.
* Added a thank-you page with confirmation messaging and quick links to
the dashboard and Supabase.
* Included the new contest pages in the site’s marketing page list,
making them live for the event.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-06 21:58:04 +02:00
Gildas Garcia cabe14e5ca chore: remove _Shadcn_ suffix from ui tabs components (#47628)
## Problem

Now that we migrated all usages of the deprecated `Tabs` component, we
don't need the `_Shadcn_` suffix anymore.

## Solution

Remove `_Shadcn_` suffix from `ui` tabs components. That's all this PR
does, no visual nor functional changes

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Standardized tab components across the app so pages and dialogs now
use the same consistent tab UI.
* Improved tab-based views in design, docs, studio, learn, and website
experiences for a more uniform interface.

* **Chores**
* Updated shared UI exports to expose tab components directly,
simplifying future usage across the product.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-06 15:29:16 +02:00
Francesco SansalvadoreandClaude 2880eee63c fix(www): stop Realtime card peer cursors from breaking the hover animation (#47631)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Bug fix.

## What is the current behavior?

On the `apps/www` homepage, the Realtime product card shows a
cursor-following hover animation (the "self" cursor) alongside two other
peer cursors (User 1 and User 2) that animate independently.

The mouse-follow animation is driven by an `onMouseMove` handler on the
`<figure>` in `RealtimeVisual.tsx`. The three animated cursor divs are
positioned absolutely on top of that figure but did **not** set
`pointer-events-none`. As the peer cursors move around (and the self
cursor tracks the pointer), they become the pointer target under the OS
cursor and intercept mouse events, so the main hover animation
stutters/breaks when the pointer passes over one of the other cursors.

## What is the new behavior?

Added `pointer-events-none` to all three animated cursor wrappers (User
1, User 2, and Self). The animated cursors are purely decorative, so
they should never intercept pointer events. The `<figure>` keeps
`pointer-events-auto` and now receives `onMouseMove` uninterrupted, so
the cursor-follow animation stays smooth while hovering over the card.

## Additional context

Three-line change in `apps/www/components/Products/RealtimeVisual.tsx`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01YCXXskLSt6k4DjUxgS4vc5

---
_Generated by [Claude
Code](https://claude.ai/code/session_01YCXXskLSt6k4DjUxgS4vc5)_

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved interaction behavior for the on-screen user indicators so
they no longer capture pointer events, ensuring hover/drag behavior
elsewhere remains consistent.
- Refined the pointer-follow animation wiring to use DOM event listeners
for more reliable coordinate tracking.
- Updated motion behavior to respect “reduce motion” settings by
disabling the pointer-follow effect when enabled.
- Kept “Self” marker hover opacity transitions consistent with previous
visuals.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-06 13:49:11 +02:00
Saxon FletcherandClaude Opus 4.8 fb02182e86 Color system (#47288)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES/NO

## What kind of change does this PR introduce?

Bug fix, feature, docs update, ...

## What is the current behavior?

Please link any relevant issues here.

## What is the new behavior?

Feel free to include screenshots if it includes visual changes.

## Additional context

Add any other context or screenshots.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Refreshed theming across the UI to use modern color expressions and
shared theme variables (including OKLCH-based gradients), improving
consistency for charts, code blocks, overlays, icons, and decorative
backgrounds.
* **Bug Fixes**
* Improved light/dark color and gradient consistency across axis/grid
styling, reference lines, buttons/badges, sidebar accents, loaders, and
other visual components.
* **Documentation**
* Updated styling/theming guidance to align with the revised semantic
token system and the updated theme variable usage patterns.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 15:00:43 +10:00
Francesco Sansalvadore aa764e4013 chore(www): refine www styling (#47499)
### Logo positioning bug on Safari

#### Before
<img width="1538" height="1404" alt="CleanShot 2026-07-01 at 07 11
55@2x_b0d735b7df6470afb861f4e82cfeed554743cec621475197e07ff39a98c5c506"
src="https://github.com/user-attachments/assets/dc8483bd-5a2a-4d89-9b90-d0ab3529b4b5"
/>


#### After
<img width="1177" height="526" alt="Screenshot 2026-07-01 at 15 25 59"
src="https://github.com/user-attachments/assets/e5ab66eb-56eb-4f1b-8a66-783aafad069d"
/>

### Uniform h1 styling

#### Before
Font-weight too heavy
<img width="721" height="504" alt="Screenshot 2026-07-01 at 15 55 53"
src="https://github.com/user-attachments/assets/4dc4e157-f746-4626-9ec7-5e893d7155ba"
/>

#### After
<img width="693" height="410" alt="Screenshot 2026-07-01 at 15 56 04"
src="https://github.com/user-attachments/assets/c012d6e5-0889-4466-b2b2-56d1c9516e27"
/>

### AI Builders platform card
### Before
<img width="675" height="573" alt="Screenshot 2026-07-01 at 16 18 31"
src="https://github.com/user-attachments/assets/a34e2fde-115b-45e8-8d44-9fc32c22c0a1"
/>

### After
<img width="640" height="576" alt="Screenshot 2026-07-01 at 16 18 23"
src="https://github.com/user-attachments/assets/45ebf1c7-6508-40de-a755-dda17824979a"
/>

### Logo theme-awareness on 404 page

#### Before
<img width="1053" height="670" alt="Screenshot 2026-07-02 at 11 22 45"
src="https://github.com/user-attachments/assets/d1f45cc8-00ad-48ad-a21a-3b92bf6097f0"
/>

#### After
<img width="1053" height="666" alt="Screenshot 2026-07-02 at 11 22 28"
src="https://github.com/user-attachments/assets/8b6435aa-da87-46f3-9d5c-750f8222edb1"
/>

---

Plus other minor padding/spacing issues:
- remove customer stories in homepage
- use correct container width and align "Use Supabase with [framework]"
section
- restore default `--font-sm` sizing as it resulted too small for www

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes / UI Improvements**
* Refined spacing, layout, and responsive styling across multiple
homepage sections.
* Improved featured logo positioning and adjusted community/hero copy
sizing.
  * Updated site typography for better readability and wrapping.
* Refreshed the 404 experience with a smoother reveal animation and
consistent layout.
  * Updated deep dark-mode behavior to apply only during launch weeks.
* **Performance**
* Lazy-loaded multiple homepage sections to improve initial load and
perceived speed.
* **SEO / New Features**
  * Added a dedicated 404 page that disables indexing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-03 03:14:43 +10:00
Gildas Garcia c41e2835e3 chore: UI theme cleanup (#47519)
## Problem

- We still use/maintain the legacy theming even though we moved to
Shadcn
- We have two themes list with similar code

## Solution

- Migrate some components to `cva` and `cn` instead of `styleHandler`
- Remove redundant `themes` in favor of `singleThemes`

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Standardized theme selection across the app so theme menus
consistently offer the same light/dark/system options, including
dropdowns, navigation menus, and command menus.
* **Refactor**
* Refreshed styling for multiple shared UI components (menus, tabs, side
panels, loading indicators, icons, and modal dialogs) to improve
consistency while preserving visual behavior.
* **Chores**
* Improved the UI patterns CI “validate exports” check for clearer
failure output when exports change unexpectedly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-02 17:03:08 +02:00
hasithasandun 450dc56cbe fix(www): resolve globe component memory leak and resizing issues (#46025)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.
YES

## What kind of change does this PR introduce?

Bug fix

## What is the current behavior?

Resolves #46026

1. **Memory Leak**: The `<Globe />` component in the `www` app creates a
new `debouncedResize` event listener every time the theme changes, but
in the `useEffect` cleanup function, it attempts to remove `onResize`
instead. Because these are two different function references in memory,
the listener is never removed, causing a memory leak that grows with
theme toggling.
2. **Resolution Scaling**: The WebGL `cobe` globe instance is not
notified of width changes dynamically. When a user resizes their browser
window, the `<canvas>` resizes via CSS, but the internal 3D rendering
stretches and becomes distorted because `state.width` and `state.height`
are not updated inside the `onRender` loop.
3. **Local Dev Rendering**: Due to async CSS loading in Next.js
development environments, `offsetWidth` evaluates to 0 on initial mount,
causing the globe to render invisibly until manually resized.

## What is the new behavior?

1. **Memory Leak Fixed**: Switched from a global
`window.addEventListener('resize')` to a `ResizeObserver` attached
directly to the canvas container, properly disconnecting it on unmount.
2. **Resolution Scaling Fixed**: Added `state.width` and `state.height`
updates directly inside the `onRender` callback. The globe now maintains
its aspect ratio and high resolution dynamically as the user resizes the
browser.
3. **Local Dev Rendering Fixed**: The `ResizeObserver` correctly
triggers a size recalculation exactly when the local Next.js CSS
finishes injecting, allowing the globe to render immediately in local
dev.
4. **Safe Timeout**: Wrapped the initial opacity update in a null check
and correctly store/clear the `timeoutId` during unmount.

## Additional context

## Before

https://github.com/user-attachments/assets/813e077d-bcf4-4584-b3da-46c01b6af001


https://github.com/user-attachments/assets/73cef575-27e3-44d2-a191-fd192dec3ef9

## After

https://github.com/user-attachments/assets/cd68c66d-6a35-43d0-971f-04627ef532fb

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Globe now adapts instantly to container size changes for smoother,
consistent rendering.
* Improved lifecycle cleanup to reliably stop background tasks and clear
timers, reducing memory leaks.
* Enhanced stability and performance for longer-running sessions of the
Globe component.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/supabase/supabase/pull/46025?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-02 11:31:37 +02:00
TylerandJoshen Lim 8295a54816 fix: Minor fix on some of the stats on state of startups 2026 (#47482)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Just some minor fixes on the stats from state of startups servey 2026. 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated several survey narrative captions with refreshed statistics
and wording.
* Adjusted the displayed percentages for age cohort trends, Europe
growth, model provider usage, and AI-written code adoption.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-07-01 21:16:13 +09:00
Francesco Sansalvadore a54a2b69e1 www: homepage (#47228)
- Update homepage based on new designs from #43455.
- Also improve a11y and semantics of homepage as per @czenko's
[review](https://github.com/supabase/supabase/pull/43455#pullrequestreview-4548881985)

PR breakdown of #43455 
Related: #47226 #47227 #47236
2026-07-01 12:13:15 +00:00
Francesco Sansalvadore acbb19a69a feat: www & docs fonts (#47227)
Update marketing website and docs with new sans-serif fonts:
- `Inter` - sans-serif for all body text
- `Manrope` - sans-serif for headings

PR breakdown of #43455 
Related: #47226 #47228 #47236
2026-07-01 12:59:00 +02:00
Gildas Garcia 70c3bafe63 chore: CSS cleanup (#47443)
## Problem

- We have unused CSS from previous design system (`.sbui-*` classes)
- We use Tailwind `@apply` when we could set the tailwind classes on the
components directly

## Solution

- Delete all `.sbui-*` classes as we don't use them anymore
- Move classes directly on components when that make sense

## Notes

I did not migrate all `sbgrid` classes as they are applied in multiple
components

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Updated grid editors, placeholders, headers, and dropdowns for cleaner
spacing, truncation, and alignment.
* Improved layout consistency across text, number, time, JSON, and
foreign-key cells.
  * Adjusted search and impersonation inputs for better fit and padding.

* **Chores**
* Simplified and removed outdated styling overrides across the Studio
and web app.
* Reduced unused UI package surface by removing an unused input icon
container export.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-30 18:06:38 +02:00
Gildas Garcia d7543d536f chore: www Tabs migration (#47449)
## Problem

We're still maintaining the old `Tabs` component which is deprecated.

## Solution

Cleanup its usages in `www`:
- Remove dead code
- Migrate actual tabs to the new Shadcn component
- Migrate non tabs to use `Button` instead

There should be almost no visual changes (slight background color change
on the active button below):

- https://zone-www-dot-8z5cao88c-supabase.vercel.app/solutions/agencies
(at the bottom)

Before:
<img width="999" height="412" alt="image"
src="https://github.com/user-attachments/assets/97675380-e5fb-4e7e-a39e-93bcc0f2f70f"
/>

After:
<img width="732" height="377" alt="image"
src="https://github.com/user-attachments/assets/c4150142-218d-4c32-b8ce-f68f4939706e"
/>

-
https://zone-www-dot-8z5cao88c-supabase.vercel.app/blog/postgres-full-text-search-vs-the-rest#results

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Simplified navigation in API examples and chart tabs for a more
consistent browsing experience.
  * Updated chart tab switching to better match the current UI behavior.
* **Refactor**
* Removed several carousel and admin access components, along with
related styling, reducing unused page elements.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-30 16:32:02 +02:00
shaziyaandClaude Sonnet 4.6 90526fe0b0 feat(www): OpenCode integration blog post (#47419)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.
YES

## What kind of change does this PR introduce?

**Changes:**
- New blog post: `/blog/agentic-coding-on-supabase-with-opencode`
- New author entry: Eric Kharitonashvili (`ekhar`) in `authors.json`
- Blog images and author avatar

## Checklist

- [x] Blog post reviewed internally and approved
- [x] Reviewed and approved by OpenCode
([doc](https://docs.google.com/document/d/1Azyt7Ot0Q8bxBF3YOLdks8CPME-SKVUr-WXGl2HDJR8/edit?tab=t.0))
- [x] Images added
- [x] Video embed added
- [x] Author added to `authors.json`
- [ ] Marketing +1 in `#team-marketing`

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 08:56:51 +00:00
Francesco Sansalvadore ba133afc4c www: blog (#47236)
Update blog layout.

PR breakdown of #43455 
Related: #47226 #47227 #47228
2026-06-30 10:28:17 +02:00
Gildas Garcia b30db91d71 chore: cleanup UI patterns exports (#47406)
## Problem

We now export components under a subpath in ui-patterns to avoid barrel
files as they slow down every tools (from IDE to linters, etc.) and may
also affect bundles our users have to download.

## Solution

- Remove the UI patterns index file
- Fix invalid impors
2026-06-30 09:23:17 +02:00
Prashant Sridharan ff1941b35f Revise State of Startups landing page (#47335) 2026-06-30 01:35:40 +01:00
shaziya d582d3cd8f feat(www): add TRAE webinar event landing page (#47415)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

- Adds event landing page for the Supabase x TRAE webinar (July 22, 2026
at 7pm PT)
- Adds Gary Qi (TRAE) to authors.json
- Adds TRAE logos and Gary Qi avatar

## Test plan

- [ ] Preview the page at `/events/supabase-trae-high-quality-apps`
- [ ] Confirm speaker cards render correctly
- [ ] Confirm TRAE logo appears in the event header

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a new MDX event page for an upcoming webinar about building
high-quality Supabase apps with TRAE.
* Included event details such as schedule, duration, timezone, speaker
information, and a registration/CTA link.
* Added supporting content covering what attendees will learn, plus live
Q&A and recording availability.
* Updated the authors list by adding Gary Qi to support refreshed
speaker/content attribution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-29 12:46:40 -07:00
Prashant Sridharan 8e5ac61e3a Cleaned up the Perplexity webinar landing page (#47413) 2026-06-29 18:04:05 +01:00
shaziya 9b3d57f05c Add recording to Perplexity webinar page (#47407)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Add recording / change CTA

## What is the current behavior?

It links to the GoToWebinar page.

## What is the new behavior?

It will now link to the on-demand recording :)

## Additional context

Add any other context or screenshots.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Updated the event page to feature a watchable recording instead of a
registration link.
* Added an embedded video section and a new “Key takeaways” area for
easier recap.


<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-29 09:20:07 -07:00
Francesco Sansalvadore cd62b0b9d4 www: product pages (#47271)
Update product pages in marketing website.

PR breakdown of #43455 
Related: #47226 #47227 #47228 #47236
2026-06-26 15:47:52 +02:00
Shane e9888de2c0 Updated Supabase Pipelines blog post images (#47314)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

OG and thumb image update

## What is the current behavior?

Old image: "Supabase ETL"

## What is the new behavior?

Refreshed images with "Supabase Pipelines"

## Additional context

Add any other context or screenshots.
2026-06-25 12:08:59 -05:00
Shane 235e56e0c7 Updated brand-assets.zip (#47310)
Added full white and black logos in .png and .svg formats to
brand-assets.zip linked at https://supabase.com/brand-assets

## I have read the CONTRIBUTING.md file.
YES

## What kind of change does this PR introduce?
Asset update

## What is the current behavior?
The brand-assets.zip downloadable on supabase.com/brand-assets contains
the previous set of brand logos.

## What is the new behavior?
Updated brand-assets.zip with the latest brand assets, including full
white and black logo variants in .png and .svg (DEBR-337).

## Additional context
File replaced at apps/www/public/brand-assets.zip. Served statically —
no code changes required.
2026-06-25 11:11:01 -05:00
Riccardo Busetti df7a0ca3f7 feat(replication): Evaluate new product name (#47066) 2026-06-24 16:36:23 +02:00
Gildas Garcia a6e79ebacb chore: delete Button alternative deprecated variant (#47260)
## Problem

The `alternative` variant for `<Button>` has been deprecated but is
still used in a few places.

## Solution

- Migrate usages to the recommended `primary` variant
- Delete the `alternative` variant 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Updated several buttons across forms, logs, recent queries, and
release headers to use the primary visual style.
* Button styling is now more consistent throughout the app, with a
cleaner default emphasis for key actions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-24 14:14:47 +02:00
Francesco Sansalvadore 90ef7ea874 www: standardize container width (#47226)
Define and clean up standard container width definition for marketing
website.

PR breakdown of #43455 
Related: #47227 #47228 #47236
2026-06-24 10:26:38 +00:00
Prashant Sridharan e2121aedd8 Fixed the sweepstakes landing page with new legal rules (#47246)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Added alternative means of entry forms and added a new email for legal
contest inquiries.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
* Updated the contact email for the contest winners list request in the
contest rules page, improving accessibility.
* Enhanced the legal/amoe form with integrated customer data management
capabilities for more efficient form submission and data handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-23 22:26:28 +01:00
Francesco Sansalvadore 7837668ac7 fix(www): show one partner addendum (#47011) 2026-06-22 23:19:25 +01:00
Prashant Sridharan 4dd3a0aacf Fix events page (#47089)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

As context, the events page pulls data from our webinar MDX files, Luma
(for Hackathons, Events, and Meetups), and Notion (for third-party
events we participate in). I recently unified our multiple Luma
calendars into one and started using tags for Luma events.

I fixed a few things on the /events page:

1. Webinars now show the proper location instead of "Unknown"
2. Event cards now show location properly depending on where the source
of the events are
3. Event data is pulled from Luma and categorized based on tags.
Fallback tag is "event" if a tag is absent

Note that this structure assume that Notion events are third-party, Luma
events are first-party (Hosted by Supabase), and Webinars are always
online. This is a safe assumption for the time being, but I will revisit
in the future if that changes.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
  * Events now display tags and categories from Luma event data.
* Webinar events are identified and labeled as "Supabase Live" with a
video icon for improved visibility.

* **Improvements**
* Enhanced event metadata display with improved location and category
information.
* Streamlined event categorization for more consistent handling across
event sources.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-18 18:58:27 +01:00
Gildas Garcia bb1ad6780e Fix button styles (#47075)
## Problem

When we restored the `Button` focus styles in
[46800](https://github.com/supabase/supabase/pull/46800/changes#diff-97973c54c2ac5270cf2d68e8f372365341693c8ae9d540ed62e0f614bfe92cf0L16),
we removed the wrong duplicate `display` property (`inline-flex` instead
of `flex`). This made some buttons take up as much space as available on
some pages:

<img width="2992" height="1628" alt="image"
src="https://github.com/user-attachments/assets/63943b27-10de-453a-ac96-51b3dbff633d"
/>

<img width="1216" height="952" alt="image"
src="https://github.com/user-attachments/assets/24aa02c4-66b0-4c34-a3d4-39c4c74fec7a"
/>

## Solution

Use `inline-flex` instead of `flex` (it's one or the other, cannot be
both).

<img width="1277" height="566" alt="image"
src="https://github.com/user-attachments/assets/4add0aff-7afc-4e8f-9b57-16f93be99689"
/>

<img width="756" height="493" alt="image"
src="https://github.com/user-attachments/assets/b3f8c8ec-4e89-40f1-b14b-10a141887370"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Updated button layout rendering to use `inline-flex` instead of
`flex`, improving how buttons align within inline contexts.
* Refreshed button icon/loading styling configuration (including icon
container and loader behavior) to keep visual states consistent.
* Adjusted the “Open positions” primary button spacing on the careers
page, changing its alignment to better match the header layout.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-18 13:56:40 +02:00
Wen Bo Xie 6a01caf738 fix(www): center "Open positions" button on careers page (#47049)
before

<img width="1360" height="564" alt="Screenshot 2026-06-17 at 11 30 45"
src="https://github.com/user-attachments/assets/69516e92-0c3d-42ad-b893-2d6ffdf9e9f8"
/>

after

<img width="1351" height="596" alt="Screenshot 2026-06-17 at 11 31 29"
src="https://github.com/user-attachments/assets/8c78e4c5-f46b-4419-87bd-d689982c3f5b"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Refined the visual presentation of the "Open positions" call-to-action
button on the careers page with improved spacing and layout alignment.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-18 14:29:32 +08:00
Gildas GarciaandIvan Vasilov 96d43099bb chore: refactor Button API so that it can be used a standard button (#46880)
## Problem

Our `<Button>` component breaks the default `button` contract by
redefining the `type` prop to set its variant (`primary`, `default`,
etc) instead of the button type (`submit`, `button`, etc).
This is confusing and forces to write more code when using it with
shadcn components that expect/inject the standard button props.

## Solution

- rename the `type` prop to `variant`
- rename the `htmlType` prop to `type`
- propagate the changes where necessary
- format code

## How to test

As this is just prop renaming, if it builds it's ok

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2026-06-16 23:59:58 +02:00
TylerandIvan Vasilov c1fcec6901 chore: Update stats on careers page (#46978)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Update the career page stats

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated the career page company metrics: team members increased to
350+, countries expanded to 60+, and total capital raised updated to
$1B.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2026-06-16 20:21:03 +08:00
Francesco Sansalvadore dfc2dede05 chore(www): integration partner addendum - v1.1 (#46931)
Update integration partner addenda.
2026-06-15 10:31:31 +00:00
Prashant Sridharanandshaziya 68a7e45aca Added go pages for several ancillary events at Supabase Select (#46879)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Added landing pages for some events

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Launched three Supabase Select 2026 event pages (Partner Day, VIP
Dinner, VIP Experience) with RSVP flows, agendas, host details, and
thank-you confirmations.

* **Updates**
* RSVP forms now support per-form CRM mapping and explicit field
exclusions for HubSpot.
  * Site index updated to include the new event pages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: shaziya <99940835+shaziyabandukia@users.noreply.github.com>
2026-06-12 21:18:10 +01:00
Mrinal Paliwal e26dc700e4 feat(www): use 'Publish to Web Title' for Notion event names (#46888)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Feature

## What is the current behavior?

Event names use 'Event Name' property from Notion database

## What is the new behavior?

Prefer the 'Publish to Web Title' property for displaying event names,
falling back to the 'Event Name'

## Additional context

N/A

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Event titles now prioritize the "Publish to Web Title" field when
available, falling back to the generic title only if that
publish-specific value is empty—improves accuracy of displayed event
titles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-12 23:00:56 +05:30
Mrinal Paliwal ba947adf0a fix(www): z-index clash between event filter and event label (#46884)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

UI bug fix in `/events` page. The z index of event filters clashes with
event labels

## What is the current behavior?


https://github.com/user-attachments/assets/fda9947b-5a2b-4f0a-9964-6e00184ecb8c

## What is the new behavior?


https://github.com/user-attachments/assets/97c962da-734f-4fd7-87d7-9a0e51bc301a

## Additional context

Add any other context or screenshots.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Adjusted the event gallery's sticky container layering so it reliably
appears above overlapping page elements, preventing visual obstruction
and improving scrolling behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-12 21:47:45 +05:30
K-Dog (Kevin) 9bf5bbcc75 chore(etl): add pricing (#46872)
<img width="1196" height="58" alt="Screenshot 2026-06-12 at 4 21 02 PM"
src="https://github.com/user-attachments/assets/132742b4-652c-4aeb-9296-b830578f153b"
/>

<img width="314" height="209" alt="Screenshot 2026-06-12 at 4 21 07 PM"
src="https://github.com/user-attachments/assets/69bf5e04-3c84-4464-90a6-3297626bfd65"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced a database Replication (ETL) offering now available in Pro,
Team, and Enterprise plans with usage-based billing options.
* Updated the pricing table with explanatory tooltip text to clarify
replication billing and features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-12 17:43:37 +08:00
Aleksi Immonen 6f0d6cf193 fix(blog): update stale links and remove outdated content in Studio post (#46853)
The Supabase Studio blog post (`/blog/supabase-studio`) receives a high
volume of visits but contains outdated information from its original
2021 publish date. This PR makes minimal surgical fixes — no rewriting.

## Changes

**Broken links (4 fixes)** — the repo was reorganised into a monorepo
and `/studio` moved to `/apps/studio`:
- Opening sentence link
- "Build in public" section link
- Tech stack `package.json` link
- "How to contribute" section link

**Stale text removed:**
- `(Saved queries are unavailable for now)` — saved queries have been
available for years
- `Over time we'll expose a lot more of the codebase in the self-hosted
Dashboard, this was as much as we could do for this Launch Week!` — the
promise has been fulfilled, leaving it implies Studio is still a stub

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated Supabase Studio blog post with refreshed feature highlights
emphasizing Table & SQL editors, database management, and API
documentation.
* Corrected internal repository and deployment links to point to the
current studio location.
* Removed outdated notes about unavailable features and an obsolete
paragraph following the feature list.
  * Kept the existing Product Hunt section intact.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-11 18:43:47 +03:00
Francesco Sansalvadore 91af1af475 fix(www): malformed link (#46838)
## Before
<img width="514" height="84" alt="Screenshot 2026-06-11 at 10 57 33"
src="https://github.com/user-attachments/assets/7a06d713-d0f1-48b6-947a-e7c1f0716083"
/>

## After
<img width="490" height="78" alt="Screenshot 2026-06-11 at 10 57 54"
src="https://github.com/user-attachments/assets/31bfe360-fae1-42e3-bac3-83b5648da398"
/>
2026-06-11 17:56:19 +08:00
Leandro Pereira 135ab6dfcb fix: make Realtime card clickable (#46809)
To reproduce:
- resize viewport to mobile
- try to click the Realtime card

Tested on Brave.

## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Bug fix.

## What is the current behavior?

Click doesn't work on mobile.



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Product cards are now interactive and respond to user clicks and hover
interactions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-10 17:07:29 -04:00
Francesco Sansalvadore 6d0dc45442 feat(www): legal hub (#46749) 2026-06-10 19:10:51 +01:00
Prashant Sridharan e54ba014c1 Fixed a link in the Hosted Postgres page (#46791)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Fixed a missing link in the Hosted Postgres page
Added the missing solution pages to the Footer

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
* Restructured footer Solutions section to dynamically include
additional solution categories, providing more comprehensive navigation
options
* Enhanced Hosted Postgres feature description with a direct link to
Multigres for improved accessibility

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-09 21:37:42 +01:00
Pamela Chia cd52669f1f fix(docs): negotiate /guides/* markdown via shared helper (#45432)
## Summary

This brings docs `/guides/*` to full content negotiation for AI agents
(GROWTH-811):
RFC 9110 q-value parsing instead of a `.includes('text/markdown')`
substring match,
a 406 when the client rejects every type the route can produce, and
markdown rewrites
for known LLM user agents.

I implemented it by extracting the negotiation into a shared
`common/markdown-negotiation`
module consumed by both `apps/docs/middleware.ts` and
`apps/www/middleware.ts`, rather than
duplicating the helpers into docs and keeping them in sync by hand with
www (#45394). Single
source of truth, no re-sync burden. www is refactored onto the shared
helper with no behavior
change.

## Changes

### docs `/guides/*` content negotiation (GROWTH-811)

- Replace the `.includes('text/markdown')` substring match with RFC 9110
q-value parsing.
- Return 406 (`Cache-Control: no-store`, `Vary: Accept`) when Accept
excludes every type the
route serves. Bypassed for LLM user agents, the `.md` suffix, and
clients sending no Accept.
- Rewrite to `/api/guides-md/<slug>` for LLM user agents (Claude-User,
Claude-Web, ChatGPT-User,
  PerplexityBot) regardless of Accept.
- Preserve the existing `.md` suffix routing and the entire
`/reference/*` block.

### Shared negotiation helper

- New `packages/common/markdown-negotiation.ts`:
`negotiateMarkdown(signals, route)` returns
`'markdown' | 'not-acceptable' | 'pass'`. Internalizes q-value parsing,
the LLM user-agent
  match, the UA-length cap, and the markdown-vs-html preference.
- `apps/www/middleware.ts`: refactored to consume the shared helper; its
duplicated copy of the
negotiation helpers (added in #45394) is removed. `.md` early-return,
changelog routing, and
first-referrer cookie stamping are unchanged (no behavior change,
covered by its existing tests).

### Tests

- New `apps/docs/middleware.test.ts`: q-value priority, the 406 path,
`.md` suffix, LLM UA
override, browser default Accept, training-crawler and substring-embed
exclusion, and the
  `/reference/*` exemption.
- New `packages/common/markdown-negotiation.test.ts`: the same decision
matrix at the unit level
(q-values, 406, LLM UAs, `.md`, `*/*`, training crawlers, OWS,
out-of-range q).

## Testing (Vercel preview)

After Vercel posts a preview URL, save it once then run the probe set.

```bash
echo 'PREVIEW_HOST' > /tmp/growth-811-host.txt
HOST=$(cat /tmp/growth-811-host.txt)

# 1) Browser-style Accept -> HTML 200
curl -sI -A "Mozilla/5.0" \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' \
  "https://$HOST/docs/guides/auth"

# 2) Accept: text/markdown -> markdown 200
curl -sI -H 'Accept: text/markdown' "https://$HOST/docs/guides/auth"

# 3) text/html;q=1.0, text/markdown;q=0.5 -> HTML 200
curl -sI -H 'Accept: text/html;q=1.0, text/markdown;q=0.5' "https://$HOST/docs/guides/auth"

# 4) unsupported Accept -> 406 + Cache-Control: no-store + Vary: Accept
curl -sI -H 'Accept: application/x-content-negotiation-probe' "https://$HOST/docs/guides/auth"

# 5) User-Agent: Claude-User/1.0 (any Accept) -> markdown 200
curl -sI -A 'Claude-User/1.0' "https://$HOST/docs/guides/auth"
```

### After merge

Run
[acceptmarkdown.com/readiness-check](https://acceptmarkdown.com/readiness-check)
against `https://supabase.com/docs/guides/auth`: expect 100/100.

## Linear

- fixes GROWTH-811
2026-06-09 17:49:35 +08:00
Jeremias Menichelli 575ac8c645 [DOCS-979] feat(Docs): Generate new markdown files for reference pages (#46727)
In this PR:
- The `llms.ts` script is removed from the pipeline. It was just
iterating over the sections of the SDK JSON files to generate _dummy_
text files for LLMS to consume. But with a lot of inconsistencies and
mistakes.
- There's a new script that builds markdown files from the SDK
definition files.
- The Management API now has a definition file too, it was missing
before.
- On the www project now there are redirects for the reference text
files to the new markdown files in the docs project.
- NPM scripts have received better names so that prebuild ones are
smaller and all are easier to differentiate.
2026-06-09 10:39:55 +02:00
Prashant SridharanandTerry Sutton 99f0518137 Added a Hosted Postgres page (#46674)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Created a new solution page for Hosted Postgres.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added Hosted Postgres solution with a dedicated landing page (hero,
features, pricing comparison, security, results, CTAs)
  * Introduced a reusable pricing comparison table component
* Enhanced feature grids to support optional headers and richer icon
options

* **Updates**
* Updated company stats (databases managed → 44M, daily launches → 200K,
registered developers → 9M)
  * Added Hosted Postgres link to Solutions navigation

* **Refactor**
* Consolidated and exported component prop interfaces for cleaner prop
contracts
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2026-06-09 00:40:18 +01:00
Gildas Garcia f5dadafb68 fix: compute section badges design on mobile (#46724)
Before:
<img width="1440" height="1437" alt="image"
src="https://github.com/user-attachments/assets/43b336bc-c52f-4b82-8177-69c9b959a38e"
/>

After:
<img width="365" height="434" alt="image"
src="https://github.com/user-attachments/assets/c14777e2-e65f-4a1f-8804-1042eb2d1246"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Updated the pricing callout to use a responsive layout so the price
and accompanying text stack on small screens and align side-by-side on
larger screens for improved spacing and readability.
* Adjusted the price badge to prevent text wrapping, ensuring the “$10”
label remains visible and consistent across devices.
* Tuned margins and vertical spacing for better alignment across
breakpoints.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-08 16:01:32 +02:00
Joshen Lim 4633992f81 Fix inconsistent padding in www mobile menu (#46704)
## Context

As per PR title
<img width="500" alt="image"
src="https://github.com/user-attachments/assets/4cf07471-a0c1-449d-9759-a0ccb3456e09"
/>

Also resolves FE-3565
Closes mobile menu when a link is clicked


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Improvements**
* Mobile menu now closes reliably when selecting more navigation items
(Modules, various Developers/Solutions links and footer links).
* Enhanced link focus and interaction behavior in the mobile menu for
clearer keyboard/touch feedback.

* **New Features**
* Navigation links can now accept optional click handlers, enabling
custom onClick behavior.

* **Refactor**
* Internal reorganization of mobile menu styling and link composition to
simplify maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-08 21:24:39 +08:00