From b3daa1ce88c8e95e254833ceb8c8537bf121c50d Mon Sep 17 00:00:00 2001 From: "Abdulmhsen B. A. A." Date: Mon, 1 Jul 2024 22:27:48 +0300 Subject: [PATCH] Fixed bug prevent adding new options if the backend.options is empty. --- frontend/pages/backend/[backend]/edit.vue | 15 +- frontend/pages/backend/[backend]/index.vue | 304 ++++++++++++--------- src/Libs/Traits/APITraits.php | 2 +- 3 files changed, 181 insertions(+), 140 deletions(-) diff --git a/frontend/pages/backend/[backend]/edit.vue b/frontend/pages/backend/[backend]/edit.vue index 84b5ae7d..ad9da6ce 100644 --- a/frontend/pages/backend/[backend]/edit.vue +++ b/frontend/pages/backend/[backend]/edit.vue @@ -360,12 +360,14 @@ useHead({title: 'Backends - Edit: ' + id}) const loadContent = async () => { const content = await request(`/backend/${id}`) - backend.value = await content.json() + let json = await content.json() - if (!backend.value?.options) { - backend.value.options = {} + if (!json?.options || typeof json.options !== 'object') { + json.options = {} } + backend.value = json; + if ('plex' === backend.value.type) { await getServers() } @@ -427,7 +429,12 @@ const addOption = async () => { } backend.value.options = backend.value.options || {} - backend.value.options[selectedOption.value] = '' + if (backend.value.options.length < 1) { + backend.value.options = {[selectedOption.value]: ''} + } else { + backend.value.options[selectedOption.value] = '' + } + newOptions.value[selectedOption.value] = true selectedOption.value = '' } diff --git a/frontend/pages/backend/[backend]/index.vue b/frontend/pages/backend/[backend]/index.vue index ef4846c5..cdd29c01 100644 --- a/frontend/pages/backend/[backend]/index.vue +++ b/frontend/pages/backend/[backend]/index.vue @@ -1,136 +1,157 @@ diff --git a/src/Libs/Traits/APITraits.php b/src/Libs/Traits/APITraits.php index 814a8189..97eef54d 100644 --- a/src/Libs/Traits/APITraits.php +++ b/src/Libs/Traits/APITraits.php @@ -81,7 +81,7 @@ trait APITraits ]; if (empty($backend['options'])) { - $backend['options'] = (object)[]; + $backend['options'] = []; } $backends[] = $backend;