feat(ui): add canvas objects to metadata when saving canvas to gallery

This commit is contained in:
psychedelicious 2024-05-20 09:35:34 +10:00
parent a34faf0bd8
commit c94742bde6
2 changed files with 7 additions and 1 deletions

View File

@ -1,5 +1,6 @@
import { logger } from 'app/logging/logger'; import { logger } from 'app/logging/logger';
import type { AppStartListening } from 'app/store/middleware/listenerMiddleware'; import type { AppStartListening } from 'app/store/middleware/listenerMiddleware';
import { parseify } from 'common/util/serialize';
import { canvasSavedToGallery } from 'features/canvas/store/actions'; import { canvasSavedToGallery } from 'features/canvas/store/actions';
import { getBaseLayerBlob } from 'features/canvas/util/getBaseLayerBlob'; import { getBaseLayerBlob } from 'features/canvas/util/getBaseLayerBlob';
import { addToast } from 'features/system/store/systemSlice'; import { addToast } from 'features/system/store/systemSlice';
@ -43,6 +44,9 @@ export const addCanvasSavedToGalleryListener = (startAppListening: AppStartListe
type: 'TOAST', type: 'TOAST',
toastOptions: { title: t('toast.canvasSavedGallery') }, toastOptions: { title: t('toast.canvasSavedGallery') },
}, },
metadata: {
_canvas_objects: parseify(state.canvas.layerState.objects),
},
}) })
); );
}, },

View File

@ -571,11 +571,13 @@ export const imagesApi = api.injectEndpoints({
session_id?: string; session_id?: string;
board_id?: string; board_id?: string;
crop_visible?: boolean; crop_visible?: boolean;
metadata?: JSONObject;
} }
>({ >({
query: ({ file, image_category, is_intermediate, session_id, board_id, crop_visible }) => { query: ({ file, image_category, is_intermediate, session_id, board_id, crop_visible, metadata }) => {
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
formData.append('metadata', JSON.stringify(metadata));
return { return {
url: buildImagesUrl('upload'), url: buildImagesUrl('upload'),
method: 'POST', method: 'POST',