mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
chore: Migrate studio to use ui-patterns/shimmeringLoader (#41405)
* Add shimmering-loader CSS to ui-patterns. * Import the shimmering-loader classes from the ui-patterns component. * Remove ShimmeringLoader from studio. * Migrate studio to use ui-patterns/ShimmeringLoader. * Migrate away from using default import for ShimmeringLoader. * Fix the css imports in docs and studio.
This commit is contained in:
1 parent
d150246ffb
commit
cc47bcfa6d
145 files changed
+229
-314
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import '@code-hike/mdx/styles'
|
||||
import 'config/code-hike.scss'
|
||||
import 'ui-patterns/ShimmeringLoader/index.css'
|
||||
import '../styles/main.scss'
|
||||
import '../styles/new-docs.scss'
|
||||
import '../styles/prism-okaidia.scss'
|
||||
|
||||
@@ -310,39 +310,6 @@ th code {
|
||||
image-rendering: high-quality;
|
||||
}
|
||||
|
||||
/* Loaders */
|
||||
|
||||
.shimmering-loader {
|
||||
animation: shimmer 2s infinite linear;
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
hsl(var(--border-default)) 4%,
|
||||
hsl(var(--background-surface-200)) 25%,
|
||||
hsl(var(--border-default)) 36%
|
||||
);
|
||||
background-size: 1000px 100%;
|
||||
}
|
||||
|
||||
.dark .shimmering-loader {
|
||||
animation: shimmer 2s infinite linear;
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
hsl(var(--border-default)) 4%,
|
||||
hsl(var(--border-control)) 25%,
|
||||
hsl(var(--border-default)) 36%
|
||||
);
|
||||
background-size: 1000px 100%;
|
||||
}
|
||||
|
||||
@keyframes shimmer {
|
||||
0% {
|
||||
background-position: -1000px 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 1000px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.skip-link {
|
||||
@apply sr-only;
|
||||
}
|
||||
|
||||
@@ -5,12 +5,12 @@ import type { RenderCellProps } from 'react-data-grid'
|
||||
|
||||
import { convertByteaToHex } from 'components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/RowEditor.utils'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useTableEditorQuery } from 'data/table-editor/table-editor-query'
|
||||
import { isTableLike } from 'data/table-editor/table-editor-types'
|
||||
import { useTableQuery } from 'data/tables/table-retrieve-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { Popover_Shadcn_, PopoverContent_Shadcn_, PopoverTrigger_Shadcn_ } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import type { SupaRow } from '../../types'
|
||||
import { NullValue } from '../common/NullValue'
|
||||
import { ReferenceRecordPeek } from './ReferenceRecordPeek'
|
||||
|
||||
@@ -10,11 +10,11 @@ import {
|
||||
getColumnDefaultWidth,
|
||||
} from 'components/grid/utils/gridColumns'
|
||||
import { convertByteaToHex } from 'components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/RowEditor.utils'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { EditorTablePageLink } from 'data/prefetchers/project.$ref.editor.$id'
|
||||
import { useTableRowsQuery } from 'data/table-rows/table-rows-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { Button, cn, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface ReferenceRecordPeekProps {
|
||||
table: PostgresTable
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
import { keepPreviousData } from '@tanstack/react-query'
|
||||
import { useDebounce } from '@uidotdev/usehooks'
|
||||
import dayjs from 'dayjs'
|
||||
import { ArrowDown, ArrowUp, RefreshCw } from 'lucide-react'
|
||||
import { useEffect, useMemo, useState } from 'react'
|
||||
|
||||
import { keepPreviousData } from '@tanstack/react-query'
|
||||
import { useDebounce } from '@uidotdev/usehooks'
|
||||
import { LogDetailsPanel } from 'components/interfaces/AuditLogs/LogDetailsPanel'
|
||||
import Table from 'components/to-be-cleaned/Table'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { FilterPopover } from 'components/ui/FilterPopover'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
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 { useProjectsInfiniteQuery } from 'data/projects/projects-infinite-query'
|
||||
import { Button } from 'ui'
|
||||
import { TimestampInfo } from 'ui-patterns'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
|
||||
import { LogsDatePicker } from '../Settings/Logs/Logs.DatePickers'
|
||||
|
||||
export const AuditLogs = () => {
|
||||
|
||||
@@ -28,7 +28,7 @@ import {
|
||||
PageSectionSummary,
|
||||
PageSectionTitle,
|
||||
} from 'ui-patterns/PageSection'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export const AccountConnections = () => {
|
||||
const {
|
||||
|
||||
@@ -25,12 +25,6 @@ import {
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
ChangeEmailAddressForm,
|
||||
GitHubChangeEmailAddress,
|
||||
SSOChangeEmailAddress,
|
||||
} from './ChangeEmailAddress'
|
||||
import {
|
||||
PageSection,
|
||||
PageSectionContent,
|
||||
@@ -39,6 +33,12 @@ import {
|
||||
PageSectionSummary,
|
||||
PageSectionTitle,
|
||||
} from 'ui-patterns/PageSection'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
ChangeEmailAddressForm,
|
||||
GitHubChangeEmailAddress,
|
||||
SSOChangeEmailAddress,
|
||||
} from './ChangeEmailAddress'
|
||||
|
||||
const getProviderName = (provider: string) =>
|
||||
provider === 'github'
|
||||
|
||||
@@ -4,7 +4,6 @@ import { toast } from 'sonner'
|
||||
|
||||
import { LOCAL_STORAGE_KEYS } from 'common'
|
||||
import InformationBox from 'components/ui/InformationBox'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { organizationKeys } from 'data/organizations/keys'
|
||||
import { useMfaChallengeAndVerifyMutation } from 'data/profile/mfa-challenge-and-verify-mutation'
|
||||
import { useMfaEnrollMutation } from 'data/profile/mfa-enroll-mutation'
|
||||
@@ -12,6 +11,7 @@ import { useMfaUnenrollMutation } from 'data/profile/mfa-unenroll-mutation'
|
||||
import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage'
|
||||
import { Input } from 'ui'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface AddNewFactorModalProps {
|
||||
visible: boolean
|
||||
|
||||
@@ -3,10 +3,10 @@ import { AlertCircle } from 'lucide-react'
|
||||
import { useState } from 'react'
|
||||
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useMfaListFactorsQuery } from 'data/profile/mfa-list-factors-query'
|
||||
import { DATETIME_FORMAT } from 'lib/constants'
|
||||
import { AlertDescription_Shadcn_, AlertTitle_Shadcn_, Alert_Shadcn_, Button } from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { AddNewFactorModal } from './AddNewFactorModal'
|
||||
import DeleteFactorModal from './DeleteFactorModal'
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ import {
|
||||
PageSectionSummary,
|
||||
PageSectionTitle,
|
||||
} from 'ui-patterns/PageSection'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { NO_REQUIRED_CHARACTERS } from './Auth.constants'
|
||||
|
||||
const schema = object({
|
||||
|
||||
@@ -10,7 +10,6 @@ import { z } from 'zod'
|
||||
import { LOCAL_STORAGE_KEYS, useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useAuthConfigQuery } from 'data/auth/auth-config-query'
|
||||
import { useAuthConfigUpdateMutation } from 'data/auth/auth-config-update-mutation'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
@@ -38,6 +37,7 @@ import {
|
||||
PageSectionSummary,
|
||||
PageSectionTitle,
|
||||
} from 'ui-patterns/PageSection'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { TEMPLATES_SCHEMAS } from '../AuthTemplatesValidation'
|
||||
import { slugifyTitle } from './EmailTemplates.utils'
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { FilterPopover } from 'components/ui/FilterPopover'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useAuthConfigQuery } from 'data/auth/auth-config-query'
|
||||
import { useProjectEndpointQuery } from 'data/config/project-endpoint-query'
|
||||
import { useOAuthServerAppDeleteMutation } from 'data/oauth-server-apps/oauth-server-app-delete-mutation'
|
||||
@@ -35,6 +34,7 @@ import {
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns/admonition'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
|
||||
import { CreateOrUpdateOAuthAppSheet } from './CreateOrUpdateOAuthAppSheet'
|
||||
import { DeleteOAuthAppModal } from './DeleteOAuthAppModal'
|
||||
|
||||
@@ -9,7 +9,6 @@ import * as z from 'zod'
|
||||
import { useParams } from 'common'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useAuthConfigQuery } from 'data/auth/auth-config-query'
|
||||
import { useAuthConfigUpdateMutation } from 'data/auth/auth-config-update-mutation'
|
||||
import { useOAuthServerAppsQuery } from 'data/oauth-server-apps/oauth-server-apps-query'
|
||||
@@ -29,6 +28,7 @@ import {
|
||||
import { Admonition } from 'ui-patterns/admonition'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
const configUrlSchema = z.object({
|
||||
id: z.string(),
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { SYSTEM_ROLES } from 'components/interfaces/Database/Roles/Roles.constants'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseRolesQuery } from 'data/database-roles/database-roles-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { sortBy } from 'lodash'
|
||||
import MultiSelect from 'ui-patterns/MultiSelectDeprecated'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface PolicyRolesProps {
|
||||
selectedRoles: string[]
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
TableRow,
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { usePoliciesData } from '../PoliciesDataContext'
|
||||
import { PolicyRow } from './PolicyRow'
|
||||
import type { PolicyTable } from './PolicyTableRow.types'
|
||||
|
||||
@@ -9,7 +9,6 @@ import * as z from 'zod'
|
||||
import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useAuthConfigQuery } from 'data/auth/auth-config-query'
|
||||
import { useAuthConfigUpdateMutation } from 'data/auth/auth-config-update-mutation'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
@@ -29,6 +28,7 @@ import {
|
||||
} from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { isSmtpEnabled } from '../SmtpForm/SmtpForm.utils'
|
||||
|
||||
export const RateLimits = () => {
|
||||
|
||||
@@ -6,12 +6,12 @@ import { useEffect } from 'react'
|
||||
import { useParams } from 'common'
|
||||
import { LOGS_TABLES } from 'components/interfaces/Settings/Logs/Logs.constants'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { User } from 'data/auth/users-infinite-query'
|
||||
import useLogsPreview from 'hooks/analytics/useLogsPreview'
|
||||
import { useLogsUrlState } from 'hooks/analytics/useLogsUrlState'
|
||||
import { Button, cn, CriticalIcon, Separator } from 'ui'
|
||||
import { Admonition, TimestampInfo } from 'ui-patterns'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { UserHeader } from './UserHeader'
|
||||
import { PANEL_PADDING } from './Users.constants'
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import { isEqual } from 'lodash'
|
||||
import { useRef, useState } from 'react'
|
||||
import { toast } from 'sonner'
|
||||
import { Button, Checkbox_Shadcn_, Label_Shadcn_, Modal } from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface AddPaymentMethodFormProps {
|
||||
returnUrl: string
|
||||
|
||||
+1
-1
@@ -4,11 +4,11 @@ import Link from 'next/link'
|
||||
|
||||
import { useParams } from 'common'
|
||||
import { SupportLink } from 'components/interfaces/Support/SupportLink'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useOrganizationPaymentMethodsQuery } from 'data/organizations/organization-payment-methods-query'
|
||||
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { Button } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import CreditCard from './CreditCard'
|
||||
|
||||
const CurrentPaymentMethod = () => {
|
||||
|
||||
@@ -16,7 +16,6 @@ import { FormPanel } from 'components/ui/Forms/FormPanel'
|
||||
import { FormSection, FormSectionContent } from 'components/ui/Forms/FormSection'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import PartnerManagedResource from 'components/ui/PartnerManagedResource'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useOrganizationPaymentMethodsQuery } from 'data/organizations/organization-payment-methods-query'
|
||||
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
@@ -25,6 +24,7 @@ import { MANAGED_BY } from 'lib/constants/infrastructure'
|
||||
import { getURL } from 'lib/helpers'
|
||||
import { Button } from 'ui'
|
||||
import { Admonition } from 'ui-patterns/admonition'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import ChangePaymentMethodModal from './ChangePaymentMethodModal'
|
||||
import CreditCard from './CreditCard'
|
||||
import DeletePaymentMethodModal from './DeletePaymentMethodModal'
|
||||
|
||||
@@ -4,10 +4,10 @@ import { useRouter } from 'next/router'
|
||||
import { PropsWithChildren, ReactNode } from 'react'
|
||||
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import type { Branch } from 'data/branches/branches-query'
|
||||
import Link from 'next/link'
|
||||
import { Tooltip, TooltipContent, TooltipTrigger } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { WorkflowLogs } from './WorkflowLogs'
|
||||
|
||||
interface BranchManagementSectionProps {
|
||||
|
||||
@@ -16,7 +16,6 @@ import { BranchingPITRNotice } from 'components/layouts/AppLayout/EnableBranchin
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { InlineLink, InlineLinkClassName } from 'components/ui/InlineLink'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { UpgradeToPro } from 'components/ui/UpgradeToPro'
|
||||
import { useBranchCreateMutation } from 'data/branches/branch-create-mutation'
|
||||
import { useBranchesQuery } from 'data/branches/branches-query'
|
||||
@@ -55,7 +54,7 @@ import {
|
||||
cn,
|
||||
} from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { GenericSkeletonLoader, ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
estimateComputeSize,
|
||||
estimateDiskCost,
|
||||
|
||||
@@ -10,7 +10,6 @@ import * as z from 'zod'
|
||||
import { useParams } from 'common'
|
||||
import { useIsBranching2Enabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useBranchUpdateMutation } from 'data/branches/branch-update-mutation'
|
||||
import { Branch, useBranchesQuery } from 'data/branches/branches-query'
|
||||
import { useCheckGithubBranchValidity } from 'data/integrations/github-branch-check-query'
|
||||
@@ -38,6 +37,7 @@ import {
|
||||
cn,
|
||||
} from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface EditBranchModalProps {
|
||||
branch?: Branch
|
||||
|
||||
@@ -2,7 +2,6 @@ import dynamic from 'next/dynamic'
|
||||
import { forwardRef, HTMLAttributes, useMemo } from 'react'
|
||||
|
||||
import { useParams } from 'common'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useProjectSettingsV2Query } from 'data/config/project-settings-v2-query'
|
||||
import { usePgbouncerConfigQuery } from 'data/database/pgbouncer-config-query'
|
||||
import { useSupavisorConfigurationQuery } from 'data/database/supavisor-configuration-query'
|
||||
@@ -11,6 +10,7 @@ import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization
|
||||
import { pluckObjectFields } from 'lib/helpers'
|
||||
import { useTrack } from 'lib/telemetry/track'
|
||||
import { cn, CopyCallbackContext } from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { getAddons } from '../Billing/Subscription/Subscription.utils'
|
||||
import type { projectKeys } from './Connect.types'
|
||||
import { getConnectionStrings } from './DatabaseSettings.utils'
|
||||
|
||||
@@ -7,7 +7,6 @@ import { getAddons } from 'components/interfaces/Billing/Subscription/Subscripti
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { DatabaseSelector } from 'components/ui/DatabaseSelector'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { usePgbouncerConfigQuery } from 'data/database/pgbouncer-config-query'
|
||||
import { useSupavisorConfigurationQuery } from 'data/database/supavisor-configuration-query'
|
||||
import { useReadReplicasQuery } from 'data/read-replicas/replicas-query'
|
||||
@@ -33,6 +32,7 @@ import {
|
||||
Separator,
|
||||
cn,
|
||||
} from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
CONNECTION_PARAMETERS,
|
||||
type ConnectionStringMethod,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { IS_PLATFORM, useParams } from 'common'
|
||||
import Panel from 'components/ui/Panel'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { BASE_PATH } from 'lib/constants'
|
||||
import { useTrack } from 'lib/telemetry/track'
|
||||
import { useTheme } from 'next-themes'
|
||||
import { useMemo, useState } from 'react'
|
||||
import { createMcpCopyHandler, McpConfigPanel, type McpClient } from 'ui-patterns/McpUrlBuilder'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import type { projectKeys } from './Connect.types'
|
||||
|
||||
export const McpTabContent = ({ projectKeys }: { projectKeys: projectKeys }) => {
|
||||
|
||||
@@ -6,7 +6,6 @@ import { toast } from 'sonner'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { DocsButton } from 'components/ui/DocsButton'
|
||||
import SchemaSelector from 'components/ui/SchemaSelector'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useEnumeratedTypesQuery } from 'data/enumerated-types/enumerated-types-query'
|
||||
import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQueryStateWithSelect'
|
||||
import { useQuerySchemaState } from 'hooks/misc/useSchemaQueryState'
|
||||
@@ -27,6 +26,7 @@ import {
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ProtectedSchemaWarning } from '../ProtectedSchemaWarning'
|
||||
import CreateEnumeratedTypeSidePanel from './CreateEnumeratedTypeSidePanel'
|
||||
import DeleteEnumeratedTypeModal from './DeleteEnumeratedTypeModal'
|
||||
|
||||
@@ -4,7 +4,6 @@ import { useEffect, useState } from 'react'
|
||||
import { toast } from 'sonner'
|
||||
|
||||
import { DocsButton } from 'components/ui/DocsButton'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseExtensionEnableMutation } from 'data/database-extensions/database-extension-enable-mutation'
|
||||
import { useSchemasQuery } from 'data/database/schemas-query'
|
||||
import { executeSql } from 'data/sql/execute-sql-query'
|
||||
@@ -23,6 +22,7 @@ import {
|
||||
WarningIcon,
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
const orioleExtCallOuts = ['vector', 'postgis']
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { Toggle } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export interface ExtensionCardSkeletonProps {
|
||||
index?: number
|
||||
|
||||
@@ -6,7 +6,6 @@ import { useEffect, useState } from 'react'
|
||||
import { useParams } from 'common'
|
||||
import InformationBox from 'components/ui/InformationBox'
|
||||
import { NoSearchResults } from 'components/ui/NoSearchResults'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseExtensionsQuery } from 'data/database-extensions/database-extensions-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
@@ -21,6 +20,7 @@ import {
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ExtensionRow } from './ExtensionRow'
|
||||
import { HIDDEN_EXTENSIONS, SEARCH_TERMS } from './Extensions.constants'
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,6 @@ import ProductEmptyState from 'components/to-be-cleaned/ProductEmptyState'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import SchemaSelector from 'components/ui/SchemaSelector'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseFunctionDeleteMutation } from 'data/database-functions/database-functions-delete-mutation'
|
||||
import type { DatabaseFunction } from 'data/database-functions/database-functions-query'
|
||||
import { useDatabaseFunctionsQuery } from 'data/database-functions/database-functions-query'
|
||||
@@ -37,6 +36,7 @@ import {
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ProtectedSchemaWarning } from '../../ProtectedSchemaWarning'
|
||||
import FunctionList from './FunctionList'
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@ import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { DocsButton } from 'components/ui/DocsButton'
|
||||
import { NoSearchResults } from 'components/ui/NoSearchResults'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseHooksQuery } from 'data/database-triggers/database-triggers-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
import { noop } from 'lib/void'
|
||||
import { Input } from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { HooksListEmpty } from './HooksListEmpty'
|
||||
import { SchemaTable } from './SchemaTable'
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import { toast } from 'sonner'
|
||||
|
||||
import CodeEditor from 'components/ui/CodeEditor/CodeEditor'
|
||||
import { DocsButton } from 'components/ui/DocsButton'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseIndexCreateMutation } from 'data/database-indexes/index-create-mutation'
|
||||
import { useSchemasQuery } from 'data/database/schemas-query'
|
||||
import { useTableColumnsQuery } from 'data/database/table-columns-query'
|
||||
@@ -36,6 +35,7 @@ import {
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { MultiSelectOption } from 'ui-patterns/MultiSelectDeprecated'
|
||||
import { MultiSelectV2 } from 'ui-patterns/MultiSelectDeprecated/MultiSelectV2'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { INDEX_TYPES } from './Indexes.constants'
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import CodeEditor from 'components/ui/CodeEditor/CodeEditor'
|
||||
import SchemaSelector from 'components/ui/SchemaSelector'
|
||||
import ShimmeringLoader, { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseIndexDeleteMutation } from 'data/database-indexes/index-delete-mutation'
|
||||
import { useIndexesQuery, type DatabaseIndex } from 'data/database-indexes/indexes-query'
|
||||
import { useSchemasQuery } from 'data/database/schemas-query'
|
||||
@@ -29,6 +28,7 @@ import {
|
||||
} from 'ui'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import { ConfirmationModal } from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import { GenericSkeletonLoader, ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ProtectedSchemaWarning } from '../ProtectedSchemaWarning'
|
||||
import CreateIndexSidePanel from './CreateIndexSidePanel'
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import { SupportCategories } from '@supabase/shared-types/out/constants'
|
||||
import { SupportLink } from 'components/interfaces/Support/SupportLink'
|
||||
import CodeEditor from 'components/ui/CodeEditor/CodeEditor'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { DatabaseMigration, useMigrationsQuery } from 'data/database/migrations-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
@@ -27,6 +26,7 @@ import {
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { MigrationsEmptyState } from './MigrationsEmptyState'
|
||||
|
||||
const Migrations = () => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { Switch, TableCell, TableRow } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export interface PublicationSkeletonProps {
|
||||
index?: number
|
||||
|
||||
@@ -18,7 +18,7 @@ import {
|
||||
} from 'state/replication-pipeline-request-status'
|
||||
import type { ResponseError } from 'types'
|
||||
import { Button, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { DeleteDestination } from './DeleteDestination'
|
||||
import { DestinationPanel } from './DestinationPanel/DestinationPanel'
|
||||
import { DestinationPanelSchemaType } from './DestinationPanel/DestinationPanel.schema'
|
||||
|
||||
@@ -7,7 +7,7 @@ import { ReplicationPipelineStatusData } from 'data/replication/pipeline-status-
|
||||
import { PipelineStatusRequestStatus } from 'state/replication-pipeline-request-status'
|
||||
import type { ResponseError } from 'types'
|
||||
import { cn, Tooltip, TooltipContent, TooltipTrigger, WarningIcon } from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { getPipelineStateMessages } from './Pipeline.utils'
|
||||
import { PipelineStatusName } from './Replication.constants'
|
||||
|
||||
|
||||
@@ -21,9 +21,8 @@ import {
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
PIPELINE_ACTIONABLE_STATES,
|
||||
PIPELINE_DISABLE_ALLOWED_FROM,
|
||||
PIPELINE_ENABLE_ALLOWED_FROM,
|
||||
PIPELINE_ERROR_MESSAGES,
|
||||
|
||||
+1
-1
@@ -14,7 +14,6 @@ import AlertError from 'components/ui/AlertError'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import Panel from 'components/ui/Panel'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { UpgradeToPro } from 'components/ui/UpgradeToPro'
|
||||
import { useDiskAttributesQuery } from 'data/config/disk-attributes-query'
|
||||
import { useCloneBackupsQuery } from 'data/projects/clone-query'
|
||||
@@ -30,6 +29,7 @@ import { DOCS_URL, PROJECT_STATUS } from 'lib/constants'
|
||||
import { getDatabaseMajorVersion } from 'lib/helpers'
|
||||
import { Alert_Shadcn_, AlertDescription_Shadcn_, AlertTitle_Shadcn_, Button } from 'ui'
|
||||
import { Admonition } from 'ui-patterns/admonition'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { PreviousRestoreItem } from './PreviousRestoreItem'
|
||||
|
||||
export const RestoreToNewProject = () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { ChevronUp } from 'lucide-react'
|
||||
import { cn } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export interface RoleRowSkeletonProps {
|
||||
index?: number
|
||||
|
||||
@@ -10,7 +10,6 @@ import Table from 'components/to-be-cleaned/Table'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { NoSearchResults } from 'components/ui/NoSearchResults'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useTableEditorQuery } from 'data/table-editor/table-editor-query'
|
||||
import { isTableLike } from 'data/table-editor/table-editor-types'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
@@ -27,6 +26,7 @@ import {
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ProtectedSchemaWarning } from '../ProtectedSchemaWarning'
|
||||
|
||||
interface ColumnListProps {
|
||||
|
||||
@@ -25,7 +25,6 @@ import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { DropdownMenuItemTooltip } from 'components/ui/DropdownMenuItemTooltip'
|
||||
import { EntityTypeIcon } from 'components/ui/EntityTypeIcon'
|
||||
import SchemaSelector from 'components/ui/SchemaSelector'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabasePublicationsQuery } from 'data/database-publications/database-publications-query'
|
||||
import { ENTITY_TYPE } from 'data/entity-types/entity-type-constants'
|
||||
import { useForeignTablesQuery } from 'data/foreign-tables/foreign-tables-query'
|
||||
@@ -61,6 +60,7 @@ import {
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ProtectedSchemaWarning } from '../ProtectedSchemaWarning'
|
||||
import { formatAllEntities } from './Tables.utils'
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import { SIDEBAR_KEYS } from 'components/layouts/ProjectLayout/LayoutSidebar/Lay
|
||||
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import SchemaSelector from 'components/ui/SchemaSelector'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useDatabaseTriggerDeleteMutation } from 'data/database-triggers/database-trigger-delete-mutation'
|
||||
import { useDatabaseTriggersQuery } from 'data/database-triggers/database-triggers-query'
|
||||
import { useTablesQuery } from 'data/tables/tables-query'
|
||||
@@ -27,6 +26,7 @@ import { useEditorPanelStateSnapshot } from 'state/editor-panel-state'
|
||||
import { useSidebarManagerSnapshot } from 'state/sidebar-manager-state'
|
||||
import { Card, Input, Table, TableBody, TableHead, TableHeader, TableRow } from 'ui'
|
||||
import { EmptyStatePresentational } from 'ui-patterns'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { CreateTriggerButtons } from './CreateTriggerButtons'
|
||||
import { TriggerList } from './TriggerList'
|
||||
import { generateTriggerCreateSQL } from './TriggerList.utils'
|
||||
|
||||
+1
-1
@@ -6,7 +6,6 @@ import { toast } from 'sonner'
|
||||
import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useSecretsDeleteMutation } from 'data/secrets/secrets-delete-mutation'
|
||||
import { useSecretsQuery } from 'data/secrets/secrets-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
@@ -14,6 +13,7 @@ import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQuer
|
||||
import { Badge, Card, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'ui'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import AddNewSecretForm from './AddNewSecretForm'
|
||||
import EdgeFunctionSecret from './EdgeFunctionSecret'
|
||||
import { EditSecretSheet } from './EditSecretSheet'
|
||||
|
||||
@@ -29,7 +29,7 @@ import {
|
||||
TabsList_Shadcn_ as TabsList,
|
||||
TabsTrigger_Shadcn_ as TabsTrigger,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface SlowQuery {
|
||||
rolname: string
|
||||
|
||||
@@ -36,7 +36,7 @@ import {
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export const Home = () => {
|
||||
const { data: project } = useSelectedProjectQuery()
|
||||
|
||||
@@ -13,7 +13,7 @@ import { useAiAssistantStateSnapshot } from 'state/ai-assistant-state'
|
||||
import { useSidebarManagerSnapshot } from 'state/sidebar-manager-state'
|
||||
import { AiIconAnimation, Button, Card, CardContent, CardHeader, CardTitle } from 'ui'
|
||||
import { Row } from 'ui-patterns'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { Markdown } from '../Markdown'
|
||||
|
||||
export const AdvisorSection = ({ showEmptyState = false }: { showEmptyState?: boolean }) => {
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
DropdownMenuTrigger,
|
||||
ScrollArea,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
type SnippetDropdownProps = {
|
||||
projectRef?: string
|
||||
|
||||
@@ -34,7 +34,7 @@ import {
|
||||
PageHeaderSummary,
|
||||
PageHeaderTitle,
|
||||
} from 'ui-patterns/PageHeader'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { CreateCronJobSheet } from './CreateCronJobSheet/CreateCronJobSheet'
|
||||
import { isSecondsFormat, parseCronJobCommand } from './CronJobs.utils'
|
||||
import { PreviousRunsTab } from './PreviousRunsTab'
|
||||
|
||||
@@ -9,7 +9,6 @@ import { keepPreviousData } from '@tanstack/react-query'
|
||||
import { useParams } from 'common'
|
||||
import { CreateCronJobSheet } from 'components/interfaces/Integrations/CronJobs/CreateCronJobSheet/CreateCronJobSheet'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useCronJobsCountQuery } from 'data/database-cron-jobs/database-cron-jobs-count-query'
|
||||
import {
|
||||
CronJob,
|
||||
@@ -26,6 +25,7 @@ import { cleanPointerEventsNoneOnBody, isAtBottom } from 'lib/helpers'
|
||||
import { Button, cn, LoadingLine, Sheet, SheetContent } from 'ui'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { formatCronJobColumns } from './CronJobs.utils'
|
||||
import { DeleteCronJob } from './DeleteCronJob'
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import Link from 'next/link'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { BASE_PATH } from 'lib/constants'
|
||||
import { Badge, Card, CardContent, cn } from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { IntegrationDefinition } from './Integrations.constants'
|
||||
|
||||
type IntegrationCardProps = IntegrationDefinition & {
|
||||
|
||||
@@ -3,9 +3,9 @@ import dynamic from 'next/dynamic'
|
||||
import Image from 'next/image'
|
||||
import { ComponentType, ReactNode } from 'react'
|
||||
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { BASE_PATH, DOCS_URL } from 'lib/constants'
|
||||
import { cn } from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { UpgradeDatabaseAlert } from '../Queues/UpgradeDatabaseAlert'
|
||||
import { WRAPPERS } from '../Wrappers/Wrappers.constants'
|
||||
import { WrapperMeta } from '../Wrappers/Wrappers.types'
|
||||
|
||||
@@ -30,7 +30,7 @@ import {
|
||||
Separator,
|
||||
} from 'ui'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export const QueueTab = () => {
|
||||
const { childId: queueName, ref } = useParams()
|
||||
|
||||
@@ -6,11 +6,11 @@ import DataGrid, { Row } from 'react-data-grid'
|
||||
|
||||
import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useQueuesQuery } from 'data/database-queues/database-queues-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { Button, cn, LoadingLine } from 'ui'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { CreateQueueSheet } from './CreateQueueSheet'
|
||||
import { formatQueueColumns, prepareQueuesForDataGrid } from './Queues.utils'
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ import {
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns/admonition'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { getQueueFunctionsMapping } from './Queue.utils'
|
||||
|
||||
const ACTIONS = ['select', 'insert', 'update', 'delete']
|
||||
|
||||
@@ -5,7 +5,6 @@ import { type SubmitHandler, useForm } from 'react-hook-form'
|
||||
import { toast } from 'sonner'
|
||||
import { z } from 'zod'
|
||||
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useVaultSecretDecryptedValueQuery } from 'data/vault/vault-secret-decrypted-value-query'
|
||||
import { useVaultSecretUpdateMutation } from 'data/vault/vault-secret-update-mutation'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
@@ -25,6 +24,7 @@ import {
|
||||
Input_Shadcn_,
|
||||
} from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface EditSecretModalProps {
|
||||
visible: boolean
|
||||
|
||||
@@ -4,12 +4,12 @@ import { toast } from 'sonner'
|
||||
import { useParams } from 'common'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useHooksEnableMutation } from 'data/database/hooks-enable-mutation'
|
||||
import { useSchemasQuery } from 'data/database/schemas-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { IntegrationOverviewTab } from '../Integration/IntegrationOverviewTab'
|
||||
|
||||
export const WebhooksOverviewTab = () => {
|
||||
|
||||
@@ -2,7 +2,6 @@ import { Check, ChevronsUpDown, Database, Plus } from 'lucide-react'
|
||||
import { useEffect, useState } from 'react'
|
||||
|
||||
import { ActionBar } from 'components/interfaces/TableGridEditor/SidePanelEditor/ActionBar'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useSchemasQuery } from 'data/database/schemas-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import {
|
||||
@@ -25,6 +24,7 @@ import {
|
||||
ScrollArea,
|
||||
SidePanel,
|
||||
} from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import WrapperDynamicColumns from './WrapperDynamicColumns'
|
||||
import type { Table, TableOption } from './Wrappers.types'
|
||||
import { makeValidateRequired } from './Wrappers.utils'
|
||||
|
||||
@@ -5,7 +5,6 @@ import { useMemo, useState } from 'react'
|
||||
import { toast } from 'sonner'
|
||||
|
||||
import { useFlag, useParams } from 'common'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { TextConfirmModal } from 'components/ui/TextConfirmModalWrapper'
|
||||
import { useLegacyAPIKeysStatusQuery } from 'data/api-keys/legacy-api-keys-status-query'
|
||||
import { useJWTSigningKeyDeleteMutation } from 'data/jwt-signing-keys/jwt-signing-key-delete-mutation'
|
||||
@@ -39,6 +38,7 @@ import {
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { SigningKeysComingSoonBanner } from '../signing-keys-coming-soon'
|
||||
import { StartUsingJwtSigningKeysBanner } from '../start-using-keys-banner'
|
||||
import { ActionPanel } from './action-panel'
|
||||
|
||||
@@ -13,9 +13,9 @@ import {
|
||||
} from 'ui'
|
||||
|
||||
import { LINTER_LEVELS, LINT_TABS } from 'components/interfaces/Linter/Linter.constants'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { Lint } from 'data/lint/lint-query'
|
||||
import { useRouter } from 'next/router'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface LintPageTabsProps {
|
||||
currentTab: string
|
||||
|
||||
@@ -15,7 +15,6 @@ import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { FilterPopover } from 'components/ui/FilterPopover'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { UpgradeToPro } from 'components/ui/UpgradeToPro'
|
||||
import { useOrganizationRolesV2Query } from 'data/organization-members/organization-roles-query'
|
||||
import {
|
||||
@@ -34,6 +33,7 @@ import {
|
||||
Button,
|
||||
WarningIcon,
|
||||
} from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
const logsUpgradeError = 'upgrade to Team or Enterprise Plan to access audit logs.'
|
||||
|
||||
|
||||
+1
-1
@@ -10,13 +10,13 @@ import {
|
||||
} from 'components/layouts/Scaffold'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import SparkBar from 'components/ui/SparkBar'
|
||||
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
|
||||
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
|
||||
import { MANAGED_BY } from 'lib/constants/infrastructure'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import UpcomingInvoice from './UpcomingInvoice'
|
||||
|
||||
const BillingBreakdown = () => {
|
||||
|
||||
+1
-1
@@ -1,7 +1,6 @@
|
||||
import Link from 'next/link'
|
||||
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { PricingMetric } from 'data/analytics/org-daily-stats-query'
|
||||
import {
|
||||
UpcomingInvoiceResponse,
|
||||
@@ -12,6 +11,7 @@ import { formatCurrency } from 'lib/helpers'
|
||||
import React from 'react'
|
||||
import { Table, TableBody, TableCell, TableFooter, TableRow } from 'ui'
|
||||
import { InfoTooltip } from 'ui-patterns/info-tooltip'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { billingMetricUnit, formatUsage } from '../helpers'
|
||||
|
||||
export interface UpcomingInvoiceProps {
|
||||
|
||||
+1
-1
@@ -11,7 +11,6 @@ import {
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import PartnerManagedResource from 'components/ui/PartnerManagedResource'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useOrganizationCustomerProfileQuery } from 'data/organizations/organization-customer-profile-query'
|
||||
import { useOrganizationCustomerProfileUpdateMutation } from 'data/organizations/organization-customer-profile-update-mutation'
|
||||
import { useOrganizationTaxIdQuery } from 'data/organizations/organization-tax-id-query'
|
||||
@@ -19,6 +18,7 @@ import { useOrganizationTaxIdUpdateMutation } from 'data/organizations/organizat
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
|
||||
import { Button, Card, CardFooter, Form_Shadcn_ as Form } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
BillingCustomerDataForm,
|
||||
type BillingCustomerDataFormValues,
|
||||
|
||||
+1
-1
@@ -14,7 +14,6 @@ import AlertError from 'components/ui/AlertError'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import PartnerIcon from 'components/ui/PartnerIcon'
|
||||
import { PARTNER_TO_NAME } from 'components/ui/PartnerManagedResource'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
|
||||
@@ -22,6 +21,7 @@ import { BASE_PATH, DOCS_URL } from 'lib/constants'
|
||||
import { MANAGED_BY } from 'lib/constants/infrastructure'
|
||||
import { useOrgSettingsPageStateSnapshot } from 'state/organization-settings'
|
||||
import { Alert, AlertTitle_Shadcn_, Alert_Shadcn_, Button } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import ProjectUpdateDisabledTooltip from '../ProjectUpdateDisabledTooltip'
|
||||
import SpendCapSidePanel from './SpendCapSidePanel'
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ import { SetupIntentResponse } from 'data/stripe/setup-intent-mutation'
|
||||
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
|
||||
import { BASE_PATH, STRIPE_PUBLIC_KEY } from 'lib/constants'
|
||||
import { Checkbox_Shadcn_, Listbox } from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
NewPaymentMethodElement,
|
||||
type PaymentMethodElementRef,
|
||||
|
||||
+1
-1
@@ -10,7 +10,6 @@ import { getPlanChangeType } from 'components/interfaces/Billing/Subscription/Su
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import PartnerManagedResource from 'components/ui/PartnerManagedResource'
|
||||
import { RequestUpgradeToBillingOwners } from 'components/ui/RequestUpgradeToBillingOwners'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useFreeProjectLimitCheckQuery } from 'data/organizations/free-project-limit-check-query'
|
||||
import { useOrganizationBillingSubscriptionPreview } from 'data/organizations/organization-billing-subscription-preview'
|
||||
import { useOrganizationQuery } from 'data/organizations/organization-query'
|
||||
@@ -27,6 +26,7 @@ import { plans as subscriptionsPlans } from 'shared-data/plans'
|
||||
import { useOrgSettingsPageStateSnapshot } from 'state/organization-settings'
|
||||
import { Organization } from 'types/base'
|
||||
import { Button, SidePanel, cn } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import DowngradeModal from './DowngradeModal'
|
||||
import { EnterpriseCard } from './EnterpriseCard'
|
||||
import { ExitSurveyModal } from './ExitSurveyModal'
|
||||
|
||||
+1
-1
@@ -10,12 +10,12 @@ import {
|
||||
} from 'components/layouts/Scaffold'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useOrgSettingsPageStateSnapshot } from 'state/organization-settings'
|
||||
import { Alert, Button } from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import ProjectUpdateDisabledTooltip from '../ProjectUpdateDisabledTooltip'
|
||||
import { Restriction } from '../Restriction'
|
||||
import { PlanUpdateSidePanel } from './PlanUpdateSidePanel'
|
||||
|
||||
+1
-1
@@ -12,7 +12,6 @@ import {
|
||||
getPlanChangeType,
|
||||
} from 'components/interfaces/Billing/Subscription/Subscription.utils'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { OrganizationBillingSubscriptionPreviewResponse } from 'data/organizations/organization-billing-subscription-preview'
|
||||
import { OrgProject } from 'data/projects/org-projects-infinite-query'
|
||||
import { useConfirmPendingSubscriptionChangeMutation } from 'data/subscriptions/org-subscription-confirm-pending-change'
|
||||
@@ -31,6 +30,7 @@ import { plans as subscriptionsPlans } from 'shared-data/plans'
|
||||
import { Button, Dialog, DialogContent, Table, TableBody, TableCell, TableRow } from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { InfoTooltip } from 'ui-patterns/info-tooltip'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import type { PaymentMethodElementRef } from '../../../Billing/Payment/PaymentMethods/NewPaymentMethodElement'
|
||||
import PaymentMethodSelection from './PaymentMethodSelection'
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
|
||||
import { Button } from 'ui'
|
||||
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export const SOC2 = () => {
|
||||
const { data: organization } = useSelectedOrganizationQuery()
|
||||
|
||||
@@ -14,7 +14,7 @@ import { useSendEventMutation } from 'data/telemetry/send-event-mutation'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
|
||||
import { Button } from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export const SecurityQuestionnaire = () => {
|
||||
const { data: organization } = useSelectedOrganizationQuery()
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import {
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import InvoicePayButton from './InvoicePayButton'
|
||||
|
||||
const PAGE_LIMIT = 5
|
||||
|
||||
@@ -9,12 +9,12 @@ import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import CopyButton from 'components/ui/CopyButton'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { AuthorizedApp, useAuthorizedAppsQuery } from 'data/oauth/authorized-apps-query'
|
||||
import { OAuthAppCreateResponse } from 'data/oauth/oauth-app-create-mutation'
|
||||
import { OAuthApp, useOAuthAppsQuery } from 'data/oauth/oauth-apps-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { Button, cn } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { AuthorizedAppRow } from './AuthorizedAppRow'
|
||||
import { DeleteAppModal } from './DeleteAppModal'
|
||||
import { OAuthAppRow } from './OAuthAppRow'
|
||||
|
||||
@@ -6,7 +6,6 @@ import z from 'zod'
|
||||
import { ScaffoldContainer, ScaffoldSection } from 'components/layouts/Scaffold'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { UpgradeToPro } from 'components/ui/UpgradeToPro'
|
||||
import { useSSOConfigCreateMutation } from 'data/sso/sso-config-create-mutation'
|
||||
import { useOrgSSOConfigQuery } from 'data/sso/sso-config-query'
|
||||
@@ -25,6 +24,7 @@ import {
|
||||
Switch,
|
||||
} from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { AttributeMapping } from './AttributeMapping'
|
||||
import { JoinOrganizationOnSignup } from './JoinOrganizationOnSignup'
|
||||
import { SSODomains } from './SSODomains'
|
||||
|
||||
@@ -10,7 +10,6 @@ import { ScaffoldContainer, ScaffoldSection } from 'components/layouts/Scaffold'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { UpgradeToPro } from 'components/ui/UpgradeToPro'
|
||||
import { useOrganizationMembersQuery } from 'data/organizations/organization-members-query'
|
||||
import { useOrganizationMfaToggleMutation } from 'data/organizations/organization-mfa-mutation'
|
||||
@@ -33,6 +32,7 @@ import {
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
const schema = z.object({
|
||||
enforceMfa: z.boolean(),
|
||||
|
||||
@@ -21,7 +21,7 @@ import {
|
||||
TableRow,
|
||||
cn,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { isInviteExpired } from '../Organization.utils'
|
||||
import { MemberActions } from './MemberActions'
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ import { AlertCircle, HelpCircle } from 'lucide-react'
|
||||
|
||||
import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useOrganizationRolesV2Query } from 'data/organization-members/organization-roles-query'
|
||||
import { useOrganizationMembersQuery } from 'data/organizations/organization-members-query'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
@@ -24,6 +23,7 @@ import {
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { MemberRow } from './MemberRow'
|
||||
|
||||
export interface MembersViewProps {
|
||||
|
||||
@@ -2,14 +2,14 @@ import { BarChart2 } from 'lucide-react'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import Panel from 'components/ui/Panel'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { DataPoint } from 'data/analytics/constants'
|
||||
import { PricingMetric, type OrgDailyUsageResponse } from 'data/analytics/org-daily-stats-query'
|
||||
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { SectionContent } from './SectionContent'
|
||||
import UsageBarChart from './UsageBarChart'
|
||||
import { dailyUsageToDataPoints } from './Usage.utils'
|
||||
import UsageBarChart from './UsageBarChart'
|
||||
|
||||
export interface ComputeProps {
|
||||
orgDailyStats: OrgDailyUsageResponse | undefined
|
||||
|
||||
@@ -2,7 +2,6 @@ import { BarChart2 } from 'lucide-react'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import Panel from 'components/ui/Panel'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { DataPoint } from 'data/analytics/constants'
|
||||
import {
|
||||
ComputeUsageMetric,
|
||||
@@ -11,10 +10,11 @@ import {
|
||||
} from 'data/analytics/org-daily-stats-query'
|
||||
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { SectionContent } from './SectionContent'
|
||||
import { Attribute, AttributeColor } from './Usage.constants'
|
||||
import UsageBarChart from './UsageBarChart'
|
||||
import { dailyUsageToDataPoints } from './Usage.utils'
|
||||
import UsageBarChart from './UsageBarChart'
|
||||
|
||||
export interface ComputeProps {
|
||||
orgDailyStats: OrgDailyUsageResponse | undefined
|
||||
|
||||
@@ -2,7 +2,6 @@ import { useMemo } from 'react'
|
||||
|
||||
import { useBreakpoint } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import {
|
||||
ComputeUsageMetric,
|
||||
computeUsageMetricLabel,
|
||||
@@ -13,6 +12,7 @@ import { useOrgUsageQuery } from 'data/usage/org-usage-query'
|
||||
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
import { cn } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { BILLING_BREAKDOWN_METRICS } from '../BillingSettings/BillingBreakdown/BillingBreakdown.constants'
|
||||
import { BillingMetric } from '../BillingSettings/BillingBreakdown/BillingMetric'
|
||||
import { ComputeMetric } from '../BillingSettings/BillingBreakdown/ComputeMetric'
|
||||
|
||||
@@ -14,7 +14,6 @@ import AlertError from 'components/ui/AlertError'
|
||||
import DateRangePicker from 'components/ui/DateRangePicker'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { OrganizationProjectSelector } from 'components/ui/OrganizationProjectSelector'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useOrgDailyStatsQuery } from 'data/analytics/org-daily-stats-query'
|
||||
import { useProjectDetailQuery } from 'data/projects/project-detail-query'
|
||||
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
|
||||
@@ -24,14 +23,15 @@ import { Check, ChevronDown } from 'lucide-react'
|
||||
import { useQueryState } from 'nuqs'
|
||||
import { Button, cn, CommandGroup_Shadcn_, CommandItem_Shadcn_ } from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { Restriction } from '../BillingSettings/Restriction'
|
||||
import ActiveCompute from './ActiveCompute'
|
||||
import Activity from './Activity'
|
||||
import Compute from './Compute'
|
||||
import Egress from './Egress'
|
||||
import OrgLogUsage from './OrgLogUsage'
|
||||
import SizeAndCounts from './SizeAndCounts'
|
||||
import { TotalUsage } from './TotalUsage'
|
||||
import ActiveCompute from './ActiveCompute'
|
||||
import OrgLogUsage from './OrgLogUsage'
|
||||
|
||||
export const Usage = () => {
|
||||
const { slug } = useParams()
|
||||
|
||||
+1
-1
@@ -4,13 +4,13 @@ import { useMemo } from 'react'
|
||||
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import Panel from 'components/ui/Panel'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import SparkBar from 'components/ui/SparkBar'
|
||||
import type { OrgSubscription } from 'data/subscriptions/types'
|
||||
import type { OrgMetricsUsage, OrgUsageResponse } from 'data/usage/org-usage-query'
|
||||
import { USAGE_APPROACHING_THRESHOLD } from 'lib/constants'
|
||||
import type { ResponseError } from 'types'
|
||||
import { Button, cn, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { SectionContent } from '../SectionContent'
|
||||
import { CategoryAttribute } from '../Usage.constants'
|
||||
import {
|
||||
|
||||
@@ -4,7 +4,6 @@ import { useMemo } from 'react'
|
||||
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import Panel from 'components/ui/Panel'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { PricingMetric } from 'data/analytics/org-daily-stats-query'
|
||||
import { useOrgProjectsInfiniteQuery } from 'data/projects/org-projects-infinite-query'
|
||||
import type { OrgSubscription } from 'data/subscriptions/types'
|
||||
@@ -18,6 +17,7 @@ import {
|
||||
CriticalIcon,
|
||||
} from 'ui'
|
||||
import { InfoTooltip } from 'ui-patterns/info-tooltip'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { SectionContent } from '../SectionContent'
|
||||
import { CategoryAttribute } from '../Usage.constants'
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@ import { Policies } from 'components/interfaces/Auth/Policies/Policies'
|
||||
import { PoliciesDataProvider } from 'components/interfaces/Auth/Policies/PoliciesDataContext'
|
||||
import { PolicyEditorPanel } from 'components/interfaces/Auth/Policies/PolicyEditorPanel'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useProjectPostgrestConfigQuery } from 'data/config/project-postgrest-config-query'
|
||||
import { useDatabasePoliciesQuery } from 'data/database-policies/database-policies-query'
|
||||
import { useTablesQuery } from 'data/tables/tables-query'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export const RealtimePolicies = () => {
|
||||
const { data: project } = useSelectedProjectQuery()
|
||||
|
||||
@@ -23,7 +23,7 @@ import {
|
||||
DropdownMenuSubTrigger,
|
||||
SQL_ICON,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { DEPRECATED_REPORTS } from './Reports.constants'
|
||||
|
||||
interface MetricOptionsProps {
|
||||
|
||||
@@ -24,7 +24,6 @@ import {
|
||||
} from 'components/layouts/Scaffold'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import ShimmeringLoader, { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { mapResponseToAnalyticsData } from 'data/analytics/infra-monitoring-queries'
|
||||
import { useInfraMonitoringAttributesQuery } from 'data/analytics/infra-monitoring-query'
|
||||
import { useProjectSettingsV2Query } from 'data/config/project-settings-v2-query'
|
||||
@@ -41,6 +40,7 @@ import { getDatabaseMajorVersion, getSemanticVersion } from 'lib/helpers'
|
||||
import { useAddonsPagePanel } from 'state/addons-page'
|
||||
import { Alert, AlertDescription_Shadcn_, AlertTitle_Shadcn_, Alert_Shadcn_, Button } from 'ui'
|
||||
import { ComputeBadge } from 'ui-patterns/ComputeBadge'
|
||||
import { GenericSkeletonLoader, ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import CustomDomainSidePanel from './CustomDomainSidePanel'
|
||||
import IPv4SidePanel from './IPv4SidePanel'
|
||||
import PITRSidePanel from './PITRSidePanel'
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ import {
|
||||
} from 'ui'
|
||||
import { Admonition } from 'ui-patterns'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { POOLING_OPTIMIZATIONS } from './ConnectionPooling.constants'
|
||||
|
||||
const formId = 'pooling-configuration-form'
|
||||
|
||||
@@ -24,7 +24,7 @@ import {
|
||||
Modal,
|
||||
WarningIcon,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
export interface DiskSizeConfigurationProps {
|
||||
visible: boolean
|
||||
|
||||
+5
-5
@@ -5,7 +5,6 @@ import { useState } from 'react'
|
||||
import { useParams } from 'common'
|
||||
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
|
||||
import { DocsButton } from 'components/ui/DocsButton'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useNetworkRestrictionsQuery } from 'data/network-restrictions/network-restrictions-query'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
|
||||
@@ -25,10 +24,6 @@ import {
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import AddRestrictionModal from './AddRestrictionModal'
|
||||
import AllowAllModal from './AllowAllModal'
|
||||
import DisallowAllModal from './DisallowAllModal'
|
||||
import RemoveRestrictionModal from './RemoveRestrictionModal'
|
||||
import {
|
||||
PageSection,
|
||||
PageSectionAside,
|
||||
@@ -37,6 +32,11 @@ import {
|
||||
PageSectionSummary,
|
||||
PageSectionTitle,
|
||||
} from 'ui-patterns'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import AddRestrictionModal from './AddRestrictionModal'
|
||||
import AllowAllModal from './AllowAllModal'
|
||||
import DisallowAllModal from './DisallowAllModal'
|
||||
import RemoveRestrictionModal from './RemoveRestrictionModal'
|
||||
|
||||
interface AccessButtonProps {
|
||||
disabled: boolean
|
||||
|
||||
@@ -6,7 +6,6 @@ import { useForm } from 'react-hook-form'
|
||||
import { toast } from 'sonner'
|
||||
import * as z from 'zod'
|
||||
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useProjectUpdateMutation } from 'data/projects/project-update-mutation'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
|
||||
@@ -37,6 +36,7 @@ import {
|
||||
PageSectionSummary,
|
||||
PageSectionTitle,
|
||||
} from 'ui-patterns/PageSection'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import PauseProjectButton from './Infrastructure/PauseProjectButton'
|
||||
import RestartServerButton from './Infrastructure/RestartServerButton'
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,6 @@ import { DatabaseSelector } from 'components/ui/DatabaseSelector'
|
||||
import { DateRangePicker } from 'components/ui/DateRangePicker'
|
||||
import { DocsButton } from 'components/ui/DocsButton'
|
||||
import Panel from 'components/ui/Panel'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { DataPoint } from 'data/analytics/constants'
|
||||
import { mapMultiResponseToAnalyticsData } from 'data/analytics/infra-monitoring-queries'
|
||||
import {
|
||||
@@ -37,6 +36,7 @@ import { DOCS_URL, INSTANCE_MICRO_SPECS, INSTANCE_NANO_SPECS, InstanceSpecs } fr
|
||||
import { TIME_PERIODS_BILLING, TIME_PERIODS_REPORTS } from 'lib/constants/metrics'
|
||||
import { useDatabaseSelectorStateSnapshot } from 'state/database-selector'
|
||||
import { Admonition } from 'ui-patterns/admonition'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { INFRA_ACTIVITY_METRICS } from './Infrastructure.constants'
|
||||
import { useShowNewReplicaPanel } from './InfrastructureConfiguration/use-show-new-replica'
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import {
|
||||
ScaffoldSectionDetail,
|
||||
} from 'components/layouts/Scaffold'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useProjectUpgradeEligibilityQuery } from 'data/config/project-upgrade-eligibility-query'
|
||||
import { useProjectServiceVersionsQuery } from 'data/projects/project-service-versions'
|
||||
import { useReadReplicasQuery } from 'data/read-replicas/replicas-query'
|
||||
@@ -23,6 +22,7 @@ import {
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { ProjectUpgradeAlert } from '../General/Infrastructure/ProjectUpgradeAlert'
|
||||
import { InstanceConfiguration } from './InfrastructureConfiguration/InstanceConfiguration'
|
||||
import {
|
||||
|
||||
+1
-1
@@ -18,7 +18,6 @@ import {
|
||||
ScaffoldSectionDetail,
|
||||
} from 'components/layouts/Scaffold'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useOrgIntegrationsQuery } from 'data/integrations/integrations-query-org-only'
|
||||
import { useIntegrationsVercelInstalledConnectionDeleteMutation } from 'data/integrations/integrations-vercel-installed-connection-delete-mutation'
|
||||
import { useVercelProjectsQuery } from 'data/integrations/integrations-vercel-projects-query'
|
||||
@@ -34,6 +33,7 @@ import { pluralize } from 'lib/helpers'
|
||||
import { getIntegrationConfigurationUrl } from 'lib/integration-utils'
|
||||
import { useSidePanelsStateSnapshot } from 'state/side-panels'
|
||||
import { Button, cn } from 'ui'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { IntegrationImageHandler } from '../IntegrationsSettings'
|
||||
import VercelIntegrationConnectionForm from './VercelIntegrationConnectionForm'
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
} from 'ui'
|
||||
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
|
||||
interface ErrorCodeDialogProps {
|
||||
open: boolean
|
||||
|
||||
@@ -11,13 +11,13 @@ import z from 'zod'
|
||||
import { SupportCategories } from '@supabase/shared-types/out/constants'
|
||||
import { useAuthError } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useMfaChallengeAndVerifyMutation } from 'data/profile/mfa-challenge-and-verify-mutation'
|
||||
import { useMfaListFactorsQuery } from 'data/profile/mfa-list-factors-query'
|
||||
import { useSignOut } from 'lib/auth'
|
||||
import { getReturnToPath } from 'lib/gotrue'
|
||||
import { Button, Form_Shadcn_, FormControl_Shadcn_, FormField_Shadcn_, Input_Shadcn_ } from 'ui'
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { SupportLink } from '../Support/SupportLink'
|
||||
|
||||
const schema = z.object({
|
||||
|
||||
@@ -6,7 +6,6 @@ import { useState } from 'react'
|
||||
import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { AlphaNotice } from 'components/ui/AlphaNotice'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useProjectStorageConfigQuery } from 'data/config/project-storage-config-query'
|
||||
import { useAnalyticsBucketsQuery } from 'data/storage/analytics-buckets-query'
|
||||
import { AnalyticsBucket as AnalyticsBucketIcon } from 'icons'
|
||||
@@ -27,6 +26,7 @@ import { TimestampInfo } from 'ui-patterns'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import { PageContainer } from 'ui-patterns/PageContainer'
|
||||
import { PageSection, PageSectionContent, PageSectionTitle } from 'ui-patterns/PageSection'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { EmptyBucketState } from '../EmptyBucketState'
|
||||
import { CreateBucketButton } from '../NewBucketButton'
|
||||
import { CreateAnalyticsBucketModal } from './CreateAnalyticsBucketModal'
|
||||
|
||||
@@ -5,7 +5,6 @@ import { useCallback, useMemo, useState } from 'react'
|
||||
import { useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { useProjectStorageConfigQuery } from 'data/config/project-storage-config-query'
|
||||
import { usePaginatedBucketsQuery } from 'data/storage/buckets-query'
|
||||
import { IS_PLATFORM } from 'lib/constants'
|
||||
@@ -25,6 +24,7 @@ import { Admonition } from 'ui-patterns'
|
||||
import { Input } from 'ui-patterns/DataInputs/Input'
|
||||
import { PageContainer } from 'ui-patterns/PageContainer'
|
||||
import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { CreateBucketModal } from '../CreateBucketModal'
|
||||
import { EmptyBucketState } from '../EmptyBucketState'
|
||||
import { CreateBucketButton } from '../NewBucketButton'
|
||||
|
||||
@@ -7,12 +7,12 @@ import { useContextMenu } from 'react-contexify'
|
||||
import { toast } from 'sonner'
|
||||
|
||||
import { InfiniteListDefault, LoaderForIconMenuItems } from 'components/ui/InfiniteList'
|
||||
import ShimmeringLoader from 'components/ui/ShimmeringLoader'
|
||||
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
||||
import { BASE_PATH } from 'lib/constants'
|
||||
import { formatBytes } from 'lib/helpers'
|
||||
import { useStorageExplorerStateSnapshot } from 'state/storage-explorer'
|
||||
import { Checkbox, cn } from 'ui'
|
||||
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import {
|
||||
CONTEXT_MENU_KEYS,
|
||||
STORAGE_ROW_STATUS,
|
||||
|
||||
@@ -9,7 +9,6 @@ import { useFlag, useParams } from 'common'
|
||||
import AlertError from 'components/ui/AlertError'
|
||||
import { InlineLink } from 'components/ui/InlineLink'
|
||||
import NoPermission from 'components/ui/NoPermission'
|
||||
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
|
||||
import { UpgradeToPro } from 'components/ui/UpgradeToPro'
|
||||
import { useProjectStorageConfigQuery } from 'data/config/project-storage-config-query'
|
||||
import { useProjectStorageConfigUpdateUpdateMutation } from 'data/config/project-storage-config-update-mutation'
|
||||
@@ -40,6 +39,7 @@ import {
|
||||
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
|
||||
import { PageContainer } from 'ui-patterns/PageContainer'
|
||||
import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
|
||||
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
|
||||
import { StorageFileSizeLimitErrorMessage } from './StorageFileSizeLimitErrorMessage'
|
||||
import {
|
||||
StorageListV2MigratingCallout,
|
||||
|
||||
Loaded 100 of 145 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user