diff --git a/dashboard/src/components/DashboardDomain.vue b/dashboard/src/components/DashboardDomain.vue index b8e466520..3b70449ca 100644 --- a/dashboard/src/components/DashboardDomain.vue +++ b/dashboard/src/components/DashboardDomain.vue @@ -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 }); + \ No newline at end of file