diff --git a/apps/web/package.json b/apps/web/package.json index 074d2bd73..f3bfb5314 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -27,6 +27,7 @@ "@radix-ui/react-popover": "^1.0.6", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-toast": "^1.1.5", + "@radix-ui/react-tooltip": "^1.1.4", "@sentry/nextjs": "^8.18.0", "@sindresorhus/slugify": "^2.1.1", "@supabase/auth-helpers-nextjs": "^0.7.4", diff --git a/apps/web/src/components/Dashboard/Templates.tsx b/apps/web/src/components/Dashboard/Templates.tsx index 04b645e04..9a3375f80 100644 --- a/apps/web/src/components/Dashboard/Templates.tsx +++ b/apps/web/src/components/Dashboard/Templates.tsx @@ -10,6 +10,24 @@ import { import { useState } from 'react' import { useEffect } from 'react' import { E2BUser } from '@/utils/useUser' +import { Lock, LockOpen, MoreVertical, Trash } from 'lucide-react' +import { + DropdownMenu, + DropdownMenuItem, + DropdownMenuContent, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu' +import { + AlertDialog, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, + AlertDialogAction, +} from '../ui/alert-dialog' +import { toast } from '../ui/use-toast' interface Template { aliases: string[] @@ -18,6 +36,12 @@ interface Template { memoryMB: number public: boolean templateID: string + createdAt: string + updatedAt: string + createdBy: { + email: string + id: string + } | null } export function TemplatesContent({ @@ -30,9 +54,14 @@ export function TemplatesContent({ apiUrl: string }) { const [templates, setTemplates] = useState([]) + const [currentTemplate, setCurrentTemplate] = useState