diff --git a/pages/scene/edit/+Page.vue b/pages/scene/edit/+Page.vue index 50e7f40..c32f228 100644 --- a/pages/scene/edit/+Page.vue +++ b/pages/scene/edit/+Page.vue @@ -282,6 +282,7 @@ const fields = computed(() => [ key: 'duration', type: 'duration', value: [Math.floor(scene.value.duration / 3600), Math.floor((scene.value.duration % 3600) / 60), scene.value.duration % 60], + simplify: false, }, { key: 'productionDate', @@ -304,16 +305,16 @@ const fields = computed(() => [ }]), ]); -function simplifyArray(value) { - if (Array.isArray(value)) { - return value.map((item) => item.hash || item.id); +function simplifyArray(field) { + if (Array.isArray(field.value) && field.simplify !== false) { + return field.value.map((item) => item.hash || item.id); } - return value; + return field.value; } const editing = ref(new Set()); -const edits = ref(Object.fromEntries(fields.value.map((field) => [field.key, simplifyArray(field.value)]))); +const edits = ref(Object.fromEntries(fields.value.map((field) => [field.key, simplifyArray(field)]))); const comment = ref(null); const apply = ref(user.role !== 'user'); const submitted = ref(false); @@ -332,7 +333,6 @@ const keyMap = { function toggleField(item) { if (editing.value.has(item.key)) { editing.value.delete(item.key); - // delete edits.value[item.key]; return; } @@ -358,7 +358,8 @@ async function submit() { return [[key, edits.value[key]]]; })), - duration: edits.value.duration + // duration: edits.value.duration + duration: editing.value.has('duration') && edits.value.duration ? (((edits.value.duration[0] || 0) * 3600) + ((edits.value.duration[1] || 0) * 60) + (edits.value.duration[2] || 0)) || null : undefined, }, diff --git a/static b/static index 1fc6754..7a1984e 160000 --- a/static +++ b/static @@ -1 +1 @@ -Subproject commit 1fc67541d5b45b0e20d27cd366a01f9a83e444cc +Subproject commit 7a1984e194a90987e906dabbec26ada28a400a3c