openhands / src /hooks /use-app-title.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
63522a5 verified
Raw History Blame Contribute Delete
1.08 kB
import { useParams } from "react-router";
import { useUserConversation } from "#/hooks/query/use-user-conversation";
import { useConversationStateStore } from "#/stores/conversation-state-store";
import { getAgentStateEmoji } from "#/utils/agent-state-emoji";
const APP_TITLE = "OpenHands";
export const useAppTitle = () => {
const { conversationId } = useParams<{ conversationId: string }>();
const { data: conversation } = useUserConversation(conversationId ?? null);
const liveExecutionStatus = useConversationStateStore((state) =>
conversationId
? (state.executionStatusByConversation[conversationId] ?? null)
: null,
);
const conversationTitle = conversation?.title;
const baseTitle =
conversationId && conversationTitle
? `${conversationTitle} | ${APP_TITLE}`
: APP_TITLE;
if (!conversationId) {
return baseTitle;
}
const executionStatus =
liveExecutionStatus ?? conversation?.execution_status ?? null;
const emoji = getAgentStateEmoji(executionStatus);
return emoji ? `${emoji} ${baseTitle}` : baseTitle;
};