* Fix version selector if only one result returned, and default to first result if no GA version found
* Update apps/studio/components/interfaces/ProjectCreation/PostgresVersionSelector.tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* Lint
---------
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* add tracking for project create form
* standardise to more common verb
* Update telemetry-constants.ts
---------
Co-authored-by: Pamela Chia <pamelachiamayyee@gmail.com>
* deleted all old pages except from FAQs
* added pricing section to feature docs pages
* adjusted all links to new pages (on Dashboard, in docs, on Pricing page)
* configured redirects from old billing docs pages to new pages
---------
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
* some early ideas
* better approach
* fix globe stuff
* add initial step
* reset and submit button for chat
* cleanup
* remove www
* more clean up
* mobile and more cleanup
* fixes
* update advanced and security
* fix project checks
* connect form
* fix reset and tidied up other things
* add layout options
* a/b test
* add offset
* add ab test
* remove www packages
* remove www
* package
* update coordinates
* feat: create ProjectCreationInitialStepSubmittedEvent
* feat: add event for capturing intention of prompting
* fix: bring pnpm-lock up to date
* fix ts errors
* fix globe
* fix globe animation
* fix ts
* remove imports and tools
* update module resolution
* global redirect
* delay rendering
* Update apps/studio/pages/new/[slug].tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* take directly to v2 via project create dropdown
* move redirect to useEffect
* feat: distinguish events between initial and second step
* feat: emit an event when create project is clicked on new/v2
* fix: correct event type defs
* remove unused imports
* Various clean ups
* improvements
* Minor refactors
* clean up
* ts fixes
---------
Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Just setting `enabled` flag on react-query is not sufficient, as the data may be preloaded already. To ensure we're not blocking team/enterprise customers with outstanding invoices from launching new projects or replicas, we have to add an additional check.
Backend is already validating this properly, only a frontend issue.
* Add restrictions for orioledb technical preview
* Add callouts to pgvector and postgis if orioledb
* Restrict restore to new project for orioledb
* Scaffold client side validation for preventing org upgrade if org has oriole db present
* Hook up proper logic for oriole
* Fix
* Remove console log
* Fix type
* Disable version selector if only one version is available
* chore: oriole badges
* UI updates based on requests
* Update copy
* Fix
* Dont open assistant if opt is selected
* Fix
* Fix
* Update badge
* Add feature flag for orioleDB
* Feature flag oriole check in plan update
---------
Co-authored-by: Paul Cioanca <paul.cioanca@supabase.io>
* Refactor restore to new project by breaking into smaller components
* Shift generateStrongPassword into a utils
* Update each notice component in restore to new project to be more consistent
* Add long polling in restore to new project
* Call refetch
* add new ui for restore to new project
* rm false
* fix typeerr badly
* add form with name and new project pass
* fix flash in loading > results state change
* restore api types
* update api types, add pitr picker
* add additional monthly spend section
* fix loading state jump
* update copy
* update api types
* update to new clone status api res
* fix mutation missing vars
* dont render logical backups in list
* fix state issue on submit
* better pitr empty state
* Update apps/studio/pages/project/[ref]/database/backups/restore-to-new-project.tsx
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
* Update apps/studio/pages/project/[ref]/database/backups/restore-to-new-project.tsx
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Apply suggestions from code review
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
* update api types to accept recoveryTimeTarget for PITR restores
* simplify pitr code a bit cleanup state bugs
* cleanup
* add PITR submit
* dont show restore btn unless status is complete
* update api types
* fix backups nav
* markdown descs and fix type err in nav
* check if project is cloned
* fix: make source project data optional
* fix datepicker highlighted day style
* fix tz picker
* check if its same or before/after in isWithinRange
* update api types fix issue with clones
* unsus
* fix markdown rendering issues
* add badge
* Update database roles and permissions description
* Update restore message text in PITR form component
* Update key attribute to item.id in DatabaseBackupsNav component
* Add conditional rendering for multiple available dates
* Refactor dialog section styles in restore-to-new-project.tsx
* Update null to undefined in conditional text assignment
* reuse component in pitr backups
* Update apps/studio/pages/project/[ref]/database/backups/restore-to-new-project.tsx
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
* Update link to original project in RestoreToNewProject
* fix prettier
---------
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Crispy1975 <12525875+Crispy1975@users.noreply.github.com>
* Add types to the stripe API calls.
* Add a warning and redirect to new org if the user doesn't have an org. Refactor the new org page to keep the state in url.
* Simplify the plans listing.
* Revert some CSS changes.
* Add all missing libraries in the packages/apps.
* Add all missing Vitest imports to the tests.
* Add some missing exports to ui.
* Fix the admonition export.
* Fix various minor bugs.
* Migrate the ui package to use vitest.
* feat: prefill first org name and first project name
* chore: move prefill logic to new page
---------
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* 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>
* feat(docs), refactor(docs,studio): add regions list to docs
Adds list of supported AWS regions to docs.
Pulls the region information into `shared-data` package to provide common source of truth for dashboard and docs.
* style: format
One of our bigger papercuts in terms of billing is customers not understand compute pricing and that they cannot launch unlimited projects for $25 in total per month. Customers also get confused with "Compute Hours" on their bill.
We already show a breakdown of compute hours/compute costs on the organization billing and usage pages. While that can be improved in the future, this PR aims to make compute costs much more clear when launching a new project.
This should avoid "surprise" compute charges and serves as kaizen improvement. Info is only shown for paid plan organizations, as it's irrelevant for free plan organization.
* Final replacements of ui setNotification with toast
* Rip out UiStore
* Rip out UiStore
* Shift files under authConfigSchema to components/Auth
* Rip out use of observers
* Remove observer calls for pages and components that no longer use mobx stores
* Replace all methods of MetaStore with react queries.
* Remove unneeded usages of MetaStore.
* Remove RootStore completely. The only thing left from these stores is uiStore.
* Remove unnecessary comments.
* Delete MetaStore.
* Fix the usage of the wrong toaster.
* Remove unused variables
* Remove onSqlQuery
* Convert some ui setNotification calls to direct toast calls
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>