Commit Graph

38 Commits

Author SHA1 Message Date
Gildas Garcia
0713a1efc1 chore: remove shadcn suffix for Input, Textarea, Alert and Collapsible (#45867)
## Problem

Now that we migrated old components to their new shadcn alternatives, we
don't need the `_Shadcn_` suffix anymore.

## Solution

Remove it

<img width="659" height="609" alt="image"
src="https://github.com/user-attachments/assets/2d7271a9-066a-4dcc-92fe-729b106d2c2f"
/>
2026-05-15 14:55:37 +02:00
Joshen Lim
88c43b31b9 Support optionally remove custom domain addon when deleting custom domain after activated (#45880)
## Context

Related BE PR: https://github.com/supabase/platform/pull/32693

Add support to remove the custom domain add-on when deleting a custom
domain after the custom domain is activated.

<img width="411" height="310" alt="image"
src="https://github.com/user-attachments/assets/23d57fc0-f760-42d4-8383-480ff2b2ec5a"
/>

We previously had this behaviour by default to address some customer
feedback RE confusion that they were still being charged for custom
domain add-on despite deleting the custom domain, but not removing the
add-on.

However this was a bit of confusing UX (RE deleting the add-on
implicitly), so this makes the deleting of the custom domain add-on an
explicit action instead.

## To test

- [ ] Set up custom domain on a project
- [ ] Trying deleting the custom domain after activating _without_
removing the add-on
- [ ] Trying deleting the custom domain after activating _with_ removing
the add-on
2026-05-15 16:41:58 +08:00
Ivan Vasilov
56de26fe22 chore: Migrate the monorepo to use Tailwind v4 (#45318)
This PR migrates the whole monorepo to use Tailwind v4:
- Removed `@tailwindcss/container-queries` plugin since it's included by
default in v4,
- Bump all instances of Tailwind to v4. Made minimal changes to the
shared config to remove non-supported features (`alpha` mentions),
- Migrate all apps to be compatible with v4 configs,
- Fix the `typography.css` import in 3 apps,
- Add missing rules which were included by default in v3,
- Run `pnpm dlx @tailwindcss/upgrade` on all apps, which renames a lot
of classes
- Rename all misnamed classes according to
https://tailwindcss.com/docs/upgrade-guide#renamed-utilities in all
apps.

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2026-04-30 10:53:24 +00:00
Ignacio Dobronich
07d75d4e79 feat: add TaxDisclaimer for addons (#45235)
## Summary

Adds a reusable `TaxDisclaimer` component ("Prices shown do not include
applicable taxes.") and places it on surfaces where users see a price
before confirming a billable action.

## Where it appears

- **Disk resize review
dialog** — `DiskManagementReviewAndSubmitDialog` (below the before/after
price comparison)
- **Add-on side panels** — PITR, Custom Domain, IPv4 (below the price
options)
- **Log drain destination form** — stacked under "See full pricing
breakdown here" in the footer
- **SMS MFA confirmation modal** — below the $75/$10 billing copy
- **Read replica pricing dialog** — at the end of the cost breakdown
- **Create branch modal** — below the disk/compute cost estimates

## Test plan

- [ ]  Open disk/compute resize review dialog — disclaimer appears below
the before/after panel
- [ ]  Open each add-on side panel (PITR / Custom Domain / IPv4) —
disclaimer appears below the price options
- [ ]  Open log drain destination sheet — disclaimer stacks under the
pricing breakdown link in the footer
- [ ]  Trigger SMS MFA confirmation — disclaimer appears below the
billing copy
- [ ]  Open read replica pricing dialog ("Learn more" from deploy
replica) — disclaimer at the bottom
- [ ]  Open create branch modal — disclaimer appears after the compute
cost block

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

## Summary by CodeRabbit

* **New Features**
* Added tax disclaimers across multiple billing and pricing interfaces
throughout the platform. Users will now see notices regarding applicable
taxes displayed in various authentication settings, branch creation
workflows, database disk management dialogs, database replica pricing
screens, log drain configuration panels, custom domain settings, IPv4
address configuration, and Point-in-Time Recovery options.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-24 16:58:23 -03:00
Gildas Garcia
6e564c5929 Chore cleanup remove radio (#45218)
## Problem

We want to reduce the code we ship and maintain.

## Solution

Migrate old `<Radio />` usage to the new Shadcn component.

## Screenshots

### Database functions

Before:
<img width="587" height="228" alt="image"
src="https://github.com/user-attachments/assets/2b95fc36-f338-4a11-a537-c8956e13b38d"
/>

After:
<img width="576" height="195" alt="image"
src="https://github.com/user-attachments/assets/fb8a32e3-397e-4dc8-b7e2-c309800774ca"
/>

### Storage policies

Before:
<img width="1169" height="644" alt="image"
src="https://github.com/user-attachments/assets/06950f4b-9edc-457d-a7cc-fabe3ed573ba"
/>

After:
<img width="1171" height="647" alt="image"
src="https://github.com/user-attachments/assets/3445f38d-fb52-4ba7-8933-20005be25334"
/>

### Custom domain

Before:
<img width="668" height="350" alt="image"
src="https://github.com/user-attachments/assets/87f48b29-3b8f-466e-8db0-c9418aaee026"
/>

After:
<img width="669" height="339" alt="image"
src="https://github.com/user-attachments/assets/b66b432a-e4ac-4b80-b98e-47b2ba948df4"
/>

### PITR

Before:
<img width="767" height="659" alt="image"
src="https://github.com/user-attachments/assets/22508934-02f1-4600-93d9-ba77a955f450"
/>

After:
<img width="767" height="565" alt="image"
src="https://github.com/user-attachments/assets/bb4b88c0-bd81-4086-a4f4-715cee37f20e"
/>


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

* **Refactor**
* Replaced legacy radio controls across the app with modern card-style
and stacked selection components—radio options now render as selectable
cards or stacked items with richer label/content support, consistent
sizing, and cleaner selection behavior for a more polished, accessible
UI.
* Legacy radio styling and old radio module removed to consolidate the
updated control and theme.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-24 16:38:06 +02:00
Charis
4a0bb36ca8 style: require sorted imports in studio/components (#44408)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2026-04-01 10:22:37 +02:00
Saxon Fletcher
d8f8d9a1f3 Update add-ons design (#43159)
**Old**

<img width="1376" height="1115" alt="image"
src="https://github.com/user-attachments/assets/75703b14-f066-491e-8d5a-b68a716fa081"
/>


**New**

<img width="1374" height="678" alt="image"
src="https://github.com/user-attachments/assets/538830be-a8bf-40c8-97dc-2c6085d500c7"
/>

This updates the add-ons design to remove the Compute Size section which
has now been moved and simplify the add-on list design.
2026-03-18 13:59:21 +10:00
Danny White
a052dd7409 chore(studio): clarify dedicated pooler compatibility (#43320)
## What kind of change does this PR introduce?

UI clarification.

## What is the current behavior?

Our messaging around the compatibility of:

- Dedicated pooler
- Shared pooler

...in conjunction with the following connection types:

- IPv4
- IPv6
- Direct connection

...is hard to parse.

## What is the new behavior?

Copywriting clarifications to all of the above. Plus:

- Broader copywriting clarifications to `IPV4SidePanel`
- Replace deprecated `Radio` component with `RadioGroupItem_Shadcn_` as
the former has little-to-no visual difference between unselected and
selected states
- Fixed `SidePanel` header gap and button labelling

## Additional context

| Before | After |
| --- | --- |
| <img width="1024" height="563" alt="AWS Healthy Toolshed
Supabase-4587771A-83A2-40E8-845B-256CE7E1A7DB"
src="https://github.com/user-attachments/assets/09591fa1-48b8-4f3c-aaef-733af8dbdc9a"
/> | <img width="1024" height="563" alt="AWS Healthy Toolshed
Supabase-D56A2209-7421-43C2-A7C1-6C6965B3F008"
src="https://github.com/user-attachments/assets/13a05e51-02a5-486a-9549-4c5fe049c65a"
/> |
| <img width="1024" height="563" alt="Add ons
Supabase-10CC55BC-C3D8-4E40-9F73-31FFE8D7F42A"
src="https://github.com/user-attachments/assets/73e206dc-58a3-4356-8e31-cf2ad74383f8"
/> | <img width="1024" height="563" alt="Add ons
Supabase-6311B7FE-4291-4982-968E-5EDBA76DE519"
src="https://github.com/user-attachments/assets/503667ef-9b36-4d62-9872-53ac6b32f56f"
/> |

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-05 15:41:22 +08:00
Ivan Vasilov
0d5be306ef chore: Bump React Query to v5 (#40174)
* Bump the deps, refactor deprecated code.

* Migrate keepPreviousData usage.

* Migrate all uses of InfiniteQuery.

* Fix refetchInterval in queries.

* Migrate all use of isLoading to isPending in mutations.

* Fix accessing location in claim-project.

* Fix a bug in duplicate query keys.

* Migrate all queries to use isPending.

* Revert "Fix accessing location in claim-project."

This reverts commit 2a07df64b5.

* Revert the rss.xml file to master.
2025-12-10 10:10:29 +01:00
Ivan Vasilov
43cc61818c chore: Migrate all isPending uses in react-query (#40642)
* Bump react-query. Minor type and logic fixes.

* Migrate all use of isLoading to isPending in mutations.

* Fix type errors.
2025-11-20 16:44:53 +01:00
Ignacio Dobronich
bb2ad51ff8 chore: custom domain entitlement (#40469)
* chore: custom domain entitlement

* feature name
2025-11-17 12:32:47 -03:00
Alaister Young
5f533247e1 Update docs url to env var (#38772)
* 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>
2025-09-26 10:16:33 +00:00
Joshen Lim
d46525eac1 Chore/swap use check permissions with use async check project permissions part 8 (Season Finale) (#38619)
* Update perms checking in audit logs

* Deprecate useCheckPermissions, useIsPermissionsLoaded and useCheckProjectPermissions as they're no longer used

* Rename useAsyncCheckProjectPermissions to useAsyncCheckPermissions

* Fix TS
2025-09-16 17:05:57 +08:00
Joshen Lim
4124f0ed98 Shift useFlag hook and configcat library to common package, remove from Studio (#38203)
* Shift useFlag hook and configcat library to common package, remove from studio

* Fix test

* Fix test
2025-08-27 13:42:20 +07:00
Joshen Lim
e75c4b2960 Swap useCheckPermissions with useAsyncCheckProjectPermissions part 3 (#37899)
* Swap useCheckPermissions with useAsyncCheckProjectPermissions part 3

* Fix loading state in edge function secrets
2025-08-13 19:07:35 +07:00
Joshen Lim
cab0585533 Fe 1799/consolidate to useselectedprojectquery and (#37684)
* Replace all usage of useProjectContext with useSelectedProjectQuery

* Replace all usage of useSelectedProject with useSelectedProjectQuery

* Replace all usage of useProjectByRef with useProjectByRefQuery

* Replace all usage of useSelectedOrganization with useSelectedOrganizationQuery

* Deprecate useSelectedProject, useSelectedOrganization, and useProjectByRef hooks

* Deprecate ProjecContext
2025-08-06 10:53:10 +07:00
Kevin Grüneberg
e1bd23d66f fix: do not translate USD prices (#35466)
When translation tools go over prices, they wrongfully convert USD into other currencies without changing the price. $25 becomes Rp25 (Rupiah).

By using `translate='no'` we avoid the translation of pricing info. There are some tooltips left that are not covered yet, but this should be the majority already.

Kept the docs Pricing component as simple as possible, just wrapping in a span to avoid translation, not modifying any formatting.
2025-05-06 12:03:35 +08:00
Kevin Grüneberg
d05bbb669f perf: use subscription plan from org response (#34993) 2025-04-14 20:37:19 +08:00
Saxon Fletcher
15841c6bf3 track source when viewing plans (#33405)
* track source when viewing plans

* remove log

* rename event

* Update apps/studio/components/interfaces/Organization/BillingSettings/Restriction.tsx

Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>

* Update apps/studio/components/interfaces/Organization/BillingSettings/BillingBreakdown/BillingMetric.tsx

Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>

* Update apps/studio/components/interfaces/Organization/BillingSettings/Restriction.tsx

Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>

* Update apps/studio/components/interfaces/Organization/BillingSettings/Restriction.tsx

Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>

* added docs for tracking

* prettier

* chore: rename origins to give more hints on where these are coming from

---------

Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>
2025-02-10 16:45:36 +10:00
Kevin Grüneberg
c4dfc4a454 chore: cleanup dead code paths for Stripe (#30001) 2024-10-21 18:22:08 +08:00
Ivan Vasilov
05a542ccea chore: Migrate all feather icons to lucide icons (#29038)
* Add lucide-react to docs (to make the autocomplete work).

* Migrate the docs app icons.

* Migrate the ui-patterns.

* Remove the old icons from ui package.

* Migrate the www app from react-feather icons.

* Migrate all of studio icons.

* Migrate the only component in design-system.

* Fix an old import in ui package. Revert an import in docs app.

* Fix some pages in www.

* Remove unneeded files used in generation of icons.

* Fix a prettier error.

* Fix more issues in www.

* Fix an issue in Log Date picker.

* Replace all string sizes with number sizes because the icons grew in some cases.

* Fix more imports in security page.

* Fix an extra import.

* Remove the size prop from all icons if they're in a button and they match the button size.

* Minor fixes for docs and www.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-04 19:46:21 +08:00
Ivan Vasilov
df52ea7ee0 feat: Replace all toasts with sonner (#28250)
* Update the design of the sonner toasts. Add the close button by default.

* Migrate studio and www apps to use the SonnerToaster.

* Migrate all toasts from studio.

* Migrate all leftover toasts in studio.

* Add a new toast component with progress. Use it in studio.

* Migrate the design-system app.

* Refactor the consent toast to use sonner.

* Switch docs to use the new sonner toasts.

* Remove toast examples from the design-system app.

* Remove all toast-related components and old code.

* Fix the progress bar in the toast progress component. Also make the bottom components vertically centered.

* Fix the width of the toast progress.

* Use text-foreground-lighter instead of muted for ToastProgress text

* Rename ToastProgress to SonnerProgress.

* Shorten the text in sonner progress.

* Use the correct classes for the close button. Add a const var for the default toast duration. Remove the custom width class from sonner.

* Set the position for all progress toasts to bottom right. Set the duration for all toasts to the default (when reusing a toast id from loading/progress toast, the duration is set to infinity).

* Fix the playwright tests.

* Refactor imports to use ui instead of @ui.

* Change all imports of react-hot-toast with sonner. These components were merged since the last commit to this branch.

* Remove react-hot-toast lib.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2024-08-31 07:50:51 +08:00
Jonathan Summers-Muir
4b6c2cbec0 feat: add compute badge (#23234) 2024-08-27 18:23:21 +02:00
Pamela Chia
1904d02e33 chore: remove unnecessary telemetry (#28127) 2024-07-23 13:39:35 +08:00
Wen Bo Xie
f1541878a9 fix: singularize and capitalize Supabase plans (#28052)
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-07-18 04:49:00 +00:00
Alaister Young
70da0f1d1d chore: cleanup packages (#27770)
* chore: cleanup packages

- Avoid circular imports
- Export API-types as types
- pg-format without depending on Node internal Buffer (not browser-compatible)
- Avoid importing from barrel files in ui dir

* chore: avoid barrel file imports in studio (#27771)

* chore: avoid barrel file imports

- Removes some unused imports
- Avoids barrel file import for faster builds + less memory

* add eslint rule

* type fixes

* delete layouts barrel

* delete components/grid barrel file

* delete components/grid/utils barrel file

* delete components/grid/components/common barrel file

* delete components/grid/components/editor barrel file

* delete components/grid/components/formatter barrel file

* delete components/grid/components/grid barrel file

* delete components/grid/components/header/filter barrel file

* remote components/grid/store barrel file

* remove components/interfaces/Auth/Policies barrel file

* delete components/interfaces/Settings/Logs barrel file

* delete components/ui/CodeEditor barrel file

* delete components/ui/Forms barrel file

* delete components/ui/Shimmers barrel file

* delete data/analytics barrel file

* delete hooks barrel file

* cleanup lib/common/fetch barrel file

* final * barral files cleanup

* global react-data-grid styles

* remove console.log

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>

* fix build

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-07-04 14:48:10 +08:00
Kevin Grüneberg
9aa4baf48f chore: project addon text adjustments for Orb (#27532) 2024-06-26 16:05:44 +08:00
Thomas
7f61132bc2 chore: adjust copy in addon update modal for partner billing[GEN-8953] (#26306) 2024-05-16 11:40:39 +08:00
Joshen Lim
3906f1cfb0 Replace ui setnotification with toast part 3 (#21877)
* Replace ui setnotification with toast part 3

* Convert ui setNotification loading to toast for those that dont require progress bar

* Fix

* lint
2024-03-08 21:43:41 +08:00
Kevin Grüneberg
f9a55935f5 chore: use type imports for types/interfaces (#21738) 2024-03-04 20:48:22 +08:00
Alaister Young
3872771413 chore: temporarily disable custom domains (#20853)
* chore: temporarily disable custom domains

* Update CustomDomainSidePanel.tsx

* Update CustomDomainSidePanel.tsx

* update custom domain message

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
Co-authored-by: Inian <inian1234@gmail.com>
2024-01-30 04:08:11 +00:00
Kevin Grüneberg
f7e60bf324 chore: upgrade prettier/eslint + autofix (#20785) 2024-01-30 10:54:02 +08:00
Kevin Grüneberg
33e7c24f5c chore: use currency formatter (#20755) 2024-01-26 13:13:16 +08:00
Thomas
bd808b6fb4 chore: Improves add-on upgrade pages (#20263)[GEN-7453]
* Display customized billling-related text based on whether billing is done by Supabase or partner

* Add warning to PITR page about cancellation of scheduled subscription change

* Remove outdated code for project-based billing
2024-01-10 12:49:49 +01:00
Kevin Grüneberg
1fb755bfc7 chore: use data/fetchers and API spec (#20196)
* chore: use data/fetchers and API spec

* Remove unused imports

---------

Co-authored-by: Thomas Eckl <31189692+ecktoteckto@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-08 14:39:32 +08:00
Joshen Lim
0509bc37d5 Chore/branching update requirements (#19670)
* Update requirements to enable branching

* Remove panel query when closing subscripton plan panel

* Update apps/studio/components/layouts/AppLayout/EnableBranchingButton/BranchingPlanNotice.tsx

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>

* Lint

* Lint

* Update

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2023-12-14 13:49:06 +08:00
Joshen Lim
6435c945b2 Chore/enabling branching fixes (#19324)
* Close branch modal when navigating to other page

* Remove pitr gate for enabling branching and add strong recommendation instead

* Fix SSL toggle not triggering

* Update EnableBranchingModal.tsx

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2023-11-30 20:58:07 +00:00
Ivan Vasilov
436bdb10ae chore: Move the studio app to apps/studio (#18915)
* Move all studio files from /studio to /apps/studio.

* Move studio specific prettier ignores.

* Fix the ui references from studio.

* Fix the css imports.

* Fix all package.json issues.

* Fix the prettier setup for the studio app.

* Add .turbo folder to prettierignore.

* Fix the github workflows.
2023-11-15 12:38:55 +01:00