From c6fdff20e8ccec40db952b20f3f851c33eea3ac2 Mon Sep 17 00:00:00 2001 From: baiyanyun Date: Thu, 4 Jun 2026 23:08:41 +0800 Subject: [PATCH] fix(client): show embedded digital employee directly --- .../public/sgrobot-digital/index.html | 6 ++ .../components/pages/OverviewPage.tsx | 90 ++----------------- .../styles/components/OverviewPage.module.css | 22 ----- 3 files changed, 11 insertions(+), 107 deletions(-) diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/index.html b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/index.html index d2381704..aac6e4d7 100644 --- a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/index.html +++ b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/index.html @@ -8,6 +8,12 @@ sgRobot diff --git a/qimingclaw/crates/agent-electron-client/src/renderer/components/pages/OverviewPage.tsx b/qimingclaw/crates/agent-electron-client/src/renderer/components/pages/OverviewPage.tsx index c7fa8627..a6139e53 100644 --- a/qimingclaw/crates/agent-electron-client/src/renderer/components/pages/OverviewPage.tsx +++ b/qimingclaw/crates/agent-electron-client/src/renderer/components/pages/OverviewPage.tsx @@ -1,39 +1,18 @@ import React, { - useCallback, useEffect, useMemo, useRef, useState, } from "react"; -import { Alert, Button, Input, message } from "antd"; -import { ReloadOutlined, SaveOutlined } from "@ant-design/icons"; +import { Alert } from "antd"; import { APP_DISPLAY_NAME } from "@shared/constants"; import { t } from "../../services/core/i18n"; import styles from "../../styles/components/OverviewPage.module.css"; -const OVERVIEW_URL_SETTING_KEY = "overview.digital_employee_url"; const DEFAULT_OVERVIEW_URL = "sgrobot-digital/index.html#/digital"; -function normalizeOverviewUrl(value: string): string { - const trimmed = value.trim(); - if (!trimmed) return DEFAULT_OVERVIEW_URL; - const url = new URL(trimmed, window.location.href); - const legacySgRobotEndpoint = - (url.hostname === "localhost" && url.port === "5173") || - (url.hostname === "127.0.0.1" && url.port === "42617"); - if (legacySgRobotEndpoint && url.pathname === "/_app/digital") { - return DEFAULT_OVERVIEW_URL; - } - if (!["http:", "https:", "file:"].includes(url.protocol)) { - throw new Error("Unsupported protocol"); - } - return trimmed; -} - function OverviewPage() { const webviewRef = useRef(null); - const [url, setUrl] = useState(DEFAULT_OVERVIEW_URL); - const [draftUrl, setDraftUrl] = useState(DEFAULT_OVERVIEW_URL); const [error, setError] = useState(null); const [userAgent, setUserAgent] = useState(); @@ -46,22 +25,6 @@ function OverviewPage() { .catch(() => {}); }, []); - useEffect(() => { - let mounted = true; - window.electronAPI?.settings - .get(OVERVIEW_URL_SETTING_KEY) - .then((saved) => { - if (!mounted || typeof saved !== "string" || !saved.trim()) return; - const normalized = normalizeOverviewUrl(saved); - setUrl(normalized); - setDraftUrl(normalized); - }) - .catch(() => {}); - return () => { - mounted = false; - }; - }, []); - useEffect(() => { const el = webviewRef.current as any; if (!el) return; @@ -85,58 +48,15 @@ function OverviewPage() { el.removeEventListener("did-start-loading", handleStartLoading); el.removeEventListener("did-fail-load", handleFailLoad); }; - }, [url]); - - const canSave = useMemo(() => draftUrl.trim() !== url, [draftUrl, url]); - const webviewUrl = useMemo( - () => new URL(url, window.location.href).toString(), - [url], - ); - - const handleReload = useCallback(() => { - setError(null); - (webviewRef.current as any)?.reload?.(); }, []); - const handleSave = useCallback(async () => { - try { - const normalized = normalizeOverviewUrl(draftUrl); - await window.electronAPI?.settings.set( - OVERVIEW_URL_SETTING_KEY, - normalized, - ); - setUrl(normalized); - setDraftUrl(normalized); - setError(null); - message.success(t("Claw.Overview.urlSaved")); - } catch { - message.error(t("Claw.Overview.invalidUrl")); - } - }, [draftUrl]); + const webviewUrl = useMemo( + () => new URL(DEFAULT_OVERVIEW_URL, window.location.href).toString(), + [], + ); return (
-
- {t("Claw.Overview.title")} - setDraftUrl(e.target.value)} - onPressEnter={handleSave} - /> - - -
{error && (