mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 01:15:03 +03:00
chore: use type imports for types/interfaces (#21738)
This commit is contained in:
1 parent
8921b977e7
commit
f9a55935f5
683 files changed
+903
-893
No files matched your search
@@ -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'
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,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,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
-1
@@ -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
-1
@@ -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
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
-1
@@ -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
Reference in new issue
Block a user