feat: mobile-responsive layout
- 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
This commit is contained in:
@@ -1,11 +1,17 @@
|
||||
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 }),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user