'use client' import { getAppStateSnapshot } from '@/lib/state' import Image from 'next/image' import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, IconChevronDown, IconClipboard, IconDownload, } from 'ui' const SaveSchemaDropdown = () => { const copyToClipboard = () => { const snap = getAppStateSnapshot() const focused = window.document.hasFocus() if (focused) { window.navigator?.clipboard?.writeText(snap.selectedCode) } else { console.warn('Unable to copy to clipboard') } } const downloadSQL = () => { const snap = getAppStateSnapshot() const blob = new Blob([snap.selectedCode], { type: 'text/plain' }) const url = URL.createObjectURL(blob) const link = document.createElement('a') link.download = 'migration.sql' link.href = url link.click() } const loadSQLInSupabase = () => { const snap = getAppStateSnapshot() window.open( `https://supabase.com/dashboard/project/_/sql?content=${encodeURIComponent( snap.selectedCode )}`, '_blank' ) } return ( copyToClipboard()}>

Copy SQL

downloadSQL()}>

Download SQL

loadSQLInSupabase()}> supabase

Load SQL in Supabase

) } export default SaveSchemaDropdown