diff --git a/studio/components/interfaces/App/PortalToast.tsx b/studio/components/interfaces/App/PortalToast.tsx index 18434e82a2e..67386cf12b7 100644 --- a/studio/components/interfaces/App/PortalToast.tsx +++ b/studio/components/interfaces/App/PortalToast.tsx @@ -33,7 +33,7 @@ const PortalToast = () => ( <> {icon}
-
{message}
+
{message}
{t.type !== 'loading' && (
diff --git a/studio/components/interfaces/Billing/Subscription/Subscription.tsx b/studio/components/interfaces/Billing/Subscription/Subscription.tsx index 22909243baa..aa49e690d66 100644 --- a/studio/components/interfaces/Billing/Subscription/Subscription.tsx +++ b/studio/components/interfaces/Billing/Subscription/Subscription.tsx @@ -36,13 +36,13 @@ const Subscription: FC = ({ const router = useRouter() const { ref } = router.query - const enablePermissions = useFlag('enablePermissions') const projectUpdateDisabled = useFlag('disableProjectCreationAndUpdate') const canReadSubscription = checkPermissions(PermissionAction.READ, 'subscriptions') - const canUpdateSubscription = enablePermissions - ? checkPermissions(PermissionAction.BILLING_WRITE, 'stripe.subscriptions') - : ui.selectedOrganization?.is_owner + const canUpdateSubscription = checkPermissions( + PermissionAction.BILLING_WRITE, + 'stripe.subscriptions' + ) const { usage, isLoading: loadingUsage } = useProjectUsage(ref as string) @@ -112,10 +112,8 @@ const Subscription: FC = ({
Our engineers are working on a fix. - ) : !canUpdateSubscription && enablePermissions ? ( + ) : !canUpdateSubscription ? ( 'You need additional permissions to amend subscriptions' - ) : !canUpdateSubscription && !enablePermissions ? ( - 'Only the organization owner can amend subscriptions' ) : ( '' )} diff --git a/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx b/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx index cb9978efc57..010510676a2 100644 --- a/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx @@ -4,7 +4,7 @@ import { Dictionary } from 'components/grid' import { Form, Input, Button, Listbox } from 'ui' import { PermissionAction } from '@supabase/shared-types/out/constants' -import { checkPermissions, useStore, useFlag } from 'hooks' +import { checkPermissions, useStore } from 'hooks' import { patch } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { COUNTRIES } from './BillingAddress.constants' @@ -22,11 +22,11 @@ const BillingAddress: FC = ({ loading, address, onAddressUpdated }) => { const orgSlug = ui.selectedOrganization?.slug ?? '' const { city, country, line1, line2, postal_code, state } = address - const enablePermissions = useFlag('enablePermissions') const canReadBillingAddress = checkPermissions(PermissionAction.BILLING_READ, 'stripe.customer') - const canUpdateBillingAddress = enablePermissions - ? checkPermissions(PermissionAction.BILLING_WRITE, 'stripe.customer') - : ui.selectedOrganization?.is_owner + const canUpdateBillingAddress = checkPermissions( + PermissionAction.BILLING_WRITE, + 'stripe.customer' + ) const [isDirty, setIsDirty] = useState(false) const initialValues = { diff --git a/studio/components/interfaces/Organization/BillingSettings/BillingEmail.tsx b/studio/components/interfaces/Organization/BillingSettings/BillingEmail.tsx index ca1fdf60647..052285ce1fa 100644 --- a/studio/components/interfaces/Organization/BillingSettings/BillingEmail.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/BillingEmail.tsx @@ -1,17 +1,11 @@ import { useContext, useEffect } from 'react' import { Form, Input } from 'ui' import { PermissionAction } from '@supabase/shared-types/out/constants' -import { useFlag, useStore, checkPermissions } from 'hooks' +import { useStore, checkPermissions } from 'hooks' import { API_URL } from 'lib/constants' import { patch } from 'lib/common/fetch' -import { - FormActions, - FormPanel, - FormSection, - FormSectionContent, - FormSectionLabel, -} from 'components/ui/Forms' +import { FormActions, FormPanel, FormSection, FormSectionContent } from 'components/ui/Forms' import { PageContext } from 'pages/org/[slug]/settings' @@ -24,12 +18,7 @@ const BillingEmail = () => { billing_email: PageState.organization?.billing_email ?? '', } - const enablePermissions = useFlag('enablePermissions') - - const canUpdateOrganization = enablePermissions - ? checkPermissions(PermissionAction.UPDATE, 'organizations') - : ui.selectedOrganization?.is_owner - + const canUpdateOrganization = checkPermissions(PermissionAction.UPDATE, 'organizations') const canReadBillingEmail = checkPermissions(PermissionAction.READ, 'organizations') const onUpdateOrganization = async (values: any, { setSubmitting, resetForm }: any) => { diff --git a/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx b/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx index 5dc4677375e..6057c57a403 100644 --- a/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx @@ -1,6 +1,6 @@ import { FC, useState, useEffect } from 'react' -import { useFlag, useStore, checkPermissions } from 'hooks' +import { useStore } from 'hooks' import { API_URL } from 'lib/constants' import { get } from 'lib/common/fetch' @@ -9,7 +9,6 @@ import CreditBalance from './CreditBalance' import PaymentMethods from './PaymentMethods' import BillingAddress from './BillingAddress/BillingAddress' import TaxID from './TaxID/TaxID' -import { PermissionAction } from '@supabase/shared-types/out/constants' import BillingEmail from './BillingEmail' interface Props { @@ -39,14 +38,6 @@ const BillingSettings: FC = ({ organization, projects = [] }) => { ? customerBalance.toString().replace('-', '') : customerBalance - const enablePermissions = useFlag('enablePermissions') - - const canUpdateOrganization = enablePermissions - ? checkPermissions(PermissionAction.UPDATE, 'organizations') - : ui.selectedOrganization?.is_owner - - const canReadBillingEmail = checkPermissions(PermissionAction.READ, 'organizations') - useEffect(() => { getCustomerProfile() getPaymentMethods() diff --git a/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx b/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx index 7b7d38b4c39..f5675c7620b 100644 --- a/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx @@ -46,15 +46,14 @@ const PaymentMethods: FC = ({ const [showAddPaymentMethodModal, setShowAddPaymentMethodModal] = useState(false) const [isUpdatingPaymentMethod, setIsUpdatingPaymentMethod] = useState(false) - const enablePermissions = useFlag('enablePermissions') - const canReadPaymentMethods = checkPermissions( PermissionAction.BILLING_READ, 'stripe.payment_methods' ) - const canUpdatePaymentMethods = enablePermissions - ? checkPermissions(PermissionAction.BILLING_WRITE, 'stripe.payment_methods') - : isOwner + const canUpdatePaymentMethods = checkPermissions( + PermissionAction.BILLING_WRITE, + 'stripe.payment_methods' + ) const onConfirmMakeDefaultPaymentMethod = async () => { try { @@ -120,9 +119,7 @@ const PaymentMethods: FC = ({
{!canUpdatePaymentMethods ? (

- {enablePermissions - ? "You need additional permissions to manage this organization's payment methods" - : 'Only organization owners can update payment methods'} + You need additional permissions to manage this organization's payment methods

) : (
diff --git a/studio/components/interfaces/Organization/BillingSettings/TaxID/TaxID.tsx b/studio/components/interfaces/Organization/BillingSettings/TaxID/TaxID.tsx index 1c525608eb4..31dffe44d4f 100644 --- a/studio/components/interfaces/Organization/BillingSettings/TaxID/TaxID.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/TaxID/TaxID.tsx @@ -50,12 +50,8 @@ const TaxID: FC = ({ loading, taxIds, onTaxIdsUpdated }) => { }, [taxIds]) const hasChanges = !isEqual(taxIdValues, formattedTaxIds) - - const enablePermissions = useFlag('enablePermissions') const canReadTaxIds = checkPermissions(PermissionAction.BILLING_READ, 'stripe.tax_ids') - const canUpdateTaxIds = enablePermissions - ? checkPermissions(PermissionAction.BILLING_WRITE, 'stripe.tax_ids') - : ui.selectedOrganization?.is_owner + const canUpdateTaxIds = checkPermissions(PermissionAction.BILLING_WRITE, 'stripe.tax_ids') const onUpdateTaxId = (id: string, key: string, value: string) => { const updatedTaxIds = taxIdValues.map((taxId: any) => { diff --git a/studio/components/interfaces/Organization/GeneralSettings/GeneralSettings.tsx b/studio/components/interfaces/Organization/GeneralSettings/GeneralSettings.tsx index 9af091fa4d2..f87ab5c6be4 100644 --- a/studio/components/interfaces/Organization/GeneralSettings/GeneralSettings.tsx +++ b/studio/components/interfaces/Organization/GeneralSettings/GeneralSettings.tsx @@ -3,7 +3,7 @@ import { observer } from 'mobx-react-lite' import { Form, Input } from 'ui' import { PermissionAction } from '@supabase/shared-types/out/constants' -import { useFlag, useStore, checkPermissions } from 'hooks' +import { useStore, checkPermissions } from 'hooks' import { API_URL } from 'lib/constants' import { patch } from 'lib/common/fetch' @@ -24,16 +24,8 @@ const GeneralSettings = observer(() => { const formId = 'org-general-settings' const initialValues = { name: PageState.organization.name } - - const enablePermissions = useFlag('enablePermissions') - - const canUpdateOrganization = enablePermissions - ? checkPermissions(PermissionAction.UPDATE, 'organizations') - : ui.selectedOrganization?.is_owner - - const canDeleteOrganization = enablePermissions - ? checkPermissions(PermissionAction.UPDATE, 'organizations') - : ui.selectedOrganization?.is_owner + const canUpdateOrganization = checkPermissions(PermissionAction.UPDATE, 'organizations') + const canDeleteOrganization = checkPermissions(PermissionAction.UPDATE, 'organizations') const onUpdateOrganization = async (values: any, { setSubmitting, resetForm }: any) => { if (!canUpdateOrganization) { diff --git a/studio/components/interfaces/Organization/NewProject/NotOrganizationOwnerWarning.tsx b/studio/components/interfaces/Organization/NewProject/NotOrganizationOwnerWarning.tsx index d98396c9a87..a80724fb25c 100644 --- a/studio/components/interfaces/Organization/NewProject/NotOrganizationOwnerWarning.tsx +++ b/studio/components/interfaces/Organization/NewProject/NotOrganizationOwnerWarning.tsx @@ -1,12 +1,8 @@ import { IconAlertCircle } from 'ui' - -import { useFlag } from 'hooks' import InformationBox from 'components/ui/InformationBox' // [Joshen] This can just use NoPermission component i think const NotOrganizationOwnerWarning = () => { - const enablePermissions = useFlag('enablePermissions') - return (
{ description={

- {enablePermissions - ? 'Contact your organization owner or adminstrator to create a new project.' - : 'Only the organization owner can create new projects. Contact your organization owner to create a new project for this organization.'} + Contact your organization owner or adminstrator to create a new project.

} diff --git a/studio/components/interfaces/Organization/TeamSettings/InviteMemberButton.tsx b/studio/components/interfaces/Organization/TeamSettings/InviteMemberButton.tsx index 092a893902b..091496b3238 100644 --- a/studio/components/interfaces/Organization/TeamSettings/InviteMemberButton.tsx +++ b/studio/components/interfaces/Organization/TeamSettings/InviteMemberButton.tsx @@ -6,7 +6,7 @@ import * as Tooltip from '@radix-ui/react-tooltip' import { Button, Form, IconMail, Input, Modal, Select } from 'ui' import { Member, User, Role } from 'types' -import { checkPermissions, useFlag, useOrganizationDetail, useStore } from 'hooks' +import { checkPermissions, useOrganizationDetail, useStore } from 'hooks' import { post } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { PermissionAction } from '@supabase/shared-types/out/constants' @@ -23,8 +23,6 @@ const InviteMemberButton: FC = ({ user, members = [], roles = [], rolesAd const router = useRouter() const { slug } = router.query - const enablePermissions = useFlag('enablePermissions') - const [isOpen, setIsOpen] = useState(false) const { mutateOrgMembers } = useOrganizationDetail((slug as string) || '') @@ -57,16 +55,14 @@ const InviteMemberButton: FC = ({ user, members = [], roles = [], rolesAd } } - const roleId = enablePermissions - ? Number(values.role) - : roles.find((role) => role.name === 'Developer')?.id ?? roles[0].id + const roleId = Number(values.role) setSubmitting(true) const response = await post(`${API_URL}/organizations/${slug}/members/invite`, { invited_email: values.email.toLowerCase(), owner_id: user.id, - ...(enablePermissions ? { role_id: roleId } : {}), + role_id: roleId, }) if (response.error) { @@ -141,9 +137,7 @@ const InviteMemberButton: FC = ({ user, members = [], roles = [], rolesAd }, [roles]) const selectedRole = roles.find((role) => role.id === Number(values.role)) - const invalidRoleSelected = enablePermissions - ? values.role && !rolesAddable.includes(Number(values.role)) - : false + const invalidRoleSelected = values.role && !rolesAddable.includes(Number(values.role)) return ( <> @@ -151,7 +145,7 @@ const InviteMemberButton: FC = ({ user, members = [], roles = [], rolesAd
- {roles && enablePermissions && ( + {roles && (