Skip to content

Commit b2b1c3a

Browse files
aksOpsclaude
andcommitted
fix: UI polish + EXTERNAL node kind + horizontal nav
- Added EXTERNAL to NodeKind enum (stub nodes for cross-repo references) - Updated enum count tests (32 → 33) - Layout: horizontal top navigation (was vertical sidebar) - Font size: 14px (was 13px compact), removed compact algorithm - Dashboard: stats-only cards with click-to-expand modal breakdown (removed all charts from dashboard — clean stats view) - Codebase Map: full-height treemap with ECharts built-in breadcrumb navigation, nested directory drill-down, language color coding - Premium theme: deep indigo palette, refined dark mode backgrounds Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1e20619 commit b2b1c3a

7 files changed

Lines changed: 334 additions & 256 deletions

File tree

Lines changed: 27 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { useState } from 'react';
21
import { Outlet, useNavigate, useLocation } from 'react-router-dom';
3-
import { Layout, Menu, Switch, Typography } from 'antd';
2+
import { Layout, Menu, Switch, Typography, Space } from 'antd';
43
import {
54
DashboardOutlined,
65
AppstoreOutlined,
@@ -11,7 +10,7 @@ import {
1110
} from '@ant-design/icons';
1211
import { useTheme } from '@/context/ThemeContext';
1312

14-
const { Header, Sider, Content } = Layout;
13+
const { Header, Content } = Layout;
1514

1615
const menuItems = [
1716
{ key: '/', icon: <DashboardOutlined />, label: 'Dashboard' },
@@ -21,7 +20,6 @@ const menuItems = [
2120
];
2221

2322
export default function AppLayout() {
24-
const [collapsed, setCollapsed] = useState(false);
2523
const navigate = useNavigate();
2624
const location = useLocation();
2725
const { isDark, toggle } = useTheme();
@@ -32,50 +30,43 @@ export default function AppLayout() {
3230

3331
return (
3432
<Layout style={{ minHeight: '100vh' }}>
35-
<Sider
36-
collapsible
37-
collapsed={collapsed}
38-
onCollapse={setCollapsed}
39-
breakpoint="lg"
40-
style={{ overflow: 'auto', height: '100vh', position: 'fixed', left: 0, top: 0, bottom: 0 }}
33+
<Header
34+
style={{
35+
padding: '0 24px',
36+
display: 'flex',
37+
alignItems: 'center',
38+
gap: 0,
39+
position: 'sticky',
40+
top: 0,
41+
zIndex: 100,
42+
borderBottom: isDark ? '1px solid #2d2d4a' : '1px solid #f0f0f0',
43+
}}
4144
>
42-
<div style={{ padding: collapsed ? '16px 8px' : '16px', textAlign: 'center' }}>
43-
<Typography.Title
44-
level={4}
45-
style={{ color: '#1677ff', margin: 0, whiteSpace: 'nowrap' }}
46-
>
47-
{collapsed ? 'IQ' : 'Code IQ'}
48-
</Typography.Title>
49-
</div>
45+
<Typography.Title
46+
level={4}
47+
style={{ color: '#4f46e5', margin: '0 24px 0 0', whiteSpace: 'nowrap', lineHeight: '64px' }}
48+
>
49+
Code IQ
50+
</Typography.Title>
5051
<Menu
51-
theme="dark"
52-
mode="inline"
52+
mode="horizontal"
5353
selectedKeys={[selectedKey]}
5454
items={menuItems}
5555
onClick={({ key }) => navigate(key)}
56+
style={{ flex: 1, border: 'none', background: 'transparent' }}
5657
/>
57-
</Sider>
58-
<Layout style={{ marginLeft: collapsed ? 80 : 200, transition: 'margin-left 0.2s' }}>
59-
<Header
60-
style={{
61-
padding: '0 24px',
62-
display: 'flex',
63-
alignItems: 'center',
64-
justifyContent: 'flex-end',
65-
background: 'transparent',
66-
}}
67-
>
58+
<Space>
6859
<Switch
6960
checked={isDark}
7061
onChange={toggle}
7162
checkedChildren={<MoonOutlined />}
7263
unCheckedChildren={<SunOutlined />}
7364
/>
74-
</Header>
75-
<Content style={{ margin: '0 16px 16px', overflow: 'auto' }}>
76-
<Outlet />
77-
</Content>
78-
</Layout>
65+
</Space>
66+
</Header>
67+
<Content style={{ padding: '16px 24px', overflow: 'auto' }}>
68+
<Outlet />
69+
</Content>
7970
</Layout>
8071
);
8172
}

src/main/frontend/src/main.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ function ThemedApp() {
1111
return (
1212
<ConfigProvider theme={{
1313
algorithm: isDark
14-
? [theme.darkAlgorithm, theme.compactAlgorithm]
15-
: [theme.defaultAlgorithm, theme.compactAlgorithm],
14+
? [theme.darkAlgorithm]
15+
: [theme.defaultAlgorithm],
1616
token: {
1717
// Premium deep indigo palette
1818
colorPrimary: '#4f46e5',
@@ -22,7 +22,7 @@ function ThemedApp() {
2222
colorInfo: '#6366f1',
2323
// Typography
2424
fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
25-
fontSize: 13,
25+
fontSize: 14,
2626
// Refined spacing
2727
borderRadius: 6,
2828
wireframe: false,

0 commit comments

Comments
 (0)