@@ -2,14 +2,14 @@
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { useServicesStore } from '@MailManager/stores/servicesStore'
|
||||
import { AddAccountDialog, EditAccountDialog } from '@MailManager/main'
|
||||
import type { ServiceObject } from '@MailManager/models'
|
||||
|
||||
const servicesStore = useServicesStore()
|
||||
|
||||
// Dialog state
|
||||
const showAddDialog = ref(false)
|
||||
const showEditDialog = ref(false)
|
||||
const editServiceProvider = ref<string>('')
|
||||
const editServiceIdentifier = ref<string | number>('')
|
||||
const editService = ref<ServiceObject>()
|
||||
|
||||
// Load services on mount
|
||||
onMounted(async () => {
|
||||
@@ -22,11 +22,8 @@ const handleAddAccount = () => {
|
||||
showAddDialog.value = true
|
||||
}
|
||||
|
||||
const handleConfigureAccount = (serviceKey: string) => {
|
||||
// Service key is in format "provider:identifier"
|
||||
const [provider, identifier] = serviceKey.split(':')
|
||||
editServiceProvider.value = provider
|
||||
editServiceIdentifier.value = identifier
|
||||
const handleConfigureAccount = (service: ServiceObject) => {
|
||||
editService.value = service
|
||||
showEditDialog.value = true
|
||||
}
|
||||
|
||||
@@ -58,7 +55,7 @@ const handleAccountSaved = async () => {
|
||||
icon="mdi-cog"
|
||||
variant="text"
|
||||
size="small"
|
||||
@click="handleConfigureAccount(`${service.provider}:${service.identifier}`)"
|
||||
@click="handleConfigureAccount(service)"
|
||||
/>
|
||||
</template>
|
||||
</v-list-item>
|
||||
@@ -87,10 +84,10 @@ const handleAccountSaved = async () => {
|
||||
|
||||
<!-- Edit Account Dialog -->
|
||||
<EditAccountDialog
|
||||
v-if="editServiceProvider && editServiceIdentifier"
|
||||
v-if="editService"
|
||||
v-model="showEditDialog"
|
||||
:service-provider="editServiceProvider"
|
||||
:service-identifier="editServiceIdentifier"
|
||||
:service-provider="editService.provider"
|
||||
:service-identifier="editService.identifier"
|
||||
@saved="handleAccountSaved"
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user