Spaces:
Build error
Build error
| import { useEffect } from "react"; | |
| import { useSelector, useDispatch } from "react-redux"; | |
| import { RootState } from "#/store"; | |
| import { BrowserSnapshot } from "./browser-snapshot"; | |
| import { EmptyBrowserMessage } from "./empty-browser-message"; | |
| import { useConversationId } from "#/hooks/use-conversation-id"; | |
| import { | |
| initialState as browserInitialState, | |
| setUrl, | |
| setScreenshotSrc, | |
| } from "#/state/browser-slice"; | |
| export function BrowserPanel() { | |
| const { url, screenshotSrc } = useSelector( | |
| (state: RootState) => state.browser, | |
| ); | |
| const { conversationId } = useConversationId(); | |
| const dispatch = useDispatch(); | |
| useEffect(() => { | |
| dispatch(setUrl(browserInitialState.url)); | |
| dispatch(setScreenshotSrc(browserInitialState.screenshotSrc)); | |
| }, [conversationId]); | |
| const imgSrc = | |
| screenshotSrc && screenshotSrc.startsWith("data:image/png;base64,") | |
| ? screenshotSrc | |
| : `data:image/png;base64,${screenshotSrc || ""}`; | |
| return ( | |
| <div className="h-full w-full flex flex-col text-neutral-400"> | |
| <div className="w-full p-2 truncate border-b border-neutral-600"> | |
| {url} | |
| </div> | |
| <div className="overflow-y-auto grow scrollbar-hide rounded-xl"> | |
| {screenshotSrc ? ( | |
| <BrowserSnapshot src={imgSrc} /> | |
| ) : ( | |
| <EmptyBrowserMessage /> | |
| )} | |
| </div> | |
| </div> | |
| ); | |
| } | |