CMU Coding Bootcamp
1import { StrictMode } from "react";
2import { createRoot } from "react-dom/client";
3import { BrowserRouter, Routes, Route } from "react-router";
4import "./index.css";
5import { App } from "./App.tsx";
6import { BlogPostDetail, PostLayout } from "./components/BlogPostDetail.tsx";
7import { NewPostLayout } from "./components/BlogPostForm.tsx";
8import { posts } from "./lib/post.ts";
9
10const deletePost = (postId: number) => {
11 const index = posts.findIndex((post) => post.id === postId);
12 if (index !== -1) {
13 posts.splice(index, 1);
14 }
15};
16
17createRoot(document.getElementById("root")!).render(
18 <StrictMode>
19 <BrowserRouter>
20 <Routes>
21 <Route index element={<App />} />
22 <Route path="entries" element={<PostLayout />}>
23 <Route
24 path=":postId"
25 element={<BlogPostDetail deletePost={deletePost} />}
26 />
27 </Route>
28 <Route path="post" element={<NewPostLayout />} />
29 </Routes>
30 </BrowserRouter>
31 </StrictMode>,
32);