diff --git a/web/src/components/Layout.tsx b/web/src/components/Layout.tsx
index 5dd0d25..5e16f7e 100644
--- a/web/src/components/Layout.tsx
+++ b/web/src/components/Layout.tsx
@@ -34,12 +34,10 @@ export function Layout() {
const updateProfile = useAuthStore((state) => state.updateProfile);
const wsConnect = useWebSocketStore((s) => s.connect);
const wsDisconnect = useWebSocketStore((s) => s.disconnect);
- const setActiveServer = useServerStore((s) => s.setActiveServer);
const navigate = useNavigate();
const location = useLocation();
const [showStatusMenu, setShowStatusMenu] = useState(false);
const isDM = useLayoutStore((s) => s.isDM);
- const setDM = useLayoutStore((s) => s.setDM);
const [showServerSettings, setShowServerSettings] = useState(false);
const activeServerId = useServerStore((s) => s.activeServerId);
useEffect(() => {
@@ -118,34 +116,6 @@ export function Layout() {
-
-
-
-
{isDM ?
:
}
diff --git a/web/src/components/ServerBar.tsx b/web/src/components/ServerBar.tsx
index 96e25d6..121718e 100644
--- a/web/src/components/ServerBar.tsx
+++ b/web/src/components/ServerBar.tsx
@@ -1,13 +1,14 @@
-import { useEffect, useState } from 'react';
-import { useServerStore } from '../stores/server.ts';
-import { useChannelStore } from '../stores/channel.ts';
-import { useLayoutStore } from '../stores/layout.ts';
-import { CreateServerModal } from './CreateServerModal.tsx';
-import { JoinServerModal } from './JoinServerModal.tsx';
-import { ServerSettingsModal } from './ServerSettingsModal.tsx';
-import { InviteModal } from './InviteModal.tsx';
-import { useContextMenu } from './ContextMenu.tsx';
-import { api } from '../lib/api.ts';
+import { useEffect, useState } from "react";
+import { useNavigate } from "react-router-dom";
+import { useServerStore } from "../stores/server.ts";
+import { useChannelStore } from "../stores/channel.ts";
+import { useLayoutStore } from "../stores/layout.ts";
+import { CreateServerModal } from "./CreateServerModal.tsx";
+import { JoinServerModal } from "./JoinServerModal.tsx";
+import { ServerSettingsModal } from "./ServerSettingsModal.tsx";
+import { InviteModal } from "./InviteModal.tsx";
+import { useContextMenu } from "./ContextMenu.tsx";
+import { api } from "../lib/api.ts";
function getInitials(name: string): string {
const words = name.trim().split(/\s+/);
@@ -24,6 +25,7 @@ export function ServerBar() {
const setActiveServer = useServerStore((state) => state.setActiveServer);
const setActiveChannel = useChannelStore((state) => state.setActiveChannel);
const { isDM, setDM } = useLayoutStore();
+ const navigate = useNavigate();
const [showCreate, setShowCreate] = useState(false);
const [showJoin, setShowJoin] = useState(false);
const [settingsServerId, setSettingsServerId] = useState(null);
@@ -39,12 +41,14 @@ export function ServerBar() {
setActiveServer(id);
setActiveChannel(null);
setDM(false);
+ navigate('/');
};
const handleDM = () => {
setActiveServer(null);
setActiveChannel(null);
setDM(true);
+ navigate('/dm');
};
const handleServerContextMenu = (e: React.MouseEvent, server: { id: string; name: string }) => {