diff --git a/src/frontend/.gitignore b/frontend/.gitignore similarity index 100% rename from src/frontend/.gitignore rename to frontend/.gitignore diff --git a/src/frontend/README.md b/frontend/README.md similarity index 100% rename from src/frontend/README.md rename to frontend/README.md diff --git a/src/frontend/components.json b/frontend/components.json similarity index 100% rename from src/frontend/components.json rename to frontend/components.json diff --git a/src/frontend/eslint.config.js b/frontend/eslint.config.js similarity index 100% rename from src/frontend/eslint.config.js rename to frontend/eslint.config.js diff --git a/src/frontend/index.html b/frontend/index.html similarity index 100% rename from src/frontend/index.html rename to frontend/index.html diff --git a/src/frontend/package-lock.json b/frontend/package-lock.json similarity index 100% rename from src/frontend/package-lock.json rename to frontend/package-lock.json diff --git a/src/frontend/package.json b/frontend/package.json similarity index 100% rename from src/frontend/package.json rename to frontend/package.json diff --git a/src/frontend/public/vite.svg b/frontend/public/vite.svg similarity index 100% rename from src/frontend/public/vite.svg rename to frontend/public/vite.svg diff --git a/src/frontend/src/assets/react.svg b/frontend/src/assets/react.svg similarity index 100% rename from src/frontend/src/assets/react.svg rename to frontend/src/assets/react.svg diff --git a/src/frontend/src/components/app-sidebar.tsx b/frontend/src/components/app-sidebar.tsx similarity index 100% rename from src/frontend/src/components/app-sidebar.tsx rename to frontend/src/components/app-sidebar.tsx diff --git a/src/frontend/src/components/conversations-history.tsx b/frontend/src/components/conversations-history.tsx similarity index 100% rename from src/frontend/src/components/conversations-history.tsx rename to frontend/src/components/conversations-history.tsx diff --git a/src/frontend/src/components/create-conversation.tsx b/frontend/src/components/create-conversation.tsx similarity index 100% rename from src/frontend/src/components/create-conversation.tsx rename to frontend/src/components/create-conversation.tsx diff --git a/src/frontend/src/components/nav-conversations.tsx b/frontend/src/components/nav-conversations.tsx similarity index 100% rename from src/frontend/src/components/nav-conversations.tsx rename to frontend/src/components/nav-conversations.tsx diff --git a/src/frontend/src/components/nav-main.tsx b/frontend/src/components/nav-main.tsx similarity index 100% rename from src/frontend/src/components/nav-main.tsx rename to frontend/src/components/nav-main.tsx diff --git a/src/frontend/src/components/site-header.tsx b/frontend/src/components/site-header.tsx similarity index 100% rename from src/frontend/src/components/site-header.tsx rename to frontend/src/components/site-header.tsx diff --git a/src/frontend/src/components/ui/avatar.tsx b/frontend/src/components/ui/avatar.tsx similarity index 100% rename from src/frontend/src/components/ui/avatar.tsx rename to frontend/src/components/ui/avatar.tsx diff --git a/src/frontend/src/components/ui/breadcrumb.tsx b/frontend/src/components/ui/breadcrumb.tsx similarity index 100% rename from src/frontend/src/components/ui/breadcrumb.tsx rename to frontend/src/components/ui/breadcrumb.tsx diff --git a/src/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx similarity index 100% rename from src/frontend/src/components/ui/button.tsx rename to frontend/src/components/ui/button.tsx diff --git a/src/frontend/src/components/ui/card.tsx b/frontend/src/components/ui/card.tsx similarity index 100% rename from src/frontend/src/components/ui/card.tsx rename to frontend/src/components/ui/card.tsx diff --git a/src/frontend/src/components/ui/collapsible.tsx b/frontend/src/components/ui/collapsible.tsx similarity index 100% rename from src/frontend/src/components/ui/collapsible.tsx rename to frontend/src/components/ui/collapsible.tsx diff --git a/src/frontend/src/components/ui/dialog.tsx b/frontend/src/components/ui/dialog.tsx similarity index 100% rename from src/frontend/src/components/ui/dialog.tsx rename to frontend/src/components/ui/dialog.tsx diff --git a/src/frontend/src/components/ui/dropdown-menu.tsx b/frontend/src/components/ui/dropdown-menu.tsx similarity index 100% rename from src/frontend/src/components/ui/dropdown-menu.tsx rename to frontend/src/components/ui/dropdown-menu.tsx diff --git a/src/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx similarity index 100% rename from src/frontend/src/components/ui/input.tsx rename to frontend/src/components/ui/input.tsx diff --git a/src/frontend/src/components/ui/label.tsx b/frontend/src/components/ui/label.tsx similarity index 100% rename from src/frontend/src/components/ui/label.tsx rename to frontend/src/components/ui/label.tsx diff --git a/src/frontend/src/components/ui/separator.tsx b/frontend/src/components/ui/separator.tsx similarity index 100% rename from src/frontend/src/components/ui/separator.tsx rename to frontend/src/components/ui/separator.tsx diff --git a/src/frontend/src/components/ui/sheet.tsx b/frontend/src/components/ui/sheet.tsx similarity index 100% rename from src/frontend/src/components/ui/sheet.tsx rename to frontend/src/components/ui/sheet.tsx diff --git a/src/frontend/src/components/ui/sidebar.tsx b/frontend/src/components/ui/sidebar.tsx similarity index 100% rename from src/frontend/src/components/ui/sidebar.tsx rename to frontend/src/components/ui/sidebar.tsx diff --git a/src/frontend/src/components/ui/skeleton.tsx b/frontend/src/components/ui/skeleton.tsx similarity index 100% rename from src/frontend/src/components/ui/skeleton.tsx rename to frontend/src/components/ui/skeleton.tsx diff --git a/src/frontend/src/components/ui/sonner.tsx b/frontend/src/components/ui/sonner.tsx similarity index 100% rename from src/frontend/src/components/ui/sonner.tsx rename to frontend/src/components/ui/sonner.tsx diff --git a/src/frontend/src/components/ui/tooltip.tsx b/frontend/src/components/ui/tooltip.tsx similarity index 100% rename from src/frontend/src/components/ui/tooltip.tsx rename to frontend/src/components/ui/tooltip.tsx diff --git a/src/frontend/src/env.ts b/frontend/src/env.ts similarity index 100% rename from src/frontend/src/env.ts rename to frontend/src/env.ts diff --git a/src/frontend/src/hooks/use-mobile.ts b/frontend/src/hooks/use-mobile.ts similarity index 100% rename from src/frontend/src/hooks/use-mobile.ts rename to frontend/src/hooks/use-mobile.ts diff --git a/src/frontend/src/index.css b/frontend/src/index.css similarity index 100% rename from src/frontend/src/index.css rename to frontend/src/index.css diff --git a/src/frontend/src/lib/utils.ts b/frontend/src/lib/utils.ts similarity index 100% rename from src/frontend/src/lib/utils.ts rename to frontend/src/lib/utils.ts diff --git a/src/frontend/src/main.tsx b/frontend/src/main.tsx similarity index 100% rename from src/frontend/src/main.tsx rename to frontend/src/main.tsx diff --git a/src/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts similarity index 100% rename from src/frontend/src/routeTree.gen.ts rename to frontend/src/routeTree.gen.ts diff --git a/src/frontend/src/routes/__root.tsx b/frontend/src/routes/__root.tsx similarity index 100% rename from src/frontend/src/routes/__root.tsx rename to frontend/src/routes/__root.tsx diff --git a/frontend/src/routes/conversation.$sessionId.tsx b/frontend/src/routes/conversation.$sessionId.tsx new file mode 100644 index 0000000..e80e7c3 --- /dev/null +++ b/frontend/src/routes/conversation.$sessionId.tsx @@ -0,0 +1,47 @@ +import { Button } from "@/components/ui/button"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Input } from "@/components/ui/input"; +import { Separator } from "@/components/ui/separator"; +import { getConversationHistory } from "@/services/get-conversation-history"; +import { createFileRoute, notFound } from "@tanstack/react-router"; +import { SendHorizontalIcon } from "lucide-react"; + +export const Route = createFileRoute("/conversation/$sessionId")({ + component: RouteComponent, + loader: async ({ params }) => { + const data = await getConversationHistory(params.sessionId); + if (!data) { + throw notFound(); + } + return data; + }, +}); + +function RouteComponent() { + const historyData = Route.useLoaderData(); + const { sessionId } = Route.useParams(); + + return ( +