chore: use type imports for types/interfaces (#21738)

This commit is contained in:
Kevin Grüneberg authored and GitHub committed 2024-03-04 20:48:22 +08:00
1 parent 8921b977e7
commit f9a55935f5
683 files changed
+903 -893

No files matched your search

+1 -1
View File
@@ -23,7 +23,7 @@ import { Grid } from './components/grid'
import Header from './components/header/Header'
import { RowContextMenu } from './components/menu'
import { StoreProvider, useDispatch, useTrackedState } from './store'
import { SupabaseGridProps } from './types'
import type { SupabaseGridProps } from './types'
/** Supabase Grid: React component to render database table */
@@ -1,11 +1,11 @@
import AwesomeDebouncePromise from 'awesome-debounce-promise'
import { STORAGE_KEY_PREFIX } from './constants'
import { InitialStateType } from './store/reducers'
import { Sort, SupabaseGridProps, SupaColumn, SupaTable } from './types'
import type { Sort, SupabaseGridProps, SupaColumn, SupaTable } from './types'
import type { Dictionary } from 'types'
import { getGridColumns } from './utils/gridColumns'
import { FilterOperatorOptions } from './components/header/filter'
import { Filter } from 'components/grid/types'
import type { Filter } from 'components/grid/types'
export function defaultErrorHandler(error: any) {
console.error('Supabase grid error: ', error)
@@ -1,7 +1,7 @@
import * as React from 'react'
import { useTrackedState } from '../../store'
import { useKeyboardShortcuts } from './Hooks'
import { DataGridHandle } from 'react-data-grid'
import type { DataGridHandle } from 'react-data-grid'
import { formatClipboardValue, copyToClipboard } from '../../utils'
type ShortcutsProps = {
@@ -1,5 +1,5 @@
import { Select } from 'ui'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
import { useTrackedState } from 'components/grid/store'
interface Props<TRow, TSummaryRow = unknown> extends RenderEditCellProps<TRow, TSummaryRow> {
@@ -1,5 +1,5 @@
import * as React from 'react'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
function autoFocusAndSelect(input: HTMLInputElement | null) {
input?.focus()
@@ -1,5 +1,5 @@
import { ChangeEvent } from 'react'
import { RenderEditCellProps } from 'react-data-grid'
import type { ChangeEvent } from 'react'
import type { RenderEditCellProps } from 'react-data-grid'
import dayjs from 'dayjs'
import customParseFormat from 'dayjs/plugin/customParseFormat'
@@ -1,5 +1,5 @@
import * as Tooltip from '@radix-ui/react-tooltip'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
import { useCallback, useState } from 'react'
import { IconMaximize, Popover } from 'ui'
@@ -1,5 +1,5 @@
import * as React from 'react'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
function autoFocusAndSelect(input: HTMLInputElement | null) {
input?.focus()
@@ -1,5 +1,5 @@
import { Select } from 'ui'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
import { useTrackedState } from 'components/grid/store'
@@ -1,6 +1,6 @@
import * as Tooltip from '@radix-ui/react-tooltip'
import { useCallback, useState } from 'react'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
import { Button, IconMaximize, Popover } from 'ui'
import { useTrackedState } from '../../store'
import { BlockKeys, EmptyValue, MonacoEditor, NullValue } from '../common'
@@ -1,5 +1,5 @@
import * as React from 'react'
import { RenderEditCellProps } from 'react-data-grid'
import type { RenderEditCellProps } from 'react-data-grid'
import dayjs from 'dayjs'
import customParseFormat from 'dayjs/plugin/customParseFormat'
@@ -1,6 +1,6 @@
import { PropsWithChildren } from 'react'
import { RenderCellProps } from 'react-data-grid'
import { SupaRow } from '../../types'
import type { PropsWithChildren } from 'react'
import type { RenderCellProps } from 'react-data-grid'
import type { SupaRow } from '../../types'
import { NullValue } from '../common'
export const BooleanFormatter = (p: PropsWithChildren<RenderCellProps<SupaRow, unknown>>) => {
@@ -1,6 +1,6 @@
import * as React from 'react'
import { RenderCellProps } from 'react-data-grid'
import { SupaRow } from '../../types'
import type { RenderCellProps } from 'react-data-grid'
import type { SupaRow } from '../../types'
import { NullValue } from '../common'
import { EmptyValue } from '../common/EmptyValue'
@@ -1,14 +1,14 @@
import * as Tooltip from '@radix-ui/react-tooltip'
import Link from 'next/link'
import { PropsWithChildren } from 'react'
import { RenderCellProps } from 'react-data-grid'
import type { PropsWithChildren } from 'react'
import type { RenderCellProps } from 'react-data-grid'
import { Button, IconArrowRight } from 'ui'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import { useTableQuery } from 'data/tables/table-query'
import { useTablesQuery } from 'data/tables/tables-query'
import { useTableEditorStateSnapshot } from 'state/table-editor'
import { SupaRow } from '../../types'
import type { SupaRow } from '../../types'
import { NullValue } from '../common'
interface Props extends PropsWithChildren<RenderCellProps<SupaRow, unknown>> {
@@ -1,6 +1,6 @@
import * as React from 'react'
import { RenderCellProps } from 'react-data-grid'
import { SupaRow } from '../../types'
import type { RenderCellProps } from 'react-data-grid'
import type { SupaRow } from '../../types'
import { EmptyValue, NullValue } from '../common'
export const JsonFormatter = (p: React.PropsWithChildren<RenderCellProps<SupaRow, unknown>>) => {
@@ -1,4 +1,4 @@
import { CalculatedColumn } from 'react-data-grid'
import type { CalculatedColumn } from 'react-data-grid'
import { Button, IconPlus } from 'ui'
import { ADD_COLUMN_KEY } from '../../constants'
@@ -6,7 +6,7 @@ import * as React from 'react'
import { useDrag, useDrop } from 'react-dnd'
import { IconArrowRight, IconKey, IconLink, IconLock } from 'ui'
import { useDispatch, useTrackedState } from '../../store'
import { ColumnHeaderProps, ColumnType, DragItem, GridForeignKey } from '../../types'
import type { ColumnHeaderProps, ColumnType, DragItem, GridForeignKey } from '../../types'
import { ColumnMenu } from '../menu'
import { useEffect } from 'react'
@@ -16,7 +16,7 @@ import { useForeignKeyConstraintsQuery } from 'data/database/foreign-key-constra
import { useKeyboardShortcuts, useUrlState } from 'hooks'
import { copyToClipboard } from 'lib/helpers'
import { useDispatch, useTrackedState } from '../../store'
import { Filter, GridProps, SupaRow } from '../../types'
import type { Filter, GridProps, SupaRow } from '../../types'
import RowRenderer from './RowRenderer'
const rowKeyGetter = (row: SupaRow) => {
@@ -1,7 +1,7 @@
import { Key } from 'react'
import type { Key } from 'react'
import { TriggerEvent, useContextMenu } from 'react-contexify'
import { Row, RenderRowProps } from 'react-data-grid'
import { SupaRow } from '../../types'
import type { SupaRow } from '../../types'
import { ROW_CONTEXT_MENU_ID } from '../menu'
export default function RowRenderer(key: Key, props: RenderRowProps<SupaRow>) {
@@ -11,7 +11,7 @@ import { Button, IconMaximize2 } from 'ui'
import { SELECT_COLUMN_KEY } from '../../constants'
import { useTrackedState } from '../../store'
import { SupaRow } from '../../types'
import type { SupaRow } from '../../types'
export const SelectColumn: CalculatedColumn<any, any> = {
key: SELECT_COLUMN_KEY,
@@ -7,7 +7,7 @@ import { ReactNode, useState } from 'react'
import toast from 'react-hot-toast'
import { useDispatch, useTrackedState } from 'components/grid/store'
import { Filter, Sort, SupaTable } from 'components/grid/types'
import type { Filter, Sort, SupaTable } from 'components/grid/types'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import { useTableRowsCountQuery } from 'data/table-rows/table-rows-count-query'
import { fetchAllTableRows, useTableRowsQuery } from 'data/table-rows/table-rows-query'
@@ -1,11 +1,11 @@
import { useQueryClient } from '@tanstack/react-query'
import { useParams } from 'common/hooks'
import { SupaTable } from 'components/grid/types'
import type { SupaTable } from 'components/grid/types'
import { sqlKeys } from 'data/sql/keys'
import { useEffect, useState } from 'react'
import { Button, IconCheck, IconRefreshCw } from 'ui'
import { SupabaseGridQueue } from '../../constants'
import { TableLike } from 'hooks/misc/useTable'
import { SupabaseGridQueue } from '../../queue'
import type { TableLike } from 'hooks/misc/useTable'
export type RefreshButtonProps = {
table: TableLike | SupaTable
@@ -5,7 +5,7 @@ import { KeyboardEvent, useCallback, useMemo, useState } from 'react'
import { Button, IconFilter, IconPlus, Popover } from 'ui'
import { formatFilterURLParams } from 'components/grid/SupabaseGrid.utils'
import { Filter, SupaTable } from 'components/grid/types'
import type { Filter, SupaTable } from 'components/grid/types'
import { FilterOperatorOptions } from './Filter.constants'
import FilterRow from './FilterRow'
@@ -2,7 +2,7 @@ import { KeyboardEvent, memo } from 'react'
import { Button, IconChevronDown, IconX, Input } from 'ui'
import { DropdownControl } from 'components/grid/components/common'
import { Filter, FilterOperator, SupaTable } from 'components/grid/types'
import type { Filter, FilterOperator, SupaTable } from 'components/grid/types'
import { FilterOperatorOptions } from './Filter.constants'
export interface FilterRowProps {
@@ -6,7 +6,7 @@ import { Button, IconChevronDown, IconList, Popover } from 'ui'
import { DropdownControl } from 'components/grid/components/common'
import { formatSortURLParams } from 'components/grid/SupabaseGrid.utils'
import { Sort, SupaTable } from 'components/grid/types'
import type { Sort, SupaTable } from 'components/grid/types'
import SortRow from './SortRow'
export interface SortPopoverProps {
@@ -3,7 +3,7 @@ import { memo, useRef } from 'react'
import { useDrag, useDrop } from 'react-dnd'
import { Button, IconMenu, IconX, Toggle } from 'ui'
import { DragItem, Sort, SupaTable } from 'components/grid/types'
import type { DragItem, Sort, SupaTable } from 'components/grid/types'
export interface SortRowProps {
table: SupaTable
@@ -1,5 +1,5 @@
import * as Tooltip from '@radix-ui/react-tooltip'
import { CalculatedColumn } from 'react-data-grid'
import type { CalculatedColumn } from 'react-data-grid'
import {
Button,
Divider,
@@ -1,7 +1,7 @@
import { Item, ItemParams, Menu, PredicateParams, Separator } from 'react-contexify'
import { IconClipboard, IconEdit, IconTrash } from 'ui'
import { SupaRow } from 'components/grid/types'
import type { SupaRow } from 'components/grid/types'
import { useCallback } from 'react'
import { useTableEditorStateSnapshot } from 'state/table-editor'
import { useTrackedState } from '../../store'
-4
View File
@@ -1,7 +1,3 @@
import PQueue from 'p-queue'
export const SupabaseGridQueue = new PQueue({ concurrency: 1 })
export const COLUMN_MIN_WIDTH = 100
export const STORAGE_KEY_PREFIX = 'supabase_grid'
@@ -1,5 +1,5 @@
import { ident, literal, format } from '@scaleleap/pg-format'
import { Filter, QueryPagination, QueryTable, Sort } from '../types'
import type { Filter, QueryPagination, QueryTable, Sort } from '../types'
import type { Dictionary } from 'types'
export function countQuery(
@@ -1,4 +1,4 @@
import { QueryTable } from '../types'
import type { QueryTable } from '../types'
import type { Dictionary } from 'types'
import { IQueryFilter, QueryFilter } from './QueryFilter'
@@ -1,4 +1,4 @@
import { Filter, FilterOperator, QueryTable, Sort } from '../types'
import type { Filter, FilterOperator, QueryTable, Sort } from '../types'
import type { Dictionary } from 'types'
import { IQueryModifier, QueryModifier } from './QueryModifier'
@@ -1,5 +1,5 @@
import type { Dictionary } from 'types'
import { Filter, QueryPagination, QueryTable, Sort } from '../types'
import type { Filter, QueryPagination, QueryTable, Sort } from '../types'
import {
countQuery,
deleteQuery,
+3
View File
@@ -0,0 +1,3 @@
import PQueue from 'p-queue'
export const SupabaseGridQueue = new PQueue({ concurrency: 1 })
@@ -1,6 +1,6 @@
import { CalculatedColumn } from 'react-data-grid'
import { TOTAL_ROWS_RESET } from '../../constants'
import { GridProps, SavedState, SupaTable } from '../../types'
import type { GridProps, SavedState, SupaTable } from '../../types'
export interface BaseInitialState {
table: SupaTable | null
@@ -1,4 +1,4 @@
import { SupaRow } from '../../types'
import type { SupaRow } from '../../types'
export interface CallbackInitialState {
onAddColumn: (() => void) | null
@@ -1,5 +1,5 @@
import update from 'immutability-helper'
import { CalculatedColumn } from 'react-data-grid'
import type { CalculatedColumn } from 'react-data-grid'
import { cloneColumn, getInitialGridColumns } from '../../utils'
import { INIT_ACTIONTYPE } from './base'
@@ -1,5 +1,5 @@
import { TOTAL_ROWS_INITIAL, TOTAL_ROWS_RESET } from '../../constants'
import { SupaRow } from '../../types'
import type { SupaRow } from '../../types'
import { INIT_ACTIONTYPE } from './base'
export interface RowInitialState {
+1 -1
View File
@@ -1,6 +1,6 @@
import { CalculatedColumn } from 'react-data-grid'
import { ADD_COLUMN_KEY, SELECT_COLUMN_KEY } from '../constants'
import { SavedState } from '../types'
import type { SavedState } from '../types'
import { deepClone } from './common'
export function cloneColumn(column: CalculatedColumn<any, any>) {
@@ -1,5 +1,5 @@
import { CalculatedColumn } from 'react-data-grid'
import { ColumnType, SupaColumn, SupaRow, SupaTable } from '../types'
import type { ColumnType, SupaColumn, SupaRow, SupaTable } from '../types'
import {
isArrayColumn,
isBoolColumn,
+1 -1
View File
@@ -1,4 +1,4 @@
import { SupaColumn } from '../types'
import type { SupaColumn } from '../types'
const NUMERICAL_TYPES = [
'smallint',
@@ -8,7 +8,7 @@ import Table from 'components/to-be-cleaned/Table'
import AlertError from 'components/ui/AlertError'
import { DatePicker } from 'components/ui/DatePicker'
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
import { AuditLog } from 'data/organizations/organization-audit-logs-query'
import type { AuditLog } from 'data/organizations/organization-audit-logs-query'
import { useOrganizationsQuery } from 'data/organizations/organizations-query'
import { useProfileAuditLogsQuery } from 'data/profile/profile-audit-logs-query'
import { useProjectsQuery } from 'data/projects/projects-query'
@@ -3,7 +3,7 @@ import Link from 'next/link'
import Panel from 'components/ui/Panel'
import { useSession } from 'lib/auth'
import { Profile } from 'data/profile/types'
import type { Profile } from 'data/profile/types'
const AccountInformation = ({ profile }: { profile?: Profile }) => {
const session = useSession()
@@ -14,9 +14,9 @@ import z from 'zod'
import { FormActions } from 'components/ui/Forms'
import Panel from 'components/ui/Panel'
import { useProfileUpdateMutation } from 'data/profile/profile-update-mutation'
import { Profile } from 'data/profile/types'
import type { Profile } from 'data/profile/types'
import { useStore } from 'hooks'
import { FormSchema } from 'types'
import type { FormSchema } from 'types'
const FormSchema = z.object({
first_name: z.string().optional(),
@@ -6,7 +6,7 @@ import { CommandMenuProvider } from 'ui'
import { codeBlock } from 'common-tags'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import { useProjectApiQuery } from 'data/config/project-api-query'
import { SqlSnippet } from 'data/content/sql-snippets-query'
import type { SqlSnippet } from 'data/content/sql-snippets-query'
import { useEntityDefinitionsQuery } from 'data/database/entity-definitions-query'
import { useCheckPermissions, useSelectedOrganization, useStore } from 'hooks'
import { uuidv4 } from 'lib/helpers'
@@ -1,5 +1,5 @@
import { FormSection, FormSectionContent, FormSectionLabel } from 'components/ui/Forms'
import { AuditLog } from 'data/organizations/organization-audit-logs-query'
import type { AuditLog } from 'data/organizations/organization-audit-logs-query'
import { useOrganizationsQuery } from 'data/organizations/organizations-query'
import { useProjectsQuery } from 'data/projects/projects-query'
import dayjs from 'dayjs'
@@ -5,7 +5,7 @@ import ReactMarkdown from 'react-markdown'
import { Button, IconEye, IconEyeOff, Input, InputNumber, Listbox, Toggle } from 'ui'
import { BASE_PATH } from 'lib/constants'
import { Enum } from './AuthProvidersForm.types'
import type { Enum } from './AuthProvidersForm.types'
interface FormFieldProps {
name: string
@@ -5,13 +5,13 @@ import ReactMarkdown from 'react-markdown'
import { Alert, Button, Collapsible, Form, IconCheck, IconChevronUp, Input } from 'ui'
import { useParams } from 'common'
import { components } from 'data/api'
import type { components } from 'data/api'
import { useAuthConfigUpdateMutation } from 'data/auth/auth-config-update-mutation'
import { useCustomDomainsQuery } from 'data/custom-domains/custom-domains-query'
import { useCheckPermissions, useStore } from 'hooks'
import { BASE_PATH } from 'lib/constants'
import { ProviderCollapsibleClasses } from './AuthProvidersForm.constants'
import { Provider } from './AuthProvidersForm.types'
import type { Provider } from './AuthProvidersForm.types'
import FormField from './FormField'
export interface ProviderFormProps {
@@ -19,7 +19,7 @@ import { FormActions, FormSection, FormSectionContent, FormSectionLabel } from '
import InformationBox from 'components/ui/InformationBox'
import { useAuthConfigUpdateMutation } from 'data/auth/auth-config-update-mutation'
import { useCheckPermissions } from 'hooks'
import { FormSchema } from 'types'
import type { FormSchema } from 'types'
interface TemplateEditorProps {
template: FormSchema
@@ -1,4 +1,4 @@
import { PostgresPolicy } from '@supabase/postgres-meta'
import type { PostgresPolicy } from '@supabase/postgres-meta'
import { Message } from 'ai/react'
import { uuidv4 } from 'lib/helpers'
@@ -1,4 +1,4 @@
import { PostgresPolicy } from '@supabase/postgres-meta'
import type { PostgresPolicy } from '@supabase/postgres-meta'
import clsx from 'clsx'
import { PanelLeftClose, PanelRightClose, X } from 'lucide-react'
import {
@@ -1,4 +1,4 @@
import { PostgresPolicy } from '@supabase/postgres-meta'
import type { PostgresPolicy } from '@supabase/postgres-meta'
import {
CollapsibleContent_Shadcn_,
CollapsibleTrigger_Shadcn_,
@@ -1,4 +1,4 @@
import { PostgresPolicy } from '@supabase/postgres-meta'
import type { PostgresPolicy } from '@supabase/postgres-meta'
import { useQueryClient } from '@tanstack/react-query'
import { useChat } from 'ai/react'
import { useParams, useTelemetryProps } from 'common'
@@ -2,7 +2,7 @@ import SqlEditor from 'components/ui/SqlEditor'
import { isEmpty, noop } from 'lodash'
import { useState } from 'react'
import { Button, Modal } from 'ui'
import { PolicyForReview } from './Policies.types'
import type { PolicyForReview } from './Policies.types'
interface PolicyReviewProps {
policy: PolicyForReview
@@ -1,4 +1,4 @@
import { components } from 'data/api'
import type { components } from 'data/api'
type AuthConfig = components['schemas']['GoTrueConfigResponse']
@@ -8,7 +8,7 @@ import { useUserDeleteMutation } from 'data/auth/user-delete-mutation'
import { useUserResetPasswordMutation } from 'data/auth/user-reset-password-mutation'
import { useUserSendMagicLinkMutation } from 'data/auth/user-send-magic-link-mutation'
import { useUserSendOTPMutation } from 'data/auth/user-send-otp-mutation'
import { User } from 'data/auth/users-query'
import type { User } from 'data/auth/users-query'
import { useStore } from 'hooks'
import { timeout } from 'lib/helpers'
import {
@@ -1,4 +1,4 @@
import { User } from 'data/auth/users-query'
import type { User } from 'data/auth/users-query'
export function getDisplayName(user: User, fallback = '-'): string {
const {
@@ -1,5 +1,5 @@
import SimpleCodeBlock from 'components/to-be-cleaned/SimpleCodeBlock'
import { User } from 'data/auth/users-query'
import type { User } from 'data/auth/users-query'
import { SidePanel } from 'ui'
interface UsersSidePanelProps {
@@ -2,9 +2,9 @@ import { PermissionAction } from '@supabase/shared-types/out/constants'
import Table from 'components/to-be-cleaned/Table'
import AlertError from 'components/ui/AlertError'
import { User } from 'data/auth/users-query'
import type { User } from 'data/auth/users-query'
import { useCheckPermissions } from 'hooks'
import { ResponseError } from 'types'
import type { ResponseError } from 'types'
import { IconAlertCircle } from 'ui'
import UserListItem from './UsersListItem'
import UsersListItemSkeleton from './UsersListItemSkeleton'
@@ -3,7 +3,7 @@ import { Badge } from 'ui'
import SimpleCodeBlock from 'components/to-be-cleaned/SimpleCodeBlock'
import Table from 'components/to-be-cleaned/Table'
import { User } from 'data/auth/users-query'
import type { User } from 'data/auth/users-query'
import UserDropdown from './UserDropdown'
import { getDisplayName } from './UserListItem.utils'
@@ -4,7 +4,7 @@ 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 { Organization } from 'types'
import type { Organization } from 'types'
interface NoProjectsOnPaidOrgInfoProps {
organization?: Organization
@@ -1,5 +1,5 @@
import { IS_PLATFORM } from 'lib/constants'
import { OrgSubscription, ProjectSelectedAddon } from 'data/subscriptions/types'
import type { OrgSubscription, ProjectSelectedAddon } from 'data/subscriptions/types'
export const getAddons = (selectedAddons: ProjectSelectedAddon[]) => {
const computeInstance = selectedAddons.find((addon) => addon.type === 'compute_instance')
@@ -7,8 +7,8 @@ import { useInView } from 'react-intersection-observer'
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
import { useBranchQuery } from 'data/branches/branch-query'
import { Branch } from 'data/branches/branches-query'
import { GitHubPullRequest } from 'data/integrations/github-pull-requests-query'
import type { Branch } from 'data/branches/branches-query'
import type { GitHubPullRequest } from 'data/integrations/github-pull-requests-query'
import {
Badge,
Button,
@@ -1,5 +1,5 @@
import { WarningIcon } from 'components/ui/Icons'
import { BranchData } from 'data/branches/branch-query'
import type { BranchData } from 'data/branches/branch-query'
import { ClockIcon } from 'lucide-react'
import { Badge } from 'ui'
@@ -1,8 +1,8 @@
import { noop } from 'lodash'
import { Button, IconChevronRight } from 'ui'
import { Branch } from 'data/branches/branches-query'
import { GitHubPullRequest } from 'data/integrations/github-pull-requests-query'
import type { Branch } from 'data/branches/branches-query'
import type { GitHubPullRequest } from 'data/integrations/github-pull-requests-query'
import { BranchLoader, BranchManagementSection, BranchRow, BranchRowLoader } from './BranchPanels'
import { PreviewBranchesEmptyState } from './EmptyStates'
@@ -3,7 +3,7 @@ import dayjs from 'dayjs'
import { Badge, Button, IconDownload } from 'ui'
import { useBackupDownloadMutation } from 'data/database/backup-download-mutation'
import { DatabaseBackup } from 'data/database/backups-query'
import type { DatabaseBackup } from 'data/database/backups-query'
import { useCheckPermissions } from 'hooks'
interface BackupItemProps {
@@ -1,7 +1,7 @@
import dayjs from 'dayjs'
import { ALL_TIMEZONES } from './PITR.constants'
import { Time } from './PITR.types'
import { ProjectSelectedAddon } from 'data/subscriptions/types'
import type { Time } from './PITR.types'
import type { ProjectSelectedAddon } from 'data/subscriptions/types'
export const getPITRRetentionDuration = (addons: ProjectSelectedAddon[]) => {
const pitrAddon = addons.find((addon) => addon.type === 'pitr')
@@ -28,7 +28,7 @@ import { useReadReplicasQuery } from 'data/read-replicas/replicas-query'
import { PROJECT_STATUS } from 'lib/constants'
import Link from 'next/link'
import BackupsEmpty from '../BackupsEmpty'
import { Timezone } from './PITR.types'
import type { Timezone } from './PITR.types'
import {
constrainDateToRange,
formatNumberToTwoDigits,
@@ -8,7 +8,7 @@ import { FormPanel } from 'components/ui/Forms'
import { useBackupsQuery } from 'data/database/backups-query'
import { useReadReplicasQuery } from 'data/read-replicas/replicas-query'
import { useCheckPermissions } from 'hooks'
import { Timezone } from './PITR.types'
import type { Timezone } from './PITR.types'
import { TimezoneSelection } from './TimezoneSelection'
interface PITRStatusProps {
@@ -4,7 +4,7 @@ import { isNaN, noop } from 'lodash'
import { ChangeEvent, useEffect, useState } from 'react'
import { IconClock } from 'ui'
import { Time } from './PITR.types'
import type { Time } from './PITR.types'
import { formatNumberToTwoDigits, formatTimeToTimeString } from './PITR.utils'
// [Joshen] This is trying to do the same thing as TimeSplitInput.tsx
@@ -16,7 +16,7 @@ import {
import { CheckIcon, ChevronsUpDown } from 'lucide-react'
import { ALL_TIMEZONES } from './PITR.constants'
import { Timezone } from './PITR.types'
import type { Timezone } from './PITR.types'
interface TimezoneSelectionProps {
selectedTimezone: Timezone
@@ -26,7 +26,7 @@ import * as z from 'zod'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import { useEnumeratedTypeUpdateMutation } from 'data/enumerated-types/enumerated-type-update-mutation'
import { EnumeratedType } from 'data/enumerated-types/enumerated-types-query'
import type { EnumeratedType } from 'data/enumerated-types/enumerated-types-query'
import { DragDropContext, Droppable, DroppableProvided } from 'react-beautiful-dnd'
import EnumeratedTypeValueRow from './EnumeratedTypeValueRow'
@@ -15,7 +15,7 @@ import { useDatabaseFunctionCreateMutation } from 'data/database-functions/datab
import { useDatabaseFunctionUpdateMutation } from 'data/database-functions/database-functions-update-mutation'
import { useSchemasQuery } from 'data/database/schemas-query'
import { EXCLUDED_SCHEMAS } from 'lib/constants/schemas'
import { Dictionary } from 'types'
import type { Dictionary } from 'types'
import { convertArgumentTypes, convertConfigParams, hasWhitespace } from './Functions.utils'
// [Refactor] Remove local state, just use the Form component
@@ -1,4 +1,4 @@
import { Dictionary } from 'types'
import type { Dictionary } from 'types'
import { isEmpty } from 'lodash'
/**
@@ -1,5 +1,5 @@
import * as Tooltip from '@radix-ui/react-tooltip'
import { PostgresFunction } from '@supabase/postgres-meta'
import type { PostgresFunction } from '@supabase/postgres-meta'
import { PermissionAction } from '@supabase/shared-types/out/constants'
import { noop, partition } from 'lodash'
import { useState } from 'react'
@@ -1,4 +1,4 @@
import { PostgresTrigger } from '@supabase/postgres-meta'
import type { PostgresTrigger } from '@supabase/postgres-meta'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import TextConfirmModal from 'ui-patterns/Dialogs/TextConfirmModal'
@@ -1,4 +1,4 @@
import { PostgresTable, PostgresTrigger } from '@supabase/postgres-meta'
import type { PostgresTable, PostgresTrigger } from '@supabase/postgres-meta'
import Image from 'next/legacy/image'
import { MutableRefObject, useEffect, useMemo, useRef, useState } from 'react'
@@ -6,7 +6,7 @@ import {
ColumnPrivilegesGrant,
grantColumnPrivileges,
} from 'data/privileges/column-privileges-grant-mutation'
import { ColumnPrivilege } from 'data/privileges/column-privileges-query'
import type { ColumnPrivilege } from 'data/privileges/column-privileges-query'
import {
ColumnPrivilegesRevoke,
revokeColumnPrivileges,
@@ -15,7 +15,7 @@ import {
TablePrivilegesGrant,
grantTablePrivileges,
} from 'data/privileges/table-privileges-grant-mutation'
import { TablePrivilege } from 'data/privileges/table-privileges-query'
import type { TablePrivilege } from 'data/privileges/table-privileges-query'
import {
TablePrivilegesRevoke,
revokeTablePrivileges,
@@ -1,4 +1,4 @@
import { PostgresTable } from '@supabase/postgres-meta'
import type { PostgresTable } from '@supabase/postgres-meta'
import SchemaSelector from 'components/ui/SchemaSelector'
import {
@@ -1,5 +1,5 @@
import Table from 'components/to-be-cleaned/Table'
import { ColumnPrivilege } from 'data/privileges/column-privileges-query'
import type { ColumnPrivilege } from 'data/privileges/column-privileges-query'
import { Switch } from 'ui'
import {
ALL_PRIVILEGE_TYPES,
@@ -1,4 +1,4 @@
import { PostgresRole } from '@supabase/postgres-meta'
import type { PostgresRole } from '@supabase/postgres-meta'
import toast from 'react-hot-toast'
import { Modal } from 'ui'
@@ -1,5 +1,5 @@
import * as Tooltip from '@radix-ui/react-tooltip'
import { PostgresRole } from '@supabase/postgres-meta'
import type { PostgresRole } from '@supabase/postgres-meta'
import { useState } from 'react'
import toast from 'react-hot-toast'
import {
@@ -13,7 +13,7 @@ import ReactFlow, {
useReactFlow,
} from 'reactflow'
import { PostgresTable } from '@supabase/postgres-meta'
import type { PostgresTable } from '@supabase/postgres-meta'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import { useTablesQuery } from 'data/tables/tables-query'
import { useTheme } from 'next-themes'
@@ -9,7 +9,7 @@ import { Button, IconChevronDown, IconHelpCircle, IconTerminal, SidePanel } from
import ProductEmptyState from 'components/to-be-cleaned/ProductEmptyState'
import InformationBox from 'components/ui/InformationBox'
import SqlEditor from 'components/ui/SqlEditor'
import { DatabaseFunction } from 'data/database-functions/database-functions-query'
import type { DatabaseFunction } from 'data/database-functions/database-functions-query'
export interface ChooseFunctionFormProps {
triggerFunctions: DatabaseFunction[]
@@ -5,7 +5,7 @@ import { createContext, useContext, useEffect, useState } from 'react'
import toast from 'react-hot-toast'
import SVG from 'react-inlinesvg'
import { Dictionary } from 'types'
import type { Dictionary } from 'types'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
import FormEmptyBox from 'components/ui/FormBoxEmpty'
@@ -1,6 +1,6 @@
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import { useFDWDeleteMutation } from 'data/fdw/fdw-delete-mutation'
import { FDW } from 'data/fdw/fdws-query'
import type { FDW } from 'data/fdw/fdws-query'
import { useStore } from 'hooks'
import { Modal } from 'ui'
import { WRAPPERS } from './Wrappers.constants'
@@ -2,7 +2,7 @@ import Link from 'next/link'
import { useState } from 'react'
import { Button, IconEye, IconEyeOff, IconHelpCircle, IconLoader, Input } from 'ui'
import { ServerOption } from './Wrappers.types'
import type { ServerOption } from './Wrappers.types'
interface InputFieldProps {
option: ServerOption
@@ -6,9 +6,9 @@ import Link from 'next/link'
import { Button, Collapsible, IconChevronUp, IconEdit, IconExternalLink, IconTrash } from 'ui'
import { useParams } from 'common/hooks'
import { FDW } from 'data/fdw/fdws-query'
import type { FDW } from 'data/fdw/fdws-query'
import { useCheckPermissions } from 'hooks'
import { WrapperMeta } from './Wrappers.types'
import type { WrapperMeta } from './Wrappers.types'
interface WrapperRowProps {
wrappers: FDW[]
@@ -6,7 +6,7 @@ import ShimmeringLoader from 'components/ui/ShimmeringLoader'
import { useSchemasQuery } from 'data/database/schemas-query'
import { Form, IconDatabase, IconPlus, Input, Listbox, Modal, SidePanel } from 'ui'
import WrapperDynamicColumns from './WrapperDynamicColumns'
import { Table, TableOption } from './Wrappers.types'
import type { Table, TableOption } from './Wrappers.types'
import { makeValidateRequired } from './Wrappers.utils'
export type WrapperTableEditorProps = {
@@ -1,5 +1,5 @@
import { BASE_PATH } from 'lib/constants'
import { WrapperMeta } from './Wrappers.types'
import type { WrapperMeta } from './Wrappers.types'
export const WRAPPER_HANDLERS = {
STRIPE: 'stripe_fdw_handler',
@@ -1,5 +1,5 @@
import { WRAPPER_HANDLERS } from './Wrappers.constants'
import { WrapperMeta } from './Wrappers.types'
import type { WrapperMeta } from './Wrappers.types'
export const makeValidateRequired = (options: { name: string; required: boolean }[]) => {
const requiredOptionsSet = new Set(
@@ -1,6 +1,6 @@
import Link from 'next/link'
import { AutoApiService } from 'data/config/project-api-query'
import type { AutoApiService } from 'data/config/project-api-query'
import CodeSnippet from './CodeSnippet'
import Snippets from './Snippets'
@@ -1,4 +1,4 @@
import { AutoApiService } from 'data/config/project-api-query'
import type { AutoApiService } from 'data/config/project-api-query'
import Snippets from 'components/interfaces/Docs/Snippets'
import CodeSnippet from './CodeSnippet'
@@ -9,7 +9,7 @@ import {
IconKey,
} from 'ui'
import { showApiKey } from 'components/interfaces/Docs/Docs.types'
import type { showApiKey } from 'components/interfaces/Docs/Docs.types'
const DEFAULT_KEY = { name: 'hide', key: 'SUPABASE_KEY' }
@@ -1,7 +1,7 @@
import Link from 'next/link'
import { useRouter } from 'next/router'
import { AutoApiService } from 'data/config/project-api-query'
import type { AutoApiService } from 'data/config/project-api-query'
import { makeRandomString } from 'lib/helpers'
import CodeSnippet from '../CodeSnippet'
import Snippets from '../Snippets'
@@ -1,5 +1,5 @@
import Table from 'components/to-be-cleaned/Table'
import { ProjectSecret } from 'data/secrets/secrets-query'
import type { ProjectSecret } from 'data/secrets/secrets-query'
import { Button, IconTrash } from 'ui'
interface EdgeFunctionSecretProps {
@@ -8,7 +8,7 @@ import { useParams } from 'common/hooks'
import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext'
import Table from 'components/to-be-cleaned/Table'
import { useCustomDomainsQuery } from 'data/custom-domains/custom-domains-query'
import { EdgeFunctionsResponse } from 'data/edge-functions/edge-functions-query'
import type { EdgeFunctionsResponse } from 'data/edge-functions/edge-functions-query'
interface EdgeFunctionsListItemProps {
function: EdgeFunctionsResponse
@@ -8,7 +8,7 @@ import CommandRender from 'components/interfaces/Functions/CommandRender'
import { useAccessTokensQuery } from 'data/access-tokens/access-tokens-query'
import { useProjectApiQuery } from 'data/config/project-api-query'
import { useCustomDomainsQuery } from 'data/custom-domains/custom-domains-query'
import { Commands } from './Functions.types'
import type { Commands } from './Functions.types'
interface TerminalInstructionsProps {
closable?: boolean
@@ -6,7 +6,7 @@ import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
import { useProjectSettingsQuery } from 'data/config/project-settings-query'
import { usePoolingConfigurationQuery } from 'data/database/pooling-configuration-query'
import { pluckObjectFields } from 'lib/helpers'
import { projectKeys } from './Connect.types'
import type { projectKeys } from './Connect.types'
interface ConnectContentTabProps {
projectKeys: projectKeys
@@ -1,4 +1,4 @@
import { ContentFileProps } from 'components/interfaces/Home/Connect/Connect.types'
import type { ContentFileProps } from 'components/interfaces/Home/Connect/Connect.types'
import {
ConnectTabs,
Loaded 100 of 683 files, more files were not shown because too many files have changed in this diff. Show more