feat: impl file delete

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2025-09-14 10:59:49 +00:00
parent eb9010cb20
commit eaa2a5cdb8
12 changed files with 259 additions and 69 deletions

View File

@@ -1,9 +1,10 @@
import { createRootRoute, Outlet } from "@tanstack/react-router"
import { TanStackRouterDevtools } from "@tanstack/router-devtools"
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar"
import { Toaster } from "@/components/ui/sonner"
import DashboardSidebar from "@/dashboard/dashboard-sidebar"
import "@/styles/globals.css"
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
import { Outlet, createRootRoute } from "@tanstack/react-router"
import { TanStackRouterDevtools } from "@tanstack/router-devtools"
import { ConvexProvider, ConvexReactClient } from "convex/react"
export const Route = createRootRoute({
@@ -11,20 +12,23 @@ export const Route = createRootRoute({
})
const convexClient = new ConvexReactClient(process.env.BUN_PUBLIC_CONVEX_URL!)
const queryClient = new QueryClient()
function RootLayout() {
return (
<ConvexProvider client={convexClient}>
<SidebarProvider>
<div className="flex h-screen w-full">
<DashboardSidebar />
<SidebarInset>
<Outlet />
</SidebarInset>
</div>
<Toaster />
<TanStackRouterDevtools />
</SidebarProvider>
</ConvexProvider>
<QueryClientProvider client={queryClient}>
<ConvexProvider client={convexClient}>
<SidebarProvider>
<div className="flex h-screen w-full">
<DashboardSidebar />
<SidebarInset>
<Outlet />
</SidebarInset>
</div>
<Toaster />
<TanStackRouterDevtools />
</SidebarProvider>
</ConvexProvider>
</QueryClientProvider>
)
}

View File

@@ -1,14 +1,3 @@
import { api } from "@convex/_generated/api"
import { createFileRoute } from "@tanstack/react-router"
import { useMutation, useQuery } from "convex/react"
import {
ChevronDownIcon,
Loader2Icon,
PlusIcon,
UploadCloudIcon,
} from "lucide-react"
import { type ChangeEvent, useRef, useState } from "react"
import { toast } from "sonner"
import { DirectoryIcon } from "@/components/icons/directory-icon"
import { TextFileIcon } from "@/components/icons/text-file-icon"
import {
@@ -26,6 +15,17 @@ import {
} from "@/components/ui/dropdown-menu"
import { SidebarTrigger } from "@/components/ui/sidebar"
import { FileTable } from "@/files/file-table"
import { api } from "@convex/_generated/api"
import { createFileRoute } from "@tanstack/react-router"
import { useMutation, useQuery } from "convex/react"
import {
ChevronDownIcon,
Loader2Icon,
PlusIcon,
UploadCloudIcon,
} from "lucide-react"
import { useRef, useState, type ChangeEvent } from "react"
import { toast } from "sonner"
export const Route = createFileRoute("/files")({
component: FilesPage,