create editor canvas toolbar

This commit is contained in:
hamid zarghami
2026-05-06 11:17:35 +03:30
parent 1518e83c1d
commit e15dc76468
9 changed files with 353 additions and 9 deletions
@@ -64,6 +64,7 @@ const TextInstruction: FC = () => {
// اعمال تغییرات به صورت لایو
const newState = { ...formState, [field]: value };
setFormState(newState);
useEditorStore.getState().commitObjectHistoryBeforeChange();
updateObject(selectedObject.id, { [field]: value });
} else {
// text فقط برای حالت ویرایش است و نباید در defaults ذخیره شود
@@ -38,6 +38,7 @@ const AlignmentSettings = ({
// const alignToSelection = selectedObjectIds.length === 2;
const applyAlign = (kind: AlignKind) => {
useEditorStore.getState().commitObjectHistoryBeforeChange();
const { objects: objs, selectedObjectIds: ids, layerRef } = useEditorStore.getState();
const layer = layerRef?.current ?? null;
@@ -30,6 +30,7 @@ const MaskSettings = ({ objectId }: MaskSettingsProps) => {
);
const handleToggleMask = (checked: boolean) => {
useEditorStore.getState().commitObjectHistoryBeforeChange();
updateObject(objectId, {
isMask: checked,
showMaskGuide: checked ? true : undefined,
@@ -42,14 +43,17 @@ const MaskSettings = ({ objectId }: MaskSettingsProps) => {
};
const handleToggleGuide = (checked: boolean) => {
useEditorStore.getState().commitObjectHistoryBeforeChange();
updateObject(objectId, { showMaskGuide: checked });
};
const handleSelectMask = (maskId: string) => {
useEditorStore.getState().commitObjectHistoryBeforeChange();
updateObject(objectId, { maskId: maskId || undefined });
};
const handleToggleMaskInvert = (checked: boolean) => {
useEditorStore.getState().commitObjectHistoryBeforeChange();
updateObject(objectId, { maskInvert: checked });
};