split out follow’s importer as a separate component

This commit is contained in:
taehoon 2019-03-29 21:58:20 -04:00
parent 9e2fa50b74
commit 562120ae48
4 changed files with 59 additions and 41 deletions

View file

@ -0,0 +1,36 @@
const Importer = {
data () {
return {
file: null,
error: false,
success: false,
uploading: false
}
},
methods: {
change () {
this.file = this.$refs.input.files[0]
},
submit () {
this.uploading = true
// eslint-disable-next-line no-undef
const formData = new FormData()
formData.append('list', this.file)
this.$store.state.api.backendInteractor.followImport({params: formData})
.then((status) => {
if (status) {
this.success = true
} else {
this.error = true
}
this.uploading = false
})
},
dismiss () {
this.success = false
this.error = false
}
}
}
export default Importer

View file

@ -0,0 +1,19 @@
<template>
<div class="importer">
<form>
<input type="file" ref="input" v-on:change="change" />
</form>
<i class="icon-spin4 animate-spin uploading" v-if="uploading"></i>
<button class="btn btn-default" v-else @click="submit">{{$t('general.submit')}}</button>
<div v-if="success">
<i class="icon-cross" @click="dismiss"></i>
<p>{{$t('settings.follows_imported')}}</p>
</div>
<div v-else-if="error">
<i class="icon-cross" @click="dismiss"></i>
<p>{{$t('settings.follow_import_error')}}</p>
</div>
</div>
</template>
<script src="./importer.js"></script>