- Complete rewrite of frontend using React 18 + TypeScript in strict mode - Implement TanStack Router for file-based routing matching URL structure - Use TanStack Query for server state management with smart caching - Replace Pinia stores with React Context API for auth and UI state - Adopt Tailwind CSS + shadcn/ui components for consistent styling - Switch from pnpm to Bun for faster package management and builds - Configure Vite to support React, TypeScript, and modern tooling - Create frontend.go with Go embed package for embedding dist/ in binary - Implement comprehensive TypeScript interfaces (strict mode, no 'any' types) - Add dark mode support throughout with Tailwind CSS dark: classes - Set up i18n infrastructure (English translations included) - Remove all Vue 3 code, components, stores, CSS, and assets - Includes 18 new files with ~2000 lines of production-ready code
26 lines
689 B
TypeScript
26 lines
689 B
TypeScript
import { QueryClientProvider } from "@tanstack/react-query";
|
|
import { RouterProvider, createRouter } from "@tanstack/react-router";
|
|
import { AuthProvider } from "@/context/AuthContext";
|
|
import { queryClient } from "@/lib/queryClient";
|
|
import { routeTree } from "@/routeTree.gen";
|
|
|
|
// Create router
|
|
const router = createRouter({ routeTree });
|
|
|
|
// Extend router with router instance typing
|
|
declare module "@tanstack/react-router" {
|
|
interface Register {
|
|
router: typeof router;
|
|
}
|
|
}
|
|
|
|
export function App() {
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
<AuthProvider>
|
|
<RouterProvider router={router} />
|
|
</AuthProvider>
|
|
</QueryClientProvider>
|
|
);
|
|
}
|