@prmichaelsen/acp-visualizer 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/Sidebar.tsx +4 -2
- package/src/routes/__root.tsx +11 -7
package/package.json
CHANGED
|
@@ -26,7 +26,7 @@ export function Sidebar({ projects = [], currentProject = null, onProjectSelect,
|
|
|
26
26
|
const location = useRouterState({ select: (s) => s.location })
|
|
27
27
|
|
|
28
28
|
return (
|
|
29
|
-
<nav className="w-56 h-full border-r border-gray-200 dark:border-gray-800 bg-gray-100 dark:bg-gray-950 flex flex-col shrink-0">
|
|
29
|
+
<nav className="w-full lg:w-56 h-auto max-h-[80vh] lg:h-full border-t lg:border-t-0 lg:border-r border-gray-200 dark:border-gray-800 bg-gray-100 dark:bg-gray-950 flex flex-col shrink-0 rounded-t-2xl lg:rounded-none overflow-hidden">
|
|
30
30
|
<div className="p-4 border-b border-gray-200 dark:border-gray-800 flex items-center justify-between">
|
|
31
31
|
<span className="text-sm font-semibold text-gray-700 dark:text-gray-300 tracking-wide">
|
|
32
32
|
ACP Visualizer
|
|
@@ -50,7 +50,7 @@ export function Sidebar({ projects = [], currentProject = null, onProjectSelect,
|
|
|
50
50
|
/>
|
|
51
51
|
</div>
|
|
52
52
|
)}
|
|
53
|
-
<div className="flex-1 py-2">
|
|
53
|
+
<div className="flex-1 py-2 overflow-y-auto">
|
|
54
54
|
{navItems.map((item) => {
|
|
55
55
|
const isActive =
|
|
56
56
|
item.to === '/'
|
|
@@ -66,6 +66,7 @@ export function Sidebar({ projects = [], currentProject = null, onProjectSelect,
|
|
|
66
66
|
? 'text-gray-900 dark:text-gray-100 bg-gray-200 dark:bg-gray-800/50'
|
|
67
67
|
: 'text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:bg-gray-200/50 dark:hover:bg-gray-800/30'
|
|
68
68
|
}`}
|
|
69
|
+
onClick={onClose}
|
|
69
70
|
>
|
|
70
71
|
<item.icon className="w-4 h-4" />
|
|
71
72
|
{item.label}
|
|
@@ -77,6 +78,7 @@ export function Sidebar({ projects = [], currentProject = null, onProjectSelect,
|
|
|
77
78
|
<Link
|
|
78
79
|
to="/search"
|
|
79
80
|
className="flex items-center gap-2 px-3 py-1.5 text-sm text-gray-600 dark:text-gray-500 bg-white dark:bg-gray-900 border border-gray-300 dark:border-gray-800 rounded-md hover:text-gray-900 dark:hover:text-gray-300 hover:border-gray-400 dark:hover:border-gray-600 transition-colors"
|
|
81
|
+
onClick={onClose}
|
|
80
82
|
>
|
|
81
83
|
<Search className="w-4 h-4" />
|
|
82
84
|
Search...
|
package/src/routes/__root.tsx
CHANGED
|
@@ -161,11 +161,15 @@ function RootLayout() {
|
|
|
161
161
|
<div className="flex h-screen bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100">
|
|
162
162
|
{/* Mobile Menu Button - Bottom Right (Thumb Zone) */}
|
|
163
163
|
<button
|
|
164
|
-
onClick={() => setMobileMenuOpen(
|
|
165
|
-
className="lg:hidden fixed bottom-6 right-6 z-50 p-3 rounded-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-lg"
|
|
166
|
-
aria-label="Open menu"
|
|
164
|
+
onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
|
|
165
|
+
className="lg:hidden fixed bottom-6 right-6 z-50 p-3 rounded-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-lg transition-transform duration-200"
|
|
166
|
+
aria-label={mobileMenuOpen ? "Close menu" : "Open menu"}
|
|
167
167
|
>
|
|
168
|
-
|
|
168
|
+
{mobileMenuOpen ? (
|
|
169
|
+
<X className="w-6 h-6 text-gray-900 dark:text-gray-100" />
|
|
170
|
+
) : (
|
|
171
|
+
<Menu className="w-6 h-6 text-gray-900 dark:text-gray-100" />
|
|
172
|
+
)}
|
|
169
173
|
</button>
|
|
170
174
|
|
|
171
175
|
{/* Mobile Backdrop */}
|
|
@@ -176,10 +180,10 @@ function RootLayout() {
|
|
|
176
180
|
/>
|
|
177
181
|
)}
|
|
178
182
|
|
|
179
|
-
{/* Sidebar - Desktop: Always visible | Mobile: Drawer */}
|
|
183
|
+
{/* Sidebar - Desktop: Always visible | Mobile: Bottom Drawer */}
|
|
180
184
|
<div
|
|
181
|
-
className={`fixed lg:relative inset-y-0
|
|
182
|
-
mobileMenuOpen ? 'translate-
|
|
185
|
+
className={`fixed lg:relative bottom-0 left-0 right-0 lg:inset-y-0 lg:right-auto z-50 transition-transform duration-300 lg:translate-y-0 ${
|
|
186
|
+
mobileMenuOpen ? 'translate-y-0' : 'translate-y-full'
|
|
183
187
|
}`}
|
|
184
188
|
>
|
|
185
189
|
<Sidebar
|