habitica/website/client/src/components/404.vue

70 lines
1.5 KiB
Vue
Raw Normal View History

2019-10-12 14:33:05 +00:00
<template>
<div class="row">
2023-06-09 21:33:27 +00:00
<div class="col-6 text-center mx-auto mb-5">
2019-10-12 15:05:15 +00:00
<!-- @TODO i18n. How to setup the strings with the router-link inside?-->
<img
2023-06-20 00:04:07 +00:00
:class="retiredChatPage ? 'mt-5' : 'image-404'"
2019-10-12 14:33:05 +00:00
src="~@/assets/images/404.png"
2019-10-12 15:05:15 +00:00
>
2023-06-09 21:33:27 +00:00
<div v-if="retiredChatPage">
<h1>
{{ $t('tavernDiscontinued') }}
</h1>
<p>{{ $t('tavernDiscontinuedDetail') }}</p>
<p v-html="$t('tavernDiscontinuedLinks')"></p>
</div>
<div v-else>
<h1>
Sometimes even the bravest adventurer gets lost.
</h1>
2023-06-20 00:04:07 +00:00
<p class="mb-0">
2023-06-09 21:33:27 +00:00
Looks like this link is broken or the page may have moved, sorry!
</p>
<p>
Head back to the
<router-link to="/">
Homepage
</router-link>or
<a href="mailto:admin@habitica.com">
2023-06-09 21:33:27 +00:00
Contact Us
</a>about the issue.
2023-06-09 21:33:27 +00:00
</p>
</div>
2019-10-12 14:33:05 +00:00
</div>
</div>
</template>
<script>
2019-10-01 13:38:48 +00:00
import { mapState } from '@/libs/store';
export default {
computed: {
...mapState(['isUserLoggedIn']),
2023-06-09 21:33:27 +00:00
retiredChatPage () {
return this.$route.fullPath.indexOf('/groups') !== -1;
},
},
};
</script>
<style lang="scss" scoped>
2019-10-01 13:38:48 +00:00
@import '~@/assets/scss/colors.scss';
2023-06-20 00:04:07 +00:00
h1, .static-wrapper h1 {
color: $purple-200;
2023-06-20 00:04:07 +00:00
line-height: 1.33;
margin-top: 3rem;
2023-06-09 21:33:27 +00:00
margin-bottom: 1rem;
}
2023-06-09 21:33:27 +00:00
p {
2023-06-20 00:04:07 +00:00
font-size: 16px;
line-height: 1.75;
}
.image-404 {
margin-top: 104px;
}
2023-06-09 21:33:27 +00:00
2019-10-09 18:08:36 +00:00
</style>