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', key: 'duration',
type: 'duration', type: 'duration',
value: [Math.floor(scene.value.duration / 3600), Math.floor((scene.value.duration % 3600) / 60), scene.value.duration % 60], value: [Math.floor(scene.value.duration / 3600), Math.floor((scene.value.duration % 3600) / 60), scene.value.duration % 60],
simplify: false,
}, },
{ {
key: 'productionDate', key: 'productionDate',
@ -304,16 +305,16 @@ const fields = computed(() => [
}]), }]),
]); ]);
function simplifyArray(value) { function simplifyArray(field) {
if (Array.isArray(value)) { if (Array.isArray(field.value) && field.simplify !== false) {
return value.map((item) => item.hash || item.id); return field.value.map((item) => item.hash || item.id);
} }
return value; return field.value;
} }
const editing = ref(new Set()); 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 comment = ref(null);
const apply = ref(user.role !== 'user'); const apply = ref(user.role !== 'user');
const submitted = ref(false); const submitted = ref(false);
@ -332,7 +333,6 @@ const keyMap = {
function toggleField(item) { function toggleField(item) {
if (editing.value.has(item.key)) { if (editing.value.has(item.key)) {
editing.value.delete(item.key); editing.value.delete(item.key);
// delete edits.value[item.key];
return; return;
} }
@ -358,7 +358,8 @@ async function submit() {
return [[key, edits.value[key]]]; 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 ? (((edits.value.duration[0] || 0) * 3600) + ((edits.value.duration[1] || 0) * 60) + (edits.value.duration[2] || 0)) || null
: undefined, : undefined,
}, },

2
static

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