mirror of
https://github.com/usememos/memos.git
synced 2025-02-22 06:07:51 +01:00
chore: update workspace setting section
This commit is contained in:
parent
a8ea28066e
commit
4e5810e205
@ -1,9 +1,9 @@
|
|||||||
import { Button, Select, Textarea, Option, Divider } from "@mui/joy";
|
import { Button, Select, Textarea, Option, Divider } from "@mui/joy";
|
||||||
|
import { isEqual } from "lodash-es";
|
||||||
import { ExternalLinkIcon } from "lucide-react";
|
import { ExternalLinkIcon } from "lucide-react";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { toast } from "react-hot-toast";
|
import { toast } from "react-hot-toast";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import { workspaceSettingServiceClient } from "@/grpcweb";
|
|
||||||
import { workspaceSettingNamePrefix, useWorkspaceSettingStore } from "@/store/v1";
|
import { workspaceSettingNamePrefix, useWorkspaceSettingStore } from "@/store/v1";
|
||||||
import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_setting_service";
|
import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_setting_service";
|
||||||
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
|
||||||
@ -13,9 +13,10 @@ import showUpdateCustomizedProfileDialog from "../UpdateCustomizedProfileDialog"
|
|||||||
const WorkspaceSection = () => {
|
const WorkspaceSection = () => {
|
||||||
const t = useTranslate();
|
const t = useTranslate();
|
||||||
const workspaceSettingStore = useWorkspaceSettingStore();
|
const workspaceSettingStore = useWorkspaceSettingStore();
|
||||||
const [workspaceGeneralSetting, setWorkspaceGeneralSetting] = useState<WorkspaceGeneralSetting>(
|
const originalSetting = WorkspaceGeneralSetting.fromPartial(
|
||||||
WorkspaceGeneralSetting.fromPartial(workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.GENERAL)?.generalSetting || {}),
|
workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.GENERAL)?.generalSetting || {},
|
||||||
);
|
);
|
||||||
|
const [workspaceGeneralSetting, setWorkspaceGeneralSetting] = useState<WorkspaceGeneralSetting>(originalSetting);
|
||||||
|
|
||||||
const handleUpdateCustomizedProfileButtonClick = () => {
|
const handleUpdateCustomizedProfileButtonClick = () => {
|
||||||
showUpdateCustomizedProfileDialog();
|
showUpdateCustomizedProfileDialog();
|
||||||
@ -35,11 +36,9 @@ const WorkspaceSection = () => {
|
|||||||
|
|
||||||
const handleSaveGeneralSetting = async () => {
|
const handleSaveGeneralSetting = async () => {
|
||||||
try {
|
try {
|
||||||
await workspaceSettingServiceClient.setWorkspaceSetting({
|
await workspaceSettingStore.setWorkspaceSetting({
|
||||||
setting: {
|
name: `${workspaceSettingNamePrefix}${WorkspaceSettingKey.GENERAL}`,
|
||||||
name: `${workspaceSettingNamePrefix}${WorkspaceSettingKey.GENERAL}`,
|
generalSetting: workspaceGeneralSetting,
|
||||||
generalSetting: workspaceGeneralSetting,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
toast.error(error.details);
|
toast.error(error.details);
|
||||||
@ -118,8 +117,8 @@ const WorkspaceSection = () => {
|
|||||||
<Option value={1}>Monday</Option>
|
<Option value={1}>Monday</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div className="mt-2 w-full flex justify-end">
|
||||||
<Button variant="outlined" color="neutral" onClick={handleSaveGeneralSetting}>
|
<Button disabled={isEqual(workspaceGeneralSetting, originalSetting)} onClick={handleSaveGeneralSetting}>
|
||||||
{t("common.save")}
|
{t("common.save")}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user