Adds a `dashboard_auth:logo_link_url` custom content key so
white-labeled deployments can point the logged-out logo link at their
own marketing site instead of the hardcoded `https://supabase.com`.
**Added:**
- `dashboard_auth:logo_link_url` custom content key (schema, types,
default `null`, sample value)
**Changed:**
- `SignInLayout` and `ForgotPasswordLayout` now resolve the
marketing-site logo href from custom content, falling back to
`https://supabase.com` — these two shared layouts cover all auth pages
(sign-in, sign-in-sso, sign-in-mfa, sign-in-partner, forgot/reset
password) in both the Next and TanStack runtimes
## To test
- On a normal deployment (key `null`): visit `/sign-in` and
`/forgot-password` logged out — the logo should still link to
`https://supabase.com`
- Set `"dashboard_auth:logo_link_url": "https://example.com"` in
`apps/studio/hooks/custom-content/custom-content.json` locally — the
logo on those pages should link to `https://example.com`
- Signed-in contexts (`logoLinkToMarketingSite` unset) still link to
`/organizations`
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added support for configuring the URL linked from authentication-page
logos.
* Authentication logos now use the configured destination when
available.
* Added a default destination to ensure logo links remain functional
when no custom URL is set.
* **Documentation**
* Added sample configuration for the customizable authentication logo
link.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
## Context
Adds support for multiple custom auth providers in custom-content
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added support for multiple custom sign-in providers via a new plural
configuration.
* Updated the sign-in page to render all configured custom provider
options while maintaining compatibility with the legacy single-provider
setting.
* Improved the custom provider button display to remove internal
prefixes from provider names.
* **Documentation**
* Updated the configuration schema, examples, and sample data to
document the new multi-provider setting.
* Marked the legacy single-provider configuration as deprecated in favor
of the plural option.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* Init custom content hook
* Implement useCustomContent hook similarly to useIsFeatureEnabled, and implement extension of organization documents
* Attempt to type things nicely
* Add support for custom content example projects
* Add support for custom content logs explorer default query
* nit
* Add support for custom content connect UI frameworks
* Reset custom-content.json
* Smol nit
* set custom-content to null
---------
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
* Init custom content hook
* Implement useCustomContent hook similarly to useIsFeatureEnabled, and implement extension of organization documents
* Attempt to type things nicely
* Add support for custom content example projects
* Add support for custom content logs explorer default query
* nit
* Fix types
* Init custom content hook
* Implement useCustomContent hook similarly to useIsFeatureEnabled, and implement extension of organization documents
* Attempt to type things nicely
* Add support for custom content example projects
* Fix types
* Init custom content hook
* Implement useCustomContent hook similarly to useIsFeatureEnabled, and implement extension of organization documents
* Attempt to type things nicely
* add test
---------
Co-authored-by: Jordi Enric <jordi.err@gmail.com>