tercul-frontend/client/src/App.tsx
Damir Mukimov 4a23f496fa
Major frontend development updates
- Enhanced annotation system with improved inline editing
- Updated author components with new card and header designs
- Improved reading view with enhanced line numbering and controls
- Added new blog management features and tag management
- Updated UI components with improved accessibility and styling
- Enhanced search functionality with better filtering
- Added new dashboard features and activity feeds
- Improved translation selector and work comparison tools
- Updated GraphQL integration and API hooks
- Enhanced responsive design and mobile experience
2025-11-27 03:44:09 +01:00

67 lines
2.3 KiB
TypeScript

import { QueryClientProvider } from "@tanstack/react-query";
import { Route, Switch } from "wouter";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import AuthorProfile from "@/pages/authors/AuthorProfile";
import Authors from "@/pages/authors/Authors";
import { BlogCreate, BlogDetail, BlogList } from "@/pages/blog";
import Collections from "@/pages/collections/Collections";
import CreateCollection from "@/pages/collections/CreateCollection";
import BlogEdit from "@/pages/dashboard/BlogEdit";
import BlogManagement from "@/pages/dashboard/BlogManagement";
// Dashboard pages
import Dashboard from "@/pages/dashboard/Dashboard";
import Explore from "@/pages/Explore";
import Home from "@/pages/Home";
import NotFound from "@/pages/not-found";
import Search from "@/pages/Search";
import Submit from "@/pages/Submit";
import Profile from "@/pages/user/Profile";
import SimpleWorkReading from "@/pages/works/SimpleWorkReading";
import WorkCompare from "@/pages/works/WorkCompare";
import { queryClient } from "./lib/queryClient";
function Router() {
return (
<Switch>
<Route path="/" component={Home} />
<Route path="/explore" component={Explore} />
<Route path="/search" component={Search} />
<Route path="/authors" component={Authors} />
<Route path="/authors/:slug" component={AuthorProfile} />
<Route path="/works/:slug" component={SimpleWorkReading} />
<Route
path="/works/:slug/compare/:translationId"
component={WorkCompare}
/>
<Route path="/collections" component={Collections} />
<Route path="/collections/create" component={CreateCollection} />
<Route path="/profile" component={Profile} />
<Route path="/submit" component={Submit} />
<Route path="/blog" component={BlogList} />
<Route path="/blog/create" component={BlogCreate} />
<Route path="/blog/:slug" component={BlogDetail} />
{/* Dashboard Routes */}
<Route path="/dashboard" component={Dashboard} />
<Route path="/dashboard/blog" component={BlogManagement} />
<Route path="/dashboard/blog/edit/:id" component={BlogEdit} />
<Route component={NotFound} />
</Switch>
);
}
function App() {
return (
<QueryClientProvider client={queryClient}>
<TooltipProvider>
<Toaster />
<Router />
</TooltipProvider>
</QueryClientProvider>
);
}
export default App;