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