Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
255 changes: 255 additions & 0 deletions showcase/bun.lock

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions showcase/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>design.md Showcase</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet" />
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
23 changes: 23 additions & 0 deletions showcase/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"name": "design-md-showcase",
"private": true,
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"dependencies": {
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.26.0"
},
"devDependencies": {
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.1",
"typescript": "^5.5.3",
"vite": "^5.4.0"
}
}
66 changes: 66 additions & 0 deletions showcase/src/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
import { Routes, Route, NavLink, useLocation } from 'react-router-dom'
import PawsAndPaths from './pages/PawsAndPaths'
import AtmosphericGlass from './pages/AtmosphericGlass'
import TotalityFestival from './pages/TotalityFestival'

const themes = [
{ path: '/', label: 'Paws & Paths', sub: 'Pet services · Material 3' },
{ path: '/atmospheric-glass', label: 'Atmospheric Glass', sub: 'Weather app · Glassmorphism' },
{ path: '/totality-festival', label: 'Totality Festival', sub: 'Event brand · Cosmic premium' },
]

export default function App() {
const { pathname } = useLocation()

return (
<div style={{ display: 'flex', height: '100vh', overflow: 'hidden', fontFamily: 'Inter, sans-serif', background: '#111' }}>
{/* Sidebar */}
<aside style={{
width: 220,
flexShrink: 0,
background: '#0e0e0e',
borderRight: '1px solid #222',
display: 'flex',
flexDirection: 'column',
padding: '24px 0',
}}>
<div style={{ padding: '0 20px 24px', borderBottom: '1px solid #222' }}>
<div style={{ fontSize: 11, letterSpacing: '0.12em', color: '#555', textTransform: 'uppercase', marginBottom: 6 }}>design.md</div>
<div style={{ fontSize: 13, color: '#888' }}>Showcase</div>
</div>
<nav style={{ flex: 1, padding: '16px 0' }}>
{themes.map(t => (
<NavLink
key={t.path}
to={t.path}
end
style={({ isActive }) => ({
display: 'block',
padding: '10px 20px',
textDecoration: 'none',
background: isActive ? '#1a1a1a' : 'transparent',
borderLeft: isActive ? '2px solid #fff' : '2px solid transparent',
transition: 'all 0.15s',
})}
>
<div style={{ fontSize: 13, color: pathname === t.path ? '#fff' : '#999', fontWeight: 500, marginBottom: 2 }}>{t.label}</div>
<div style={{ fontSize: 11, color: '#555' }}>{t.sub}</div>
</NavLink>
))}
</nav>
<div style={{ padding: '16px 20px', borderTop: '1px solid #222' }}>
<div style={{ fontSize: 11, color: '#444' }}>v0.1.1 · Apache 2.0</div>
</div>
</aside>

{/* Main */}
<main style={{ flex: 1, overflow: 'auto' }}>
<Routes>
<Route path="/" element={<PawsAndPaths />} />
<Route path="/atmospheric-glass" element={<AtmosphericGlass />} />
<Route path="/totality-festival" element={<TotalityFestival />} />
</Routes>
</main>
</div>
)
}
19 changes: 19 additions & 0 deletions showcase/src/index.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

html, body, #root {
height: 100%;
}

body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(128,128,128,0.4); border-radius: 3px; }
13 changes: 13 additions & 0 deletions showcase/src/main.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import { BrowserRouter } from 'react-router-dom'
import App from './App'
import './index.css'

ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>
)
Loading