Rework dashboard domain component to not depend on external domains list prop

This commit is contained in:
Johannes Zellner
2025-10-09 15:18:00 +02:00
parent 3547be3401
commit 63b51d2fca
2 changed files with 26 additions and 6 deletions
+22 -5
View File
@@ -8,12 +8,13 @@ import Section from '../components/Section.vue';
import SettingsItem from '../components/SettingsItem.vue';
import TasksModel from '../models/TasksModel.js';
import DashboardModel from '../models/DashboardModel.js';
import DomainsModel from '../models/DomainsModel.js';
const taskModel = TasksModel.create();
const dashboardModel = DashboardModel.create();
const domainsModel = DomainsModel.create();
const props = defineProps([ 'domains' ]);
const domains = ref([]);
const formError = ref('');
const originalDomain = ref('');
const newDomain = ref('');
@@ -81,16 +82,32 @@ async function onSubmit() {
await refreshTasks();
}
onMounted(async () => {
async function selectCurrentDomain(newDomains) {
domains.value = newDomains;
const [error, result] = await dashboardModel.config();
if (error) return console.error(error);
newDomain.value = (props.domains.find(d => d.domain === result.adminDomain) || props.domains[0]).domain;
originalDomain.value = (props.domains.find(d => d.domain === result.adminDomain) || props.domains[0]).domain;
if (domains.value.length) {
const adminDomain = domains.value.find(d => d.domain === result.adminDomain);
if (adminDomain) {
newDomain.value = adminDomain.domain;
originalDomain.value = adminDomain.domain;
}
}
}
onMounted(async () => {
const [error, result] = await domainsModel.list();
if (error) return console.error(error);
await selectCurrentDomain(result);
await refreshTasks();
});
defineExpose({ updateDomains: selectCurrentDomain });
</script>
<template>