Skip to content

Commit 86f4da7

Browse files
committed
fix: match layout to Databricks workspace design
Content panel is now a floating white card with rounded corners (8px), subtle border and shadow over a seamless #F7F7F7 background shared by header and sidebar. Removes hard separator lines. Closes #9 Co-authored-by: Isaac
1 parent 2e4d5bb commit 86f4da7

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

frontend/src/App.jsx

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import DebugPage from './components/debug/DebugPage'
1212
function TopBar({ onToggleSidebar }) {
1313
const navigate = useNavigate()
1414
return (
15-
<header className="h-[48px] min-h-[48px] w-full bg-[#F7F7F7] border-b border-[#EBEBEB] flex items-center justify-between px-3">
15+
<header className="h-[48px] min-h-[48px] w-full bg-[#F7F7F7] flex items-center justify-between px-3">
1616
<div className="flex items-center gap-1.5">
1717
<button
1818
onClick={onToggleSidebar}
@@ -39,26 +39,28 @@ function App() {
3939
const [sidebarOpen, setSidebarOpen] = useState(true)
4040

4141
return (
42-
<div className="flex flex-col h-screen bg-white">
42+
<div className="flex flex-col h-screen bg-[#F7F7F7]">
4343
<TopBar onToggleSidebar={() => setSidebarOpen(v => !v)} />
44-
<div className="flex flex-1 overflow-hidden">
44+
<div className="flex flex-1 min-h-0">
4545
<div
4646
className="flex-shrink-0 overflow-hidden transition-all duration-200"
4747
style={{ width: sidebarOpen ? 200 : 0 }}
4848
>
4949
<Sidebar />
5050
</div>
51-
<main className="flex-1 overflow-auto">
52-
<Routes>
53-
<Route path="/" element={<GatewayListPage />} />
54-
<Route path="/gateways/:id" element={<GatewayDetailPage />} />
55-
<Route path="/playground" element={<PlaygroundPage />} />
56-
<Route path="/playground/:id" element={<PlaygroundPage />} />
57-
<Route path="/settings" element={<SettingsPage />} />
58-
<Route path="/api-reference" element={<ApiReferencePage />} />
59-
<Route path="/debug" element={<DebugPage />} />
60-
<Route path="*" element={<Navigate to="/" replace />} />
61-
</Routes>
51+
<main className="flex-1 overflow-hidden rounded-lg bg-white border border-[#EBEBEB] mb-1 mr-1" style={{ boxShadow: 'rgba(0,0,0,0.05) 0px 2px 3px -1px, rgba(0,0,0,0.02) 0px 1px 0px 0px' }}>
52+
<div className="h-full overflow-auto">
53+
<Routes>
54+
<Route path="/" element={<GatewayListPage />} />
55+
<Route path="/gateways/:id" element={<GatewayDetailPage />} />
56+
<Route path="/playground" element={<PlaygroundPage />} />
57+
<Route path="/playground/:id" element={<PlaygroundPage />} />
58+
<Route path="/settings" element={<SettingsPage />} />
59+
<Route path="/api-reference" element={<ApiReferencePage />} />
60+
<Route path="/debug" element={<DebugPage />} />
61+
<Route path="*" element={<Navigate to="/" replace />} />
62+
</Routes>
63+
</div>
6264
</main>
6365
</div>
6466
</div>

frontend/src/components/layout/Sidebar.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function NavItem({ to, icon: Icon, label, end }) {
3636

3737
export default function Sidebar() {
3838
return (
39-
<aside className="w-[200px] bg-[#F7F7F7] border-r border-[#EBEBEB] flex flex-col p-2 h-full">
39+
<aside className="w-[200px] bg-[#F7F7F7] flex flex-col p-2 h-full">
4040
<nav className="flex flex-col gap-0.5 flex-1">
4141
{mainNavItems.map((item) => (
4242
<NavItem key={item.to} {...item} />

0 commit comments

Comments
 (0)