|
|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
import type { FC } from "react";
|
|
|
|
|
import { Button } from "@/components/ui/button";
|
|
|
|
|
import { useTranslate } from "@/utils/i18n";
|
|
|
|
|
import { validationService } from "../services";
|
|
|
|
|
import { useEditorContext } from "../state";
|
|
|
|
|
import InsertMenu from "../Toolbar/InsertMenu";
|
|
|
|
|
@ -7,6 +8,7 @@ import VisibilitySelector from "../Toolbar/VisibilitySelector";
|
|
|
|
|
import type { EditorToolbarProps } from "../types";
|
|
|
|
|
|
|
|
|
|
export const EditorToolbar: FC<EditorToolbarProps> = ({ onSave, onCancel, memoName }) => {
|
|
|
|
|
const t = useTranslate();
|
|
|
|
|
const { state, actions, dispatch } = useEditorContext();
|
|
|
|
|
const { valid } = validationService.canSave(state);
|
|
|
|
|
|
|
|
|
|
@ -41,12 +43,12 @@ export const EditorToolbar: FC<EditorToolbarProps> = ({ onSave, onCancel, memoNa
|
|
|
|
|
|
|
|
|
|
{onCancel && (
|
|
|
|
|
<Button variant="ghost" onClick={onCancel} disabled={isSaving}>
|
|
|
|
|
Cancel
|
|
|
|
|
{t("common.cancel")}
|
|
|
|
|
</Button>
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
<Button onClick={onSave} disabled={!valid || isSaving}>
|
|
|
|
|
{isSaving ? "Saving..." : "Save"}
|
|
|
|
|
{isSaving ? t("editor.saving") : t("editor.save")}
|
|
|
|
|
</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|