From 905b962e0b0871c9a08102cb3b14fa5f15653cf5 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 7 Apr 2024 00:16:42 +0800 Subject: [PATCH] chore: add favicon provider to workspace setting section --- .../components/setting/WorkspaceSection.tsx | 48 ++++++++++++++----- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/frontend/web/src/components/setting/WorkspaceSection.tsx b/frontend/web/src/components/setting/WorkspaceSection.tsx index 4b02f0d..5b699ca 100644 --- a/frontend/web/src/components/setting/WorkspaceSection.tsx +++ b/frontend/web/src/components/setting/WorkspaceSection.tsx @@ -1,4 +1,4 @@ -import { Button, Checkbox, Input, Select, Textarea, Option } from "@mui/joy"; +import { Button, Input, Select, Textarea, Option, Switch } from "@mui/joy"; import { isEqual } from "lodash-es"; import { useRef, useState } from "react"; import toast from "react-hot-toast"; @@ -8,7 +8,7 @@ import useWorkspaceStore from "@/stores/v1/workspace"; import { Visibility } from "@/types/proto/api/v1/common"; import { WorkspaceSetting } from "@/types/proto/api/v1/workspace_service"; -const WorkspaceSection: React.FC = () => { +const WorkspaceSection = () => { const { t } = useTranslation(); const workspaceStore = useWorkspaceStore(); const [workspaceSetting, setWorkspaceSetting] = useState(workspaceStore.setting); @@ -29,6 +29,13 @@ const WorkspaceSection: React.FC = () => { }); }; + const handleFaviconProvierChange = async (value: string) => { + setWorkspaceSetting({ + ...workspaceSetting, + faviconProvider: value, + }); + }; + const handleCustomStyleChange = async (value: string) => { setWorkspaceSetting({ ...workspaceSetting, @@ -57,6 +64,9 @@ const WorkspaceSection: React.FC = () => { if (!isEqual(originalWorkspaceSetting.current.defaultVisibility, workspaceSetting.defaultVisibility)) { updateMask.push("default_visibility"); } + if (!isEqual(originalWorkspaceSetting.current.faviconProvider, workspaceSetting.faviconProvider)) { + updateMask.push("favicon_provider"); + } if (updateMask.length === 0) { toast.error("No changes made"); return; @@ -83,7 +93,7 @@ const WorkspaceSection: React.FC = () => {

{t("settings.workspace.self")}

-

Instance URL

+

Instance URL

{ />
-

{t("settings.workspace.custom-style")}

+

Favicon Provider

+ handleFaviconProvierChange(event.target.value)} + /> +
+
+

{t("settings.workspace.custom-style")}