Minimal history handler, handle node move. Auto parse JSON content for accurate typing.

This commit is contained in:
2025-01-09 16:41:36 +01:00
parent b1a9eb859e
commit 62950be032
6 changed files with 315 additions and 102 deletions

View File

@@ -186,7 +186,7 @@
</SplitterGroup>
</template>
<template v-else-if="selected.type === 'canvas'">
<CanvasEditor :canvas="JSON.parse(selected.content ?? '{}')" />
<CanvasEditor v-if="selected.content" :modelValue="selected.content" />
</template>
<template v-else-if="selected.type === 'map'">
<span class="flex flex-1 justify-center items-center"><ProseH3>Editeur de carte en cours de développement</ProseH3></span>
@@ -206,8 +206,8 @@
<script setup lang="ts">
import { Icon } from '@iconify/vue/dist/iconify.js';
import type { Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/dist/types/tree-item';
import { parsePath } from '#shared/general.utils';
import type { ExploreContent, FileType, MarkdownContent, TreeItem } from '~/types/content';
import { convertContent, parsePath } from '#shared/general.utils';
import type { CanvasContent, ExploreContent, FileType, TreeItem } from '~/types/content';
import { iconByType } from '#shared/general.utils';
import FakeA from '~/components/prose/FakeA.vue';
@@ -247,7 +247,7 @@ watch(selected, async (value, old) => {
if(storedEdit)
{
selected.value.content = storedEdit;
selected.value.content = convertContent(selected.value.type, storedEdit);
contentStatus.value = 'success';
}
else