Download src/hooks/use-app-title.ts from SaylorTwift/openhands: direct link, hf CLI and curl.
- Browser
- Download file 1.08 kB
-
https://huggingface.co/SaylorTwift/openhands/resolve/main/src/hooks/use-app-title.ts
- Command line
-
hf download hf://SaylorTwift/openhands/src/hooks/use-app-title.ts
-
curl -L -o use-app-title.ts https://huggingface.co/SaylorTwift/openhands/resolve/main/src/hooks/use-app-title.ts
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; | |
| }; | |