Fixed scene duration getting lost during edit.

This commit is contained in:
DebaucheryLibrarian 2025-11-02 18:19:21 +01:00
parent 9c99e464aa
commit aad922ac30
2 changed files with 9 additions and 8 deletions

View File

@ -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,
},

2
static

@ -1 +1 @@
Subproject commit 1fc67541d5b45b0e20d27cd366a01f9a83e444cc
Subproject commit 7a1984e194a90987e906dabbec26ada28a400a3c