diff --git a/src/components/AppShell.tsx b/src/components/AppShell.tsx
index dacb5d09..e6fa6374 100644
--- a/src/components/AppShell.tsx
+++ b/src/components/AppShell.tsx
@@ -1,5 +1,6 @@
import { useCallback, useContext, useEffect, useRef, useState } from 'react'
import { cn } from '@/lib/utils'
+import { useIsMobile } from '@/hooks/use-mobile'
import { Outlet, Link, useLocation, useNavigate } from 'react-router'
import {
CanAccess,
@@ -443,7 +444,7 @@ function AppSidebar() {
- {/* Footer links — hidden when collapsed */}
+ {/* Footer links + version — hidden when collapsed */}
{!collapsed && (
{FOOTER_LINKS.map(({ label, href }) => (
@@ -455,18 +456,13 @@ function AppSidebar() {
{label}
))}
-
- )}
-
-
-
- {!collapsed && (
-
-
+
v{pkg.version}
)}
+
+
)
@@ -594,6 +590,7 @@ function getBrowser(): string {
function SupportPanel() {
const { isOpen, close } = useContext(SupportPanelContext)
+ const isMobile = useIsMobile()
const { data: user } = useGetIdentity<{ name: string; email: string }>()
const location = useLocation()
@@ -722,23 +719,12 @@ function SupportPanel() {
const pageUrl = location.pathname
- return (
+ const panelBody = (
- {/* Drag handle */}
-
-
-
{/* Panel header */}
@@ -1017,6 +1003,36 @@ function SupportPanel() {
)}
+ )
+
+ if (isMobile) {
+ if (!isOpen) return null
+
+ return (
+
+ {panelBody}
+
+ )
+ }
+
+ return (
+
)
}
@@ -1146,14 +1162,14 @@ function ShellHeader() {
- {/* Search bar — hidden on mobile, visible sm+ */}
-
+ {/* Search bar — hidden on mobile, visible tablet+ */}
+
{/* Mobile search icon */}