nav to specific articleId via url

This commit is contained in:
2025-11-09 00:06:54 -06:00
parent bcbe9d4e2a
commit 50e102a76e
5 changed files with 33 additions and 64 deletions
+4 -1
View File
@@ -8,17 +8,20 @@ export default function Navbar() {
component={Link} component={Link}
to="/" to="/"
variant="outlined" variant="outlined"
className="flex flex-1"
> >
Home Home
</Button> </Button>
<Button <Button
component={Link} component={Link}
to="/article" to="/articleList"
variant="outlined" variant="outlined"
className="flex flex-1"
> >
Article Article
</Button> </Button>
<div className="flex flex-8"></div>
</div> </div>
); );
}; };
+7 -54
View File
@@ -1,13 +1,13 @@
@import "tailwindcss"; @import "tailwindcss";
:root { :root {
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; font-family: ubuntu-mono, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5; line-height: 1.5;
font-weight: 400; font-weight: 400;
color-scheme: light dark; color-scheme: light dark;
color: rgba(255, 255, 255, 0.87); color: rgba(0, 0, 0, 1);
background-color: #242424; background-color: #cccccc;
font-synthesis: none; font-synthesis: none;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
@@ -15,56 +15,9 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body { body {
margin: 0; padding-top: 1rem;
display: flex; padding-left: 2rem;
place-items: center; padding-right: 2rem;
min-width: 320px; width: 100%;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
} }
+10 -8
View File
@@ -1,10 +1,11 @@
import { StrictMode } from 'react' import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client' import { createRoot } from 'react-dom/client';
import { BrowserRouter, Routes, Route } from 'react-router' import { BrowserRouter, Routes, Route } from 'react-router';
import './index.css' import './index.css';
import Home from './pages/Home.tsx' import Home from './pages/Home.tsx';
import Article from './pages/Article.tsx' import Article from './pages/Article.tsx';
import Navbar from './components/Navbar.tsx' import ArticleList from './pages/ArticleList.tsx';
import Navbar from './components/Navbar.tsx';
createRoot(document.getElementById('root')!).render( createRoot(document.getElementById('root')!).render(
<StrictMode> <StrictMode>
@@ -12,7 +13,8 @@ createRoot(document.getElementById('root')!).render(
<Navbar /> <Navbar />
<Routes> <Routes>
<Route path="/" element={<Home />} /> <Route path="/" element={<Home />} />
<Route path="/article" element={<Article />} /> <Route path="/article:articleId" element={<Article />} />
<Route path="/articleList" element={<ArticleList />} />
</Routes> </Routes>
</BrowserRouter> </BrowserRouter>
</StrictMode> </StrictMode>
+5 -1
View File
@@ -1,7 +1,11 @@
import { useParams } from 'react-router';
export default function Article() { export default function Article() {
let { articleId } = useParams();
return ( return (
<div id="article"> <div id="article">
<h1>Article</h1> <h1>Article: {articleId}</h1>
</div> </div>
); );
}; };
+7
View File
@@ -0,0 +1,7 @@
export default function ArticleList() {
return (
<div>
List of articles to be populated and searchable
</div>
);
};