This repository has been archived on 2024-02-08. You can view files and clone it, but cannot push or open issues or pull requests.
frontend/src/views/migrate/Migration.vue

57 lines
1.2 KiB
Vue
Raw Normal View History

<template>
<div class="content">
<h1>{{ $t('migrate.title') }}</h1>
<p>{{ $t('migrate.description') }}</p>
<div class="migration-services">
<router-link
v-for="{name, id, icon} in availableMigrators"
:key="id"
class="migration-service-link"
:to="{name: 'migrate.service', params: {service: id}}"
>
<img
class="migration-service-image"
:alt="name"
:src="icon"
2024-02-07 11:18:19 +00:00
>
{{ name }}
</router-link>
</div>
</div>
</template>
2022-05-21 15:06:40 +00:00
<script setup lang="ts">
import {computed} from 'vue'
import {useI18n} from 'vue-i18n'
2022-02-15 12:07:59 +00:00
import {MIGRATORS} from './migrators'
2022-05-21 15:06:40 +00:00
import {useTitle} from '@/composables/useTitle'
2022-09-21 00:21:22 +00:00
import {useConfigStore} from '@/stores/config'
const {t} = useI18n({useScope: 'global'})
2022-05-21 15:06:40 +00:00
useTitle(() => t('migrate.title'))
2022-09-21 00:21:22 +00:00
const configStore = useConfigStore()
const availableMigrators = computed(() => configStore.availableMigrators
2022-05-21 15:06:40 +00:00
.map((id) => MIGRATORS[id])
.filter((item) => Boolean(item)),
)
</script>
<style lang="scss" scoped>
.migration-services {
text-align: center;
}
.migration-service-link {
display: inline-block;
width: 100px;
text-transform: capitalize;
margin-right: 1rem;
}
.migration-service-image {
display: block;
}
</style>