tercul-frontend/client/src/App.tsx
mukimovd 987af7c0e7 Add a dedicated blog section to share articles and engage with readers
Implements blog listing, detail, and creation pages with necessary components and types.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: cbacfb18-842a-4116-a907-18c0105ad8ec
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/39b5c689-6e8a-4d5a-9792-69cc81a56534/10041482-d9af-42cb-9c5d-d331b0904c5e.jpg
2025-05-01 03:37:15 +00:00

52 lines
1.9 KiB
TypeScript

import { Switch, Route } from "wouter";
import { queryClient } from "./lib/queryClient";
import { QueryClientProvider } from "@tanstack/react-query";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import NotFound from "@/pages/not-found";
import Home from "@/pages/Home";
import Explore from "@/pages/Explore";
import AuthorProfile from "@/pages/authors/AuthorProfile";
import Authors from "@/pages/authors/Authors";
import WorkReading from "@/pages/works/WorkReading";
import WorkCompare from "@/pages/works/WorkCompare";
import Collections from "@/pages/collections/Collections";
import CreateCollection from "@/pages/collections/CreateCollection";
import Profile from "@/pages/user/Profile";
import Submit from "@/pages/Submit";
import { BlogList, BlogDetail, BlogCreate } from "@/pages/blog";
function Router() {
return (
<Switch>
<Route path="/" component={Home} />
<Route path="/explore" component={Explore} />
<Route path="/authors" component={Authors} />
<Route path="/authors/:slug" component={AuthorProfile} />
<Route path="/works/:slug" component={WorkReading} />
<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} />
<Route component={NotFound} />
</Switch>
);
}
function App() {
return (
<QueryClientProvider client={queryClient}>
<TooltipProvider>
<Toaster />
<Router />
</TooltipProvider>
</QueryClientProvider>
);
}
export default App;