mirror of
https://github.com/supabase/supabase.git
synced 2026-10-06 09:55:06 +03:00
Follow-up to #48344: collapses the two resolution paths for the Admonition module into one. `src/admonition.tsx` was a back-compat shim re-exporting `src/Admonition/`. Two ways to resolve one module is exactly what produced the macOS self-import bug fixed in #48344, and the local typecheck errors that #48374 worked around. This removes the shim and standardizes on the PascalCase subpath, matching every other export in the package. **Changed:** - Codemodded all 246 `ui-patterns/admonition` imports to `ui-patterns/Admonition` (240 `.tsx`, 5 `.mdx`, 1 `.ts` across studio, docs, www, design-system, and lite-studio) - Pointed the 5 internal `'../admonition'` imports back at the `'../Admonition'` directory **Removed:** - `packages/ui-patterns/src/admonition.tsx`, and its `./admonition` entry in the exports map (regenerated with `pnpm gen:exports`) ## To test - `grep -r "ui-patterns/admonition" --include='*.ts*'` → no hits - `pnpm test:case-hazards` → passes - `pnpm typecheck` → all 15 tasks green - `pnpm --filter studio run lint:ratchet` → passes - `pnpm --filter ui-patterns vitest run src/Admonition` → 11 tests pass <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Standardized Admonition component imports across the application and documentation. * Improved compatibility with case-sensitive environments by using the canonical component path. * Removed the legacy Admonition import entry point. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
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>
|
|
)
|
|
}
|