title management
This commit is contained in:
@@ -487,6 +487,24 @@ export default function App() {
|
|||||||
return "New search";
|
return "New search";
|
||||||
}, [draftKind, selectedChat, selectedChatSummary, selectedItem, selectedSearch, selectedSearchSummary]);
|
}, [draftKind, selectedChat, selectedChatSummary, selectedItem, selectedSearch, selectedSearchSummary]);
|
||||||
|
|
||||||
|
const pageTitle = useMemo(() => {
|
||||||
|
if (draftKind || !selectedItem) return "Sybil";
|
||||||
|
if (selectedItem.kind === "chat") {
|
||||||
|
if (selectedChat) return `${getChatTitle(selectedChat, selectedChat.messages)} — Sybil`;
|
||||||
|
if (selectedChatSummary) return `${getChatTitle(selectedChatSummary)} — Sybil`;
|
||||||
|
return "Sybil";
|
||||||
|
}
|
||||||
|
const searchQuery = selectedSearch?.query?.trim() || selectedSearchSummary?.query?.trim();
|
||||||
|
if (searchQuery) return `${searchQuery} — Sybil`;
|
||||||
|
if (selectedSearch) return `${getSearchTitle(selectedSearch)} — Sybil`;
|
||||||
|
if (selectedSearchSummary) return `${getSearchTitle(selectedSearchSummary)} — Sybil`;
|
||||||
|
return "Sybil";
|
||||||
|
}, [draftKind, selectedChat, selectedChatSummary, selectedItem, selectedSearch, selectedSearchSummary]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
document.title = pageTitle;
|
||||||
|
}, [pageTitle]);
|
||||||
|
|
||||||
const handleCreateChat = () => {
|
const handleCreateChat = () => {
|
||||||
setError(null);
|
setError(null);
|
||||||
setContextMenu(null);
|
setContextMenu(null);
|
||||||
|
|||||||
@@ -53,6 +53,16 @@ export default function SearchRoutePage() {
|
|||||||
return () => window.removeEventListener("popstate", onPopState);
|
return () => window.removeEventListener("popstate", onPopState);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
document.title = routeQuery ? `${routeQuery} — Sybil` : "Sybil";
|
||||||
|
}, [routeQuery]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
return () => {
|
||||||
|
document.title = "Sybil";
|
||||||
|
};
|
||||||
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
return () => {
|
return () => {
|
||||||
streamAbortRef.current?.abort();
|
streamAbortRef.current?.abort();
|
||||||
|
|||||||
Reference in New Issue
Block a user