11/**
22 * Shared loading skeleton for pentest routes. Mirrors the SplitView shell
3- * one-to-one (full-bleed, 340px sidebar + main pane on desktop ) so a hard
3+ * one-to-one (full-bleed, 340px sidebar + main pane at xl+ ) so a hard
44 * refresh transitions into the live page without a CLS jump.
55 *
6- * On mobile (<md) only ONE pane is rendered, picked by `variant` to match
7- * the route the user is hard-refreshing on:
6+ * Below xl (1280px) — phone, tablet, narrow laptop — only ONE pane is
7+ * rendered, picked by `variant` to match the route the user is
8+ * hard-refreshing on:
89 * - 'list' — only the sidebar shape
910 * - 'detail' — only the main pane shape
1011 * - 'create' — only the main pane shape
1112 *
12- * Desktop always shows both. Pure JSX, no hooks — safe to consume from
13+ * xl+ always shows both. Pure JSX, no hooks — safe to consume from
1314 * server-component `loading.tsx` files.
1415 */
1516type Variant = 'list' | 'detail' | 'create' ;
@@ -28,8 +29,8 @@ export function LoadingShell({ variant, mainPane }: LoadingShellProps) {
2829 < div className = "flex h-[calc(100vh-4rem)] min-h-0 -m-4 md:-m-6" >
2930 < aside
3031 className = { [
31- 'flex h-full min-h-0 w-full md :w-[340px] md :shrink-0 flex-col border-r border-border bg-background' ,
32- showSidebarMobile ? 'flex' : 'hidden md :flex' ,
32+ 'flex h-full min-h-0 w-full xl :w-[340px] xl :shrink-0 flex-col border-r border-border bg-background' ,
33+ showSidebarMobile ? 'flex' : 'hidden xl :flex' ,
3334 ] . join ( ' ' ) }
3435 aria-hidden
3536 >
@@ -59,16 +60,16 @@ export function LoadingShell({ variant, mainPane }: LoadingShellProps) {
5960 < main
6061 className = { [
6162 'min-w-0 flex-1 flex-col' ,
62- showMainMobile ? 'flex' : 'hidden md :flex' ,
63+ showMainMobile ? 'flex' : 'hidden xl :flex' ,
6364 ] . join ( ' ' ) }
6465 >
65- { /* Mobile-only back- bar skeleton on non-list routes. Matches the
66- "← Scans" bar that SplitView renders on detail/create URLs
67- below md — without this placeholder, resolving the page
68- shifts the main content down ~33px when the real bar mounts. */ }
66+ { /* Back- bar skeleton on non-list routes. Matches the "← Scans"
67+ bar SplitView renders on detail/create URLs below xl —
68+ without this placeholder, resolving the page shifts the
69+ main content down ~33px when the real bar mounts. */ }
6970 { variant !== 'list' && (
7071 < div
71- className = "md :hidden flex items-center border-b border-border bg-background px-3 py-2"
72+ className = "xl :hidden flex items-center border-b border-border bg-background px-3 py-2"
7273 aria-hidden
7374 >
7475 < div className = "h-4 w-16 rounded bg-muted animate-pulse" />
0 commit comments