feat: restructure styles and components for improved design system

- Added typography and design system styles to globals.css.
- Removed deprecated home.css and landing.css files.
- Introduced DiscordSignInButton component for Discord authentication.
- Created Card and CardGrid components for structured content display.
- Implemented ContainerShowcase to demonstrate card usage and layout.
- Added DesignSystemTabs for navigation between design system sections.
- Established typography.css for consistent text styling across components.
- Added tests for typography styles to ensure compliance with design standards.
This commit is contained in:
syntaxbullet
2026-09-04 12:37:56 +02:00
parent 084603bb6e
commit bfa54851c2
23 changed files with 1177 additions and 2937 deletions

View File

@@ -1,57 +1,11 @@
import { Route, Routes, useLocation, useNavigate } from "react-router";
import { AuthControls } from "./components/AuthControls";
import { Home } from "./pages/Home";
import { About } from "./pages/About";
import { Settings } from "./pages/Settings";
import { Navigate, Route, Routes } from "react-router";
import { DesignSystem } from "./pages/DesignSystem";
import { AuthProvider, useAuth } from "./components/AuthProvider";
import { Landing } from "./pages/Landing";
import { Button } from "./components/design-system/primitives";
export function App() {
const { pathname } = useLocation();
if (pathname === "/design-system" || pathname === "/design-system/") return <DesignSystem />;
return <AuthProvider><AppRoutes /></AuthProvider>;
}
function AppRoutes() {
const navigate = useNavigate();
const { pathname } = useLocation();
const { user, loading, accountError, retry } = useAuth();
if (pathname === "/") {
if (loading || accountError) return (
<div className="ds-root landing-root">
<main className="landing-account-state">
<a className="ds-wordmark" href="/">minabot.</a>
{loading ? <p role="status">Loading your account…</p> : <>
<p role="alert">{accountError}</p>
<Button variant="secondary" onClick={retry}>Try again</Button>
</>}
</main>
</div>
);
if (!user) return <Landing />;
return <Home />;
}
return (
<>
<nav aria-label="Main navigation">
<button type="button" disabled={pathname === "/"} onClick={() => navigate("/")}>Home</button>{" "}
<button type="button" disabled={pathname === "/about"} onClick={() => navigate("/about")}>About</button>{" "}
<button type="button" disabled={pathname === "/settings"} onClick={() => navigate("/settings")}>Settings</button>
{" "}<button type="button" onClick={() => navigate("/design-system")}>Design system</button>
</nav>
<AuthControls />
<main>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/settings" element={<Settings />} />
<Route path="*" element={<h1>Page not found</h1>} />
</Routes>
</main>
</>
<Routes>
<Route path="/design-system" element={<DesignSystem />} />
<Route path="*" element={<Navigate to="/design-system" replace />} />
</Routes>
);
}