File size: 1,083 Bytes
63522a5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 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;
};
|