mirror of
https://github.com/supabase/supabase.git
synced 2026-10-09 11:25:06 +03:00
## Problem We now export components under a subpath in ui-patterns to avoid barrel files as they slow down every tools (from IDE to linters, etc.) and may also affect bundles our users have to download. ## Solution - Remove the UI patterns index file - Fix invalid impors
64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import { Button } from 'ui'
|
|
import { Admonition } from 'ui-patterns/admonition'
|
|
|
|
export interface SqlWarningAdmonitionProps {
|
|
warningType: 'hasWriteOperation' | 'hasUnknownFunctions'
|
|
onCancel: () => void
|
|
onConfirm: () => void
|
|
disabled?: boolean
|
|
className?: string
|
|
/** Optional override primary message */
|
|
message?: string
|
|
/** Optional override secondary message */
|
|
subMessage?: string
|
|
/** Optional override labels */
|
|
cancelLabel?: string
|
|
confirmLabel?: string
|
|
}
|
|
|
|
export const SqlWarningAdmonition = ({
|
|
warningType,
|
|
onCancel,
|
|
onConfirm,
|
|
disabled = false,
|
|
className,
|
|
message,
|
|
subMessage,
|
|
cancelLabel,
|
|
confirmLabel,
|
|
}: SqlWarningAdmonitionProps) => {
|
|
return (
|
|
<Admonition
|
|
type="warning"
|
|
className={`mb-0 rounded-none border-0 shrink-0 bg-background-100 ${className}`}
|
|
>
|
|
{!!message && (
|
|
<p className="text-xs mb-1!">
|
|
{`${
|
|
warningType === 'hasWriteOperation'
|
|
? 'This query contains write operations.'
|
|
: 'This query involves running a function.'
|
|
} Are you sure you want to execute it?`}
|
|
</p>
|
|
)}
|
|
<p className="text-foreground-light text-xs">
|
|
{subMessage ?? 'Make sure you are not accidentally removing something important.'}
|
|
</p>
|
|
<div className="flex justify-stretch mt-2 gap-2">
|
|
<Button variant="outline" size="tiny" className="w-full flex-1" onClick={onCancel}>
|
|
{cancelLabel ?? 'Cancel'}
|
|
</Button>
|
|
<Button
|
|
variant="danger"
|
|
size="tiny"
|
|
disabled={disabled}
|
|
className="w-full flex-1"
|
|
onClick={onConfirm}
|
|
>
|
|
{confirmLabel ?? 'Run'}
|
|
</Button>
|
|
</div>
|
|
</Admonition>
|
|
)
|
|
}
|