{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "passkey-item", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "dialog", "@launch/launch-types" ], "files": [ { "path": "registry/new-york-v4/components/passkey-item.tsx", "content": "import { KeyRound, Trash2 } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\";\nimport type { Passkey } from \"@/lib/types\";\n\ntype Props = {\n passkey: Passkey;\n onDelete: (id: number, onError: () => void) => void;\n};\n\nexport default function PasskeyItem({ passkey, onDelete }: Props) {\n const [isDeleting, setIsDeleting] = useState(false);\n\n const handleDelete = () => {\n setIsDeleting(true);\n onDelete(passkey.id, () => setIsDeleting(false));\n };\n\n return (\n
\n
\n
\n \n
\n
\n
\n

{passkey.name}

\n {passkey.authenticator && (\n \n {passkey.authenticator}\n \n )}\n
\n

\n Added {passkey.created_at_diff}\n {passkey.last_used_at_diff && (\n <>\n /\n Last used {passkey.last_used_at_diff}\n \n )}\n

\n
\n
\n\n \n \n }\n >\n \n Remove\n \n \n Remove passkey\n \n Are you sure you want to remove the \"{passkey.name}\" passkey? You will no\n longer be able to use it to sign in.\n \n \n }>Cancel\n \n \n \n \n
\n );\n}\n", "type": "registry:component" } ], "type": "registry:component" }