import { Button, Input, Switch } from "@mui/joy"; import { isEqual } from "lodash-es"; import { useState } from "react"; import { WorkspaceSettingPrefix, useWorkspaceSettingStore } from "@/store/v1"; import { WorkspaceMemoRelatedSetting } from "@/types/proto/api/v1/workspace_setting_service"; import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting"; import { useTranslate } from "@/utils/i18n"; const MemoRelatedSettings = () => { const t = useTranslate(); const workspaceSettingStore = useWorkspaceSettingStore(); const originalSetting = WorkspaceMemoRelatedSetting.fromPartial( workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.MEMO_RELATED)?.memoRelatedSetting || {}, ); const [memoRelatedSetting, setMemoRelatedSetting] = useState(originalSetting); const updatePartialSetting = (partial: Partial) => { const newWorkspaceMemoRelatedSetting = WorkspaceMemoRelatedSetting.fromPartial({ ...memoRelatedSetting, ...partial, }); setMemoRelatedSetting(newWorkspaceMemoRelatedSetting); }; const updateSetting = async () => { await workspaceSettingStore.setWorkspaceSetting({ name: `${WorkspaceSettingPrefix}${WorkspaceSettingKey.MEMO_RELATED}`, memoRelatedSetting, }); }; return (

Memo related settings

{t("setting.system-section.disable-public-memos")} updatePartialSetting({ disallowPublicVisible: event.target.checked })} />
{t("setting.system-section.display-with-updated-time")} updatePartialSetting({ displayWithUpdateTime: event.target.checked })} />
{t("setting.system-section.enable-auto-compact")} updatePartialSetting({ enableAutoCompact: event.target.checked })} />
Enable link preview updatePartialSetting({ enableLinkPreview: event.target.checked })} />
{t("setting.system-section.enable-double-click-to-edit")} updatePartialSetting({ enableDoubleClickEdit: event.target.checked })} />
Content length limit(Byte) updatePartialSetting({ contentLengthLimit: Number(event.target.value) })} />
); }; export default MemoRelatedSettings;