diff --git a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx
index cfa2c6e815d..9a1f712f859 100644
--- a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx
+++ b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx
@@ -2,6 +2,7 @@ import { useTheme } from 'common/Providers'
import Image from 'next/image'
import Link from 'next/link'
import { useRouter } from 'next/router'
+import { Fragment } from 'react'
const home = [
[
@@ -125,7 +126,7 @@ const NavigationMenuHome = ({ active }) => {
{home.map((section, sectionIndex) => {
return (
-
+
{sectionIndex !== 0 && (
{
})}
-
+
)
})}
diff --git a/i18n/README.es.md b/i18n/README.es.md
index a653d1b2492..602393663a2 100644
--- a/i18n/README.es.md
+++ b/i18n/README.es.md
@@ -71,17 +71,134 @@ Supabase es una [plataforma alojada](https://app.supabase.com). Te puedes regist
Nuestra librería de cliente es modular. Cada sub-librería es una implementación independiente para cada sistema externo. Esta es una de las formas de apoyar las herramientas existentes.
-- **`supabase-{lang}`**: Combina librerías y agrega mejoras.
- - `postgrest-{lang}`: Librería de cliente para trabajar con [PostgREST](https://github.com/postgrest/postgrest)
- - `realtime-{lang}`: Librería de cliente para trabajar con [Realtime](https://github.com/supabase/realtime)
- - `gotrue-{lang}`: Librería de cliente para trabajar con [GoTrue](https://github.com/netlify/gotrue)
-
-| Repositorio | Oficial | Comunidad |
-| --------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **`supabase-{lang}`** | [`JS`](https://github.com/supabase/supabase-js) | [`C#`](https://github.com/supabase/supabase-csharp) \| [`Flutter`](https://github.com/supabase/supabase-flutter) \| [`Python`](https://github.com/supabase/supabase-py) \| `Rust` |
-| `postgrest-{lang}` | [`JS`](https://github.com/supabase/postgrest-js) | [`C#`](https://github.com/supabase/postgrest-csharp) \| [`Dart`](https://github.com/supabase/postgrest-dart) \| [`Python`](https://github.com/supabase/postgrest-py) \| [`Rust`](https://github.com/supabase/postgrest-rs) |
-| `realtime-{lang}` | [`JS`](https://github.com/supabase/realtime-js) | [`C#`](https://github.com/supabase/realtime-csharp) \| [`Dart`](https://github.com/supabase/realtime-dart) \| [`Python`](https://github.com/supabase/realtime-py) \| `Rust` |
-| `gotrue-{lang}` | [`JS`](https://github.com/supabase/gotrue-js) | [`C#`](https://github.com/supabase/gotrue-csharp) \| [`Dart`](https://github.com/supabase/gotrue-dart) \| [`Python`](https://github.com/supabase/gotrue-py) \| `Rust` |
+
+
+
Lenguaje
+
Cliente
+
Característica - Clientes (incluido en el cliente de Supabase)
diff --git a/spec/supabase_dart_v1.yml b/spec/supabase_dart_v1.yml
index 073ec4d6f10..304d6988077 100644
--- a/spec/supabase_dart_v1.yml
+++ b/spec/supabase_dart_v1.yml
@@ -21,13 +21,13 @@ functions:
description: |
Creates a new user.
notes: |
- - By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/settings).
+ - By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- - When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/settings).
+ - When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- If signUp() is called for an existing confirmed user:
- - If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/settings), an obfuscated/fake user object is returned.
+ - If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
examples:
- id: sign-up
diff --git a/spec/supabase_js_v2.yml b/spec/supabase_js_v2.yml
index 309fe559544..df9973635a4 100644
--- a/spec/supabase_js_v2.yml
+++ b/spec/supabase_js_v2.yml
@@ -136,13 +136,13 @@ functions:
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
notes: |
- - By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/settings).
+ - By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- - When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/settings).
+ - When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- If signUp() is called for an existing confirmed user:
- - If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/settings), an obfuscated/fake user object is returned.
+ - If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
- To fetch the currently logged-in user, refer to [`getUser()`](/docs/reference/javascript/auth-getuser).
examples:
diff --git a/studio/components/interfaces/Billing/EnterpriseUpdate.tsx b/studio/components/interfaces/Billing/EnterpriseUpdate.tsx
index 078cd190f42..254d83275c7 100644
--- a/studio/components/interfaces/Billing/EnterpriseUpdate.tsx
+++ b/studio/components/interfaces/Billing/EnterpriseUpdate.tsx
@@ -137,6 +137,25 @@ const EnterpriseUpdate: FC = ({
captchaRef.current?.resetCaptcha()
}
+ const beforeConfirmPayment = async (): Promise => {
+ setIsSubmitting(true)
+ let token = captchaToken
+
+ try {
+ if (!token) {
+ const captchaResponse = await captchaRef.current?.execute({ async: true })
+ token = captchaResponse?.response ?? null
+ setCaptchaToken(token)
+ }
+ } catch (error) {
+ setIsSubmitting(false)
+ return false
+ }
+
+ setIsSubmitting(false)
+ return true
+ }
+
// Last todo to support enterprise billing on dashboard + E2E test
const onConfirmPayment = async () => {
setIsSubmitting(true)
@@ -296,6 +315,7 @@ const EnterpriseUpdate: FC = ({
onSelectAddNewPaymentMethod={() => {
setShowAddPaymentMethodModal(true)
}}
+ beforeConfirmPayment={beforeConfirmPayment}
onConfirmPayment={onConfirmPayment}
captcha={
void
onSelectAddNewPaymentMethod: () => void
+ beforeConfirmPayment: () => Promise
onConfirmPayment: () => void
isSubmitting: boolean
@@ -72,6 +73,7 @@ const PaymentSummaryPanel: FC = ({
isLoadingPaymentMethods,
onSelectPaymentMethod,
onSelectAddNewPaymentMethod,
+ beforeConfirmPayment,
onConfirmPayment,
isSubmitting,
captcha,
@@ -132,16 +134,23 @@ const PaymentSummaryPanel: FC = ({
message: error,
})
} else {
- isChangingComputeSize || (isChangingPITRDuration && selectedPITRDays === 0)
- ? setShowConfirmModal(true)
- : onConfirmPayment()
+ // [Joshen] We're validating captcha before subsequent actions as there's an issue
+ // with the hcaptcha overlay and the modal component, such that clicking on the hcaptcha closes
+ // both the hcaptcha overlay and the modal. Need to figure that out first, then we can validate
+ // the hcaptcha within onConfirmPayment()
+ const hasValidCaptcha = await beforeConfirmPayment()
+ if (hasValidCaptcha) {
+ isChangingComputeSize || (isChangingPITRDuration && selectedPITRDays === 0)
+ ? setShowConfirmModal(true)
+ : onConfirmPayment()
+ }
}
}
return (
<>
Payment Summary
@@ -296,7 +305,7 @@ const PaymentSummaryPanel: FC = ({
{/* Maybe instead of a table, show something more interactive like a spend cap playground */}
{/* Maybe ideate this in Figma first but this is good enough for now */}
-