This is the first smaller PR in the broader change of updating our
Connect dialog (see
[here](https://github.com/supabase/supabase/pull/42276)).
This PR focuses on decoupling the ConnectButton our of the Connect
dialog and into its own component . The button includes a flag to render
the new sheet. The new sheet is empty for the time being as the flag is
at 0%.
To test:
- Enable flag and click button, see new Sheet
- Disable and see old dialog
- Create a new project -> in getting started section see "connect to
app" step -> Click connect button and make sure it works
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
- Added a Connect button component and an alternative Connect sheet.
- Added curl syntax highlighting for code blocks.
* **Changes**
- Connection dialog moved to a controlled open-state pattern; Connect
replaced legacy entry points across the UI and can be feature-flagged.
- Connection actions simplified and no longer depend on framework
selection.
* **Removals**
- Removed legacy framework selector, default framework constant, and
related tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
## Summary
Adds exposure tracking for the HomeV2 experiment and the Getting Started
section. These events help measure user engagement with the new home
page experience and track how many users see the Getting Started
onboarding flow.
Resolves
[GROWTH-602](https://linear.app/supabase/issue/GROWTH-602/track-home-page-and-getting-started-exposure-events)
## Changes
- Add `home_new_experiment_exposed` event that fires when users see the
HomeV2 experiment (captures which variant they're assigned)
- Add `home_getting_started_section_exposed` event that fires when the
Getting Started section is displayed (captures current workflow state)
- Define corresponding TypeScript interfaces in telemetry-constants.ts
- Both events use `useRef` to ensure they only fire once per component
mount
## Testing
Tested locally and on staging that events fire to posthog.
**Quick test:**
1. Navigate to a project home page with the `homeNew` flag enabled
2. Verify `home_new_experiment_exposed` event fires in PostHog with the
correct variant
3. For projects < 10 days old, verify
`home_getting_started_section_exposed` fires when the section is visible
4. Confirm events don't fire for dismissed sections or mature projects
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added exposure tracking for home experiment variants and the Getting
Started section to surface which experience users see.
* **Chores**
* Standardized and consolidated analytics calls to improve reliability
of interaction tracking.
* Enhanced event payloads to capture workflow choices, step
interactions, and dismissals for better product insights.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* Popover ui component to use portal by default, remove all manual declaration of portal for PopoverContent in dashboard
* Forgot to add ui changes lol
* Clean uop
* home row size
* use prop instead
* revert previewer
* hook getting started up
* report empty state
* remove images for now
* fix paused state
* remove file
* swithed toggles
* remove any
* Simplify top section
* Nit clean
* Simplify
* Add new snippet button to SnippetDropdown, and hide Row arrow if number of children doesnt exceed number of columns
* Hide arrow in Row component if number of children doesnt exceed number of columns
* Fix snippetdropdown if theres snippet with same name
* update hasFirstUser check to return false if count is estimate
* bucket and functions code actions
* reframe sign ups
* fix
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Update Supabase docs URLs to use env variable
Co-authored-by: a <a@alaisteryoung.com>
* Refactor: Use DOCS_URL constant for documentation links
This change centralizes documentation links using a new DOCS_URL constant, improving maintainability and consistency.
Co-authored-by: a <a@alaisteryoung.com>
* Refactor: Use DOCS_URL constant for all documentation links
This change replaces hardcoded documentation URLs with a centralized constant, improving maintainability and consistency.
Co-authored-by: a <a@alaisteryoung.com>
* replace more instances
* ci: Autofix updates from GitHub workflow
* remaining instances
* fix duplicate useRouter
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: alaister <10985857+alaister@users.noreply.github.com>