diff --git a/app/(app)/settings/page.tsx b/app/(app)/settings/page.tsx
index 3a72c8a..0c55105 100644
--- a/app/(app)/settings/page.tsx
+++ b/app/(app)/settings/page.tsx
@@ -7,6 +7,7 @@ import { auth } from "@/auth";
import { redirect } from "next/navigation";
import { SettingsView } from "@/components/settings/SettingsView";
import AppFooter from "@/components/layout/AppFooter";
+import { AppHeader } from "@/components/layout/AppHeader";
/** Renders the settings page layout with session validation. */
export default async function SettingsPage() {
@@ -17,7 +18,9 @@ export default async function SettingsPage() {
}
return (
-
+
diff --git a/components/layout/AppHeader.tsx b/components/layout/AppHeader.tsx
index 0f3d999..79a911c 100644
--- a/components/layout/AppHeader.tsx
+++ b/components/layout/AppHeader.tsx
@@ -6,7 +6,13 @@
"use client";
import { useSidebarStore } from "@/lib/stores/useSidebarStore";
-import { PanelLeftOpen, PanelLeftClose, Users, Hash } from "lucide-react";
+import {
+ PanelLeftOpen,
+ PanelLeftClose,
+ Users,
+ Hash,
+ Settings,
+} from "lucide-react";
import { ServerSettingsMenu } from "./ServerSettingsMenu";
import { FriendsHeader, TabType } from "@/components/friends/FriendsHeader";
@@ -22,6 +28,7 @@ import { FriendsHeader, TabType } from "@/components/friends/FriendsHeader";
* @property {(tab: TabType) => void} [setActiveTab] - Callback function to update the active friends tab.
* @property {number} [allCount=0] - The total number of friends.
* @property {number} [pendingCount=0] - The number of pending friend requests.
+ * @property {boolean} [isSettings=false] - Whether the header is rendered in the settings view.
*/
interface AppHeaderProps {
title?: string;
@@ -35,21 +42,11 @@ interface AppHeaderProps {
setActiveTab?: (tab: TabType) => void;
allCount?: number;
pendingCount?: number;
+ isSettings?: boolean;
}
/**
* Renders the application header with navigation controls, dynamic titles, tabs, and action buttons.
- *
- * @param {AppHeaderProps} props - The component props.
- * @param {string} [props.title] - The title of the current channel or view.
- * @param {boolean} [props.showMembersButton=false] - Whether to show the members list toggle button.
- * @param {{ id: string; name: string }} [props.server] - Optional server details object.
- * @param {boolean} [props.showFriendsTabs=false] - Whether to display the friends tabs.
- * @param {TabType} [props.activeTab] - The active friends tab.
- * @param {(tab: TabType) => void} [props.setActiveTab] - Function to change the active friends tab.
- * @param {number} [props.allCount=0] - Count of all friends.
- * @param {number} [props.pendingCount=0] - Count of pending friend requests.
- * @returns {JSX.Element} The rendered application header container.
*/
export function AppHeader({
title,
@@ -60,11 +57,17 @@ export function AppHeader({
setActiveTab,
allCount = 0,
pendingCount = 0,
+ isSettings = false,
}: AppHeaderProps) {
const { isNavOpen, toggleNav, toggleMembers } = useSidebarStore();
const hasContent =
- !isNavOpen || !!title || showMembersButton || !!server || showFriendsTabs;
+ !isNavOpen ||
+ !!title ||
+ showMembersButton ||
+ !!server ||
+ showFriendsTabs ||
+ isSettings;
return (
- {/* Toggle button for navigation */}
+ {/* Toggle button for navigation (auch in Settings sichtbar, wenn eingeklappt) */}