From d17148f3baa321f33e8cb1bd24b6f1fd8622568c Mon Sep 17 00:00:00 2001 From: xintaofei Date: Wed, 25 Mar 2026 23:29:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=20Web=20=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/commit/page.tsx | 8 ++++++++ src/app/folder/layout.tsx | 12 ++++++++++++ src/app/login/page.tsx | 6 +++++- src/app/merge/page.tsx | 8 ++++++++ src/app/push/page.tsx | 8 ++++++++ src/app/stash/page.tsx | 8 ++++++++ src/app/welcome/page.tsx | 8 ++++++++ src/components/settings/settings-shell.tsx | 6 +++++- 8 files changed, 62 insertions(+), 2 deletions(-) diff --git a/src/app/commit/page.tsx b/src/app/commit/page.tsx index 6b0bac2..93d6ba4 100644 --- a/src/app/commit/page.tsx +++ b/src/app/commit/page.tsx @@ -74,6 +74,14 @@ function CommitPageInner() { } }, [hasValidFolderId, normalizedFolderId]) + const pageTitle = folder + ? `${t("title")} · ${folder.name}` + : t("title") + + useEffect(() => { + document.title = `${pageTitle} - codeg` + }, [pageTitle]) + return (
{ + document.title = folder ? `${folder.name} - codeg` : "codeg" + }, [folder]) + + return null +} const TOAST_DURATION_MS = 15000 const WORKSPACE_PANEL_GROUP_ID = "workspace-panel-group" @@ -663,6 +674,7 @@ function FolderLayoutInner({ children }: { children: React.ReactNode }) { initialConversationId={conversationId ? Number(conversationId) : null} initialAgentType={agentType} > + diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index e4a8e91..a3c74b1 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -1,6 +1,6 @@ "use client" -import { useState } from "react" +import { useEffect, useState } from "react" import { useRouter } from "next/navigation" import { isDesktop } from "@/lib/platform" @@ -10,6 +10,10 @@ export default function LoginPage() { const [error, setError] = useState("") const [loading, setLoading] = useState(false) + useEffect(() => { + document.title = "Login - codeg" + }, []) + // Desktop users skip login entirely if (isDesktop()) { router.replace("/welcome") diff --git a/src/app/merge/page.tsx b/src/app/merge/page.tsx index cd24298..8568623 100644 --- a/src/app/merge/page.tsx +++ b/src/app/merge/page.tsx @@ -76,6 +76,14 @@ function MergePageInner() { } }, [hasValidFolderId, normalizedFolderId]) + const pageTitle = folder + ? `${t("title")} · ${folder.name}` + : t("title") + + useEffect(() => { + document.title = `${pageTitle} - codeg` + }, [pageTitle]) + return (
{ + document.title = `${pageTitle} - codeg` + }, [pageTitle]) + return (
{ + document.title = `${pageTitle} - codeg` + }, [pageTitle]) + return (
{ + document.title = `${t("title")} - codeg` + }, [t]) + return } diff --git a/src/components/settings/settings-shell.tsx b/src/components/settings/settings-shell.tsx index 5267350..947d954 100644 --- a/src/components/settings/settings-shell.tsx +++ b/src/components/settings/settings-shell.tsx @@ -1,6 +1,6 @@ "use client" -import { useCallback, type ComponentType, type ReactNode } from "react" +import { useCallback, useEffect, type ComponentType, type ReactNode } from "react" import { Bot, BookOpenText, @@ -99,6 +99,10 @@ export function SettingsShell({ children }: SettingsShellProps) { const router = useRouter() const normalizedPathname = normalizePath(pathname) + useEffect(() => { + document.title = `${t("title")} - codeg` + }, [t]) + const navigateTo = useCallback( (href: string) => { if (typeof window === "undefined") return