mirror of
https://github.com/supabase/supabase.git
synced 2026-07-06 07:54:25 +08:00
* chore: cleanup packages - Avoid circular imports - Export API-types as types - pg-format without depending on Node internal Buffer (not browser-compatible) - Avoid importing from barrel files in ui dir * chore: avoid barrel file imports in studio (#27771) * chore: avoid barrel file imports - Removes some unused imports - Avoids barrel file import for faster builds + less memory * add eslint rule * type fixes * delete layouts barrel * delete components/grid barrel file * delete components/grid/utils barrel file * delete components/grid/components/common barrel file * delete components/grid/components/editor barrel file * delete components/grid/components/formatter barrel file * delete components/grid/components/grid barrel file * delete components/grid/components/header/filter barrel file * remote components/grid/store barrel file * remove components/interfaces/Auth/Policies barrel file * delete components/interfaces/Settings/Logs barrel file * delete components/ui/CodeEditor barrel file * delete components/ui/Forms barrel file * delete components/ui/Shimmers barrel file * delete data/analytics barrel file * delete hooks barrel file * cleanup lib/common/fetch barrel file * final * barral files cleanup * global react-data-grid styles * remove console.log --------- Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com> * fix build --------- Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
56 lines
1.7 KiB
TypeScript
56 lines
1.7 KiB
TypeScript
import { CommandGroup } from 'cmdk'
|
|
import { useCommandMenu } from './CommandMenuContext'
|
|
import { Badge } from 'ui/src/components/shadcn/ui/badge'
|
|
import { CommandItem, copyToClipboard } from './Command.utils'
|
|
import { IconAlertCircle } from 'ui/src/components/Icon/icons/IconAlertCircle'
|
|
import ChildItem from './ChildItem'
|
|
|
|
const APIKeys = ({ isSubItem = false }) => {
|
|
const { setIsOpen, project } = useCommandMenu()
|
|
const { apiKeys } = project ?? {}
|
|
|
|
return (
|
|
<CommandGroup>
|
|
{apiKeys?.anon !== undefined && (
|
|
<ChildItem
|
|
isSubItem={isSubItem}
|
|
onSelect={() => {
|
|
copyToClipboard(apiKeys?.anon ?? '')
|
|
setIsOpen(false)
|
|
}}
|
|
className="space-x-2"
|
|
>
|
|
<p>Copy anonymous key</p>
|
|
<Badge>Public</Badge>
|
|
</ChildItem>
|
|
)}
|
|
{apiKeys?.service !== undefined && (
|
|
<ChildItem
|
|
isSubItem={isSubItem}
|
|
onSelect={() => {
|
|
copyToClipboard(apiKeys?.service ?? '')
|
|
setIsOpen(false)
|
|
}}
|
|
className="space-x-2"
|
|
>
|
|
<p>Copy service key</p>
|
|
<Badge variant="destructive">Secret</Badge>
|
|
</ChildItem>
|
|
)}
|
|
{apiKeys?.anon === undefined && apiKeys?.service === undefined && (
|
|
<CommandItem type="link" className="items-start">
|
|
<IconAlertCircle strokeWidth={1.5} className="text-foreground-light" />
|
|
<div>
|
|
<p>No API keys available</p>
|
|
<p className="text-foreground-lighter">
|
|
You may not have the necessary permissions to view the project's API keys
|
|
</p>
|
|
</div>
|
|
</CommandItem>
|
|
)}
|
|
</CommandGroup>
|
|
)
|
|
}
|
|
|
|
export default APIKeys
|