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;