diff --git a/studio/components/interfaces/Auth/Policies/PolicyEditorModal/PolicyEditorModalTitle.tsx b/studio/components/interfaces/Auth/Policies/PolicyEditorModal/PolicyEditorModalTitle.tsx index 3aefb8abc8f..74e8bf8dc10 100644 --- a/studio/components/interfaces/Auth/Policies/PolicyEditorModal/PolicyEditorModalTitle.tsx +++ b/studio/components/interfaces/Auth/Policies/PolicyEditorModal/PolicyEditorModalTitle.tsx @@ -1,8 +1,9 @@ -import { FC } from 'react' +import { noop } from 'lodash' import { IconChevronLeft } from 'ui' + import { POLICY_MODAL_VIEWS } from 'components/interfaces/Auth/Policies' -interface Props { +interface PolicyEditorModalTitleProps { view: string schema: string table: string @@ -10,13 +11,13 @@ interface Props { onSelectBackFromTemplates: () => void } -const PolicyEditorModalTitle: FC = ({ +const PolicyEditorModalTitle = ({ view, schema, table, isNewPolicy, - onSelectBackFromTemplates = () => {}, -}) => { + onSelectBackFromTemplates = noop, +}: PolicyEditorModalTitleProps) => { const getTitle = () => { if (view === POLICY_MODAL_VIEWS.EDITOR || view === POLICY_MODAL_VIEWS.SELECTION) { return `${isNewPolicy ? 'Adding new policy to' : 'Editing policy from'} ${schema}.${table}` diff --git a/studio/components/interfaces/BillingV2/AddNewPaymentMethodModal/AddPaymentMethodForm.tsx b/studio/components/interfaces/BillingV2/AddNewPaymentMethodModal/AddPaymentMethodForm.tsx index 104eae62698..92cfca9fae7 100644 --- a/studio/components/interfaces/BillingV2/AddNewPaymentMethodModal/AddPaymentMethodForm.tsx +++ b/studio/components/interfaces/BillingV2/AddNewPaymentMethodModal/AddPaymentMethodForm.tsx @@ -1,9 +1,10 @@ -import { FC, useState } from 'react' +import { PaymentElement, useElements, useStripe } from '@stripe/react-stripe-js' +import { useState } from 'react' import { Button, Modal } from 'ui' -import { useStripe, useElements, PaymentElement } from '@stripe/react-stripe-js' + import { useStore } from 'hooks' -interface Props { +interface AddPaymentMethodFormProps { returnUrl: string onCancel: () => void onConfirm: () => void @@ -13,7 +14,7 @@ interface Props { // manually creating and attaching payment methods via the API // Small UX annoyance here, that the page will be refreshed -const AddPaymentMethodForm: FC = ({ returnUrl, onCancel, onConfirm }) => { +const AddPaymentMethodForm = ({ returnUrl, onCancel, onConfirm }: AddPaymentMethodFormProps) => { const { ui } = useStore() const stripe = useStripe() const elements = useElements() diff --git a/studio/components/interfaces/BillingV2/InvoiceStatusBadge.tsx b/studio/components/interfaces/BillingV2/InvoiceStatusBadge.tsx index ecf6a931eef..d6a1a12a6cc 100644 --- a/studio/components/interfaces/BillingV2/InvoiceStatusBadge.tsx +++ b/studio/components/interfaces/BillingV2/InvoiceStatusBadge.tsx @@ -1,9 +1,9 @@ -import { FC } from 'react' import * as Tooltip from '@radix-ui/react-tooltip' import { Badge } from 'ui' + import { InvoiceStatus } from './Invoices.types' -interface Props { +interface InvoiceStatusBadgeProps { status: InvoiceStatus } @@ -33,7 +33,7 @@ export const invoiceStatusMapping: Record = ({ status }) => { +const InvoiceStatusBadge = ({ status }: InvoiceStatusBadgeProps) => { const statusMapping = invoiceStatusMapping[status] return ( diff --git a/studio/components/interfaces/BillingV2/NoProjectsOnPaidOrgInfo.tsx b/studio/components/interfaces/BillingV2/NoProjectsOnPaidOrgInfo.tsx index fde24bc8efb..9d565fbbe48 100644 --- a/studio/components/interfaces/BillingV2/NoProjectsOnPaidOrgInfo.tsx +++ b/studio/components/interfaces/BillingV2/NoProjectsOnPaidOrgInfo.tsx @@ -1,16 +1,16 @@ +import Link from 'next/link' +import { IconInfo } from 'ui' + import InformationBox from 'components/ui/InformationBox' import { useProjectsQuery } from 'data/projects/projects-query' import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query' -import Link from 'next/link' -import { FC } from 'react' import { Organization } from 'types' -import { IconInfo } from 'ui' -interface Props { +interface NoProjectsOnPaidOrgInfoProps { organization?: Organization } -const NoProjectsOnPaidOrgInfo: FC = ({ organization }) => { +const NoProjectsOnPaidOrgInfo = ({ organization }: NoProjectsOnPaidOrgInfoProps) => { const { data: allProjects } = useProjectsQuery({ enabled: organization?.subscription_id !== undefined, }) diff --git a/studio/components/interfaces/BillingV2/SpendCapModal.tsx b/studio/components/interfaces/BillingV2/SpendCapModal.tsx index e3bb6b7f7ee..ef662f146cd 100644 --- a/studio/components/interfaces/BillingV2/SpendCapModal.tsx +++ b/studio/components/interfaces/BillingV2/SpendCapModal.tsx @@ -1,14 +1,13 @@ -import { FC } from 'react' import * as Tooltip from '@radix-ui/react-tooltip' -import { Button, IconHelpCircle, Modal } from 'ui' import Link from 'next/link' +import { Button, IconHelpCircle, Modal } from 'ui' -interface Props { +interface SpendCapModalProps { visible: boolean onHide: () => void } -const SpendCapModal: FC = ({ visible, onHide }) => { +const SpendCapModal = ({ visible, onHide }: SpendCapModalProps) => { return ( onHide()}>
diff --git a/studio/components/interfaces/Database/Backups/PITR/PITRStatus.tsx b/studio/components/interfaces/Database/Backups/PITR/PITRStatus.tsx index 93fd29b5a17..a6195189189 100644 --- a/studio/components/interfaces/Database/Backups/PITR/PITRStatus.tsx +++ b/studio/components/interfaces/Database/Backups/PITR/PITRStatus.tsx @@ -1,22 +1,25 @@ +import * as Tooltip from '@radix-ui/react-tooltip' import dayjs from 'dayjs' -import { FC } from 'react' import { observer } from 'mobx-react-lite' import { Button, IconAlertCircle } from 'ui' -import * as Tooltip from '@radix-ui/react-tooltip' +import { PermissionAction } from '@supabase/shared-types/out/constants' +import { FormPanel } from 'components/ui/Forms' import { useCheckPermissions, useStore } from 'hooks' import { Timezone } from './PITR.types' -import { FormPanel } from 'components/ui/Forms' import TimezoneSelection from './TimezoneSelection' -import { PermissionAction } from '@supabase/shared-types/out/constants' -interface Props { +interface PITRStatusProps { selectedTimezone: Timezone onUpdateTimezone: (timezone: Timezone) => void onSetConfiguration: () => void } -const PITRStatus: FC = ({ selectedTimezone, onUpdateTimezone, onSetConfiguration }) => { +const PITRStatus = ({ + selectedTimezone, + onUpdateTimezone, + onSetConfiguration, +}: PITRStatusProps) => { const { backups } = useStore() const { earliestPhysicalBackupDateUnix, latestPhysicalBackupDateUnix } = backups?.configuration?.physicalBackupData ?? {} diff --git a/studio/components/interfaces/Database/Backups/PITR/TimeInput.tsx b/studio/components/interfaces/Database/Backups/PITR/TimeInput.tsx index 90b2b7e6032..2d8466f0ef0 100644 --- a/studio/components/interfaces/Database/Backups/PITR/TimeInput.tsx +++ b/studio/components/interfaces/Database/Backups/PITR/TimeInput.tsx @@ -1,7 +1,7 @@ -import dayjs from 'dayjs' -import { isNaN } from 'lodash' -import { ChangeEvent, FC, useEffect, useState } from 'react' import * as Tooltip from '@radix-ui/react-tooltip' +import dayjs from 'dayjs' +import { isNaN, noop } from 'lodash' +import { ChangeEvent, useEffect, useState } from 'react' import { IconClock } from 'ui' import { Time } from './PITR.types' @@ -15,14 +15,14 @@ import { formatNumberToTwoDigits, formatTimeToTimeString } from './PITR.utils' // [Joshen] Potential extension, give option to toggle 24 hours or AM/PM -interface Props { +interface TimeInputProps { defaultTime?: Time minimumTime?: Time maximumTime?: Time onChange?: (time: Time) => void } -const TimeInput: FC = ({ defaultTime, minimumTime, maximumTime, onChange = () => {} }) => { +const TimeInput = ({ defaultTime, minimumTime, maximumTime, onChange = noop }: TimeInputProps) => { const [isFocused, setIsFocused] = useState(false) const [error, setError] = useState() const [time, setTime] = useState