d000b06748
- Mobile (<md): single-panel view, sidebar/chat/members as overlays - Hamburger button toggles sidebar overlay (ServerBar + ChannelList) - Members button toggles MemberList overlay - ← back button in ChatArea and DMChat headers returns to sidebar - Auto-switch to chat view when channel or DM is selected - Tap empty area to dismiss overlays - Desktop layout unchanged (all panels side by side) - Status/settings buttons hidden on small screens to save space
18 lines
443 B
TypeScript
18 lines
443 B
TypeScript
import { create } from 'zustand';
|
|
|
|
export type MobileView = 'sidebar' | 'chat' | 'members';
|
|
|
|
interface LayoutState {
|
|
isDM: boolean;
|
|
setDM: (value: boolean) => void;
|
|
mobileView: MobileView;
|
|
setMobileView: (view: MobileView) => void;
|
|
}
|
|
|
|
export const useLayoutStore = create<LayoutState>((set) => ({
|
|
isDM: false,
|
|
setDM: (value) => set({ isDM: value }),
|
|
mobileView: 'chat',
|
|
setMobileView: (view) => set({ mobileView: view }),
|
|
}));
|