2018-09-06 19:46:38 +02:00
|
|
|
<template>
|
2018-09-09 16:22:02 +02:00
|
|
|
<div class="content has-text-centered">
|
2021-01-17 20:53:09 +01:00
|
|
|
<h2>
|
2021-07-06 17:13:13 +02:00
|
|
|
{{ $t(`home.welcome${welcome}`, {username: userInfo.name !== '' ? userInfo.name : userInfo.username}) }}!
|
2021-01-17 20:53:09 +01:00
|
|
|
</h2>
|
2020-06-15 18:47:17 +02:00
|
|
|
<template v-if="!hasTasks">
|
2021-06-24 01:24:57 +02:00
|
|
|
<p>{{ $t('home.list.newText') }}</p>
|
2021-01-17 18:57:57 +01:00
|
|
|
<x-button
|
2021-01-17 20:53:09 +01:00
|
|
|
:to="{name: 'list.create', params: { id: defaultNamespaceId }}"
|
2021-01-17 18:57:57 +01:00
|
|
|
:shadow="false"
|
2021-01-17 20:53:09 +01:00
|
|
|
class="ml-2"
|
|
|
|
v-if="defaultNamespaceId > 0"
|
2020-06-15 18:47:17 +02:00
|
|
|
>
|
2021-06-24 01:24:57 +02:00
|
|
|
{{ $t('home.list.new') }}
|
2021-01-17 20:53:09 +01:00
|
|
|
</x-button>
|
|
|
|
<p class="mt-4" v-if="migratorsEnabled">
|
2021-06-24 01:24:57 +02:00
|
|
|
{{ $t('home.list.importText') }}
|
2021-01-17 20:53:09 +01:00
|
|
|
</p>
|
2021-04-15 17:21:20 +02:00
|
|
|
<x-button
|
|
|
|
v-if="migratorsEnabled"
|
|
|
|
:to="{ name: 'migrate.start' }"
|
|
|
|
:shadow="false">
|
2021-06-24 01:24:57 +02:00
|
|
|
{{ $t('home.list.import') }}
|
2021-01-17 18:57:57 +01:00
|
|
|
</x-button>
|
2020-06-15 18:47:17 +02:00
|
|
|
</template>
|
2021-01-17 20:53:09 +01:00
|
|
|
<ShowTasks :show-all="true" v-if="hasLists"/>
|
2018-09-06 19:46:38 +02:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2021-06-24 01:24:57 +02:00
|
|
|
import {mapState} from 'vuex'
|
2020-09-05 22:35:52 +02:00
|
|
|
import ShowTasks from './tasks/ShowTasks'
|
2018-09-06 19:46:38 +02:00
|
|
|
|
2020-09-05 22:35:52 +02:00
|
|
|
export default {
|
|
|
|
name: 'Home',
|
|
|
|
components: {
|
|
|
|
ShowTasks,
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
loading: false,
|
|
|
|
currentDate: new Date(),
|
|
|
|
tasks: [],
|
|
|
|
}
|
|
|
|
},
|
2021-07-06 17:13:13 +02:00
|
|
|
computed: {
|
|
|
|
welcome() {
|
|
|
|
const now = new Date()
|
|
|
|
|
|
|
|
if (now.getHours() < 5) {
|
|
|
|
return 'Night'
|
2021-01-17 20:53:09 +01:00
|
|
|
}
|
|
|
|
|
2021-07-06 17:13:13 +02:00
|
|
|
if(now.getHours() < 11) {
|
|
|
|
return 'Morning'
|
|
|
|
}
|
|
|
|
|
|
|
|
if(now.getHours() < 18) {
|
|
|
|
return 'Day'
|
2021-01-17 20:53:09 +01:00
|
|
|
}
|
|
|
|
|
2021-07-06 17:13:13 +02:00
|
|
|
if(now.getHours() < 23) {
|
|
|
|
return 'Evening'
|
|
|
|
}
|
|
|
|
|
|
|
|
return 'Night'
|
2021-01-17 20:53:09 +01:00
|
|
|
},
|
2021-07-06 17:13:13 +02:00
|
|
|
...mapState({
|
|
|
|
migratorsEnabled: state => state.config.availableMigrators !== null && state.config.availableMigrators.length > 0,
|
|
|
|
authenticated: state => state.auth.authenticated,
|
|
|
|
userInfo: state => state.auth.info,
|
|
|
|
hasTasks: state => state.hasTasks,
|
|
|
|
defaultNamespaceId: state => {
|
|
|
|
if (state.namespaces.namespaces.length === 0) {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
return state.namespaces.namespaces[0].id
|
|
|
|
},
|
|
|
|
hasLists: state => {
|
|
|
|
if (state.namespaces.namespaces.length === 0) {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
return state.namespaces.namespaces[0].lists.length > 0
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
}
|
2020-09-05 22:35:52 +02:00
|
|
|
}
|
2018-09-06 19:46:38 +02:00
|
|
|
</script>
|