2020-01-19 20:23:06 +01:00
|
|
|
<template>
|
|
|
|
<div class="content">
|
2021-06-24 01:24:57 +02:00
|
|
|
<h1>{{ $t('migrate.title') }}</h1>
|
|
|
|
<p>{{ $t('migrate.description') }}</p>
|
2020-01-19 20:23:06 +01:00
|
|
|
<div class="migration-services-overview">
|
2021-09-04 21:26:38 +02:00
|
|
|
<router-link
|
2021-10-03 20:48:02 +02:00
|
|
|
v-for="{name, identifier} in availableMigrators"
|
|
|
|
:key="identifier"
|
|
|
|
:to="{name: 'migrate.service', params: {service: identifier}}"
|
|
|
|
>
|
|
|
|
<img :alt="name" :src="serviceIconSources[identifier]"/>
|
|
|
|
{{ name }}
|
2020-01-19 20:23:06 +01:00
|
|
|
</router-link>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2021-10-03 20:48:02 +02:00
|
|
|
import {getMigratorFromSlug, SERVICE_ICONS} from '../../helpers/migrator'
|
|
|
|
|
2021-09-04 21:26:38 +02:00
|
|
|
|
2020-09-05 22:35:52 +02:00
|
|
|
export default {
|
|
|
|
name: 'migrate.service',
|
|
|
|
mounted() {
|
2021-06-24 01:24:57 +02:00
|
|
|
this.setTitle(this.$t('migrate.title'))
|
2020-09-05 22:35:52 +02:00
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
availableMigrators() {
|
2021-09-04 21:26:38 +02:00
|
|
|
return this.$store.state.config.availableMigrators.map(getMigratorFromSlug)
|
2020-07-07 22:07:13 +02:00
|
|
|
},
|
2021-10-03 20:48:02 +02:00
|
|
|
serviceIconSources() {
|
|
|
|
return this.availableMigrators.map(({identifier}) => SERVICE_ICONS[identifier]())
|
|
|
|
},
|
2020-09-05 22:35:52 +02:00
|
|
|
},
|
|
|
|
}
|
2020-01-19 20:23:06 +01:00
|
|
|
</script>
|
2021-10-18 14:21:10 +02:00
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.migration-services-overview {
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
a {
|
|
|
|
display: inline-block;
|
|
|
|
width: 100px;
|
|
|
|
text-transform: capitalize;
|
|
|
|
margin-right: 1rem;
|
|
|
|
|
|
|
|
img {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|