diff options
author | Daniel Weipert <code@drogueronin.de> | 2021-07-09 15:12:50 +0200 |
---|---|---|
committer | Daniel Weipert <code@drogueronin.de> | 2021-07-09 15:12:50 +0200 |
commit | 30c8c2f2b05bab8b962b51c0faeb282980324a5c (patch) | |
tree | 0088c91d7e44c76a966601d325bc53d1fdbc657e /app/src/pages/Home.vue | |
parent | 6563602fb39db8ae9a976784b62538cbcf3de108 (diff) |
Splits UI into steps and enhances log messages
Diffstat (limited to 'app/src/pages/Home.vue')
-rw-r--r-- | app/src/pages/Home.vue | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/app/src/pages/Home.vue b/app/src/pages/Home.vue deleted file mode 100644 index 8385a46..0000000 --- a/app/src/pages/Home.vue +++ /dev/null @@ -1,129 +0,0 @@ -<template> - <div class="wrap"> - <div class="panels"> - <div> - <h1>FROM</h1> - {{ from.error }} - <Panel v-model="from" @connect="connectFrom" /> - <ul v-if="from.folders"> - <Folders :folder="from.folders" /> - </ul> - </div> - - <div> - <h1>TO</h1> - {{ to.error }} - <Panel v-model="to" @connect="connectTo" /> - <ul v-if="to.folders"> - <Folders :folder="to.folders" /> - </ul> - </div> - </div> - - <button class="button" @click="migrate"> - Migrate! - </button> - - <div class="progress-screen"> - <b>{{ progress }}</b> - <br> - <div class="progress-screen__log"> - <div v-for="(msg, idx) in log" :key="idx"> - {{ msg }} - </div> - </div> - </div> - </div> -</template> - -<script> -import Panel from '../components/Panel.vue'; -import Folders from '../components/Folders'; - -export default { - components: { - Panel, - Folders, - }, - - data () { - return { - progress: '', - log: [], - }; - }, - - computed: { - from: { - set (value) { - this.$store.commit('setFrom', value); - }, - get () { - return this.$store.state.from; - }, - }, - to: { - set (value) { - this.$store.commit('setTo', value); - }, - get () { - return this.$store.state.to; - }, - }, - }, - - mounted () { - this.$electron.ipcRenderer.on('imap:listTree:from:reply', (event, folders) => { - this.from.folders = folders; - }); - - this.$electron.ipcRenderer.on('imap:listTree:to:reply', (event, folders) => { - this.to.folders = folders; - }); - - this.$electron.ipcRenderer.on('imap:from:error', (event, error) => { - this.from.error = error; - }); - this.$electron.ipcRenderer.on('imap:to:error', (event, error) => { - this.to.error = error; - }); - - this.$electron.ipcRenderer.on('imap:migrate:progress', (event, progress) => { - this.progress = progress; - this.log.push(progress); - }); - }, - - methods: { - connectFrom () { - this.$electron.ipcRenderer.send('imap:listTree:from', JSON.parse(JSON.stringify(this.from))); - }, - - connectTo () { - this.$electron.ipcRenderer.send('imap:listTree:to', JSON.parse(JSON.stringify(this.to))); - }, - - async migrate () { - this.progress = ''; - this.log = []; - - this.$electron.ipcRenderer.send('imap:migrate', { - from: JSON.parse(JSON.stringify(this.from)), - to: JSON.parse(JSON.stringify(this.to)), - }); - }, - }, -}; -</script> - -<style lang="scss"> -.panels { - display: flex; - justify-content: space-between; -} - -ul { - padding-left: 1em; - list-style-type: dot; -} -</style> |