fix: load Sidebar with ssr:false — zero server-rendered content

The sidebar now uses next/dynamic with ssr:false, meaning it renders
NOTHING in the server HTML. No DOM content = no possible flash of
"Ci" or any text during SSR-to-hydration gap. The sidebar only mounts
on the client where localStorage is immediately available, so
collapsed state is correct from the very first render.
This commit is contained in:
Usman Baig
2026-03-18 19:42:14 +01:00
parent a63dfa231e
commit 7ed04fb85c
2 changed files with 15 additions and 22 deletions

View File

@@ -1,9 +1,12 @@
'use client'
import { useState, useCallback } from 'react'
import Sidebar from './Sidebar'
import dynamic from 'next/dynamic'
import ContentHeader from './ContentHeader'
// Load sidebar only on the client — prevents any SSR flash of text/labels
const Sidebar = dynamic(() => import('./Sidebar'), { ssr: false })
export default function DashboardShell({
siteId,
children,