mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
feat(404): route retired links
This commit is contained in:
@@ -1,18 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text-center">
|
<div class="col-6 text-center mx-auto mb-5">
|
||||||
<!-- @TODO i18n. How to setup the strings with the router-link inside?-->
|
<!-- @TODO i18n. How to setup the strings with the router-link inside?-->
|
||||||
<img
|
<img
|
||||||
class="not-found-img"
|
class="my-5"
|
||||||
src="~@/assets/images/404.png"
|
src="~@/assets/images/404.png"
|
||||||
>
|
>
|
||||||
<h1 class="not-found">
|
<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.
|
Sometimes even the bravest adventurer gets lost.
|
||||||
</h1>
|
</h1>
|
||||||
<h2 class="not-found">
|
<p>
|
||||||
Looks like this link is broken or the page may have moved, sorry!
|
Looks like this link is broken or the page may have moved, sorry!
|
||||||
</h2>
|
</p>
|
||||||
<h2 class="not-found">
|
<p>
|
||||||
Head back to the
|
Head back to the
|
||||||
<router-link to="/">
|
<router-link to="/">
|
||||||
Homepage
|
Homepage
|
||||||
@@ -20,7 +28,8 @@
|
|||||||
<router-link :to="contactUsLink">
|
<router-link :to="contactUsLink">
|
||||||
Contact Us
|
Contact Us
|
||||||
</router-link>about the issue.
|
</router-link>about the issue.
|
||||||
</h2>
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -37,6 +46,9 @@ export default {
|
|||||||
}
|
}
|
||||||
return { name: 'contact' };
|
return { name: 'contact' };
|
||||||
},
|
},
|
||||||
|
retiredChatPage () {
|
||||||
|
return this.$route.fullPath.indexOf('/groups') !== -1;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -44,28 +56,14 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '~@/assets/scss/colors.scss';
|
@import '~@/assets/scss/colors.scss';
|
||||||
|
|
||||||
.col-12 {
|
h1 {
|
||||||
margin-bottom: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.not-found-img {
|
|
||||||
margin-top: 152px;
|
|
||||||
margin-bottom: 42px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1.not-found {
|
|
||||||
line-height: 1.33;
|
|
||||||
color: $purple-200;
|
color: $purple-200;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 1rem;
|
||||||
font-weight: normal;
|
|
||||||
margin-top: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h2.not-found {
|
p {
|
||||||
line-height: 1.4;
|
font-size: 18px;
|
||||||
font-weight: normal;
|
line-height: 1.77;
|
||||||
color: $gray-200;
|
|
||||||
margin-bottom: 0px;
|
|
||||||
margin-top: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -74,10 +74,6 @@ const EquipmentPage = () => import(/* webpackChunkName: "inventory" */'@/compone
|
|||||||
const StablePage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/stable/index');
|
const StablePage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/stable/index');
|
||||||
|
|
||||||
// Guilds & Parties
|
// Guilds & Parties
|
||||||
const GuildIndex = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/index');
|
|
||||||
const TavernPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/tavern');
|
|
||||||
const MyGuilds = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/myGuilds');
|
|
||||||
const GuildsDiscoveryPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/discovery');
|
|
||||||
const GroupPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/group');
|
const GroupPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/group');
|
||||||
const GroupPlansAppPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/groupPlan');
|
const GroupPlansAppPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/groupPlan');
|
||||||
const LookingForParty = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/lookingForParty');
|
const LookingForParty = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/lookingForParty');
|
||||||
@@ -189,23 +185,20 @@ const router = new VueRouter({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/groups',
|
path: '/groups',
|
||||||
component: GuildIndex,
|
component: NotFoundPage,
|
||||||
children: [
|
children: [
|
||||||
{ name: 'tavern', path: 'tavern', component: TavernPage },
|
{ name: 'tavern', path: 'tavern' },
|
||||||
{
|
{
|
||||||
name: 'myGuilds',
|
name: 'myGuilds',
|
||||||
path: 'myGuilds',
|
path: 'myGuilds',
|
||||||
component: MyGuilds,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'guildsDiscovery',
|
name: 'guildsDiscovery',
|
||||||
path: 'discovery',
|
path: 'discovery',
|
||||||
component: GuildsDiscoveryPage,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'guild',
|
name: 'guild',
|
||||||
path: 'guild/:groupId',
|
path: 'guild/:groupId',
|
||||||
component: GroupPage,
|
|
||||||
props: true,
|
props: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -417,5 +417,8 @@
|
|||||||
"lookingForPartyTitle": "Find Members",
|
"lookingForPartyTitle": "Find Members",
|
||||||
"findMorePartyMembers": "Find More Members",
|
"findMorePartyMembers": "Find More Members",
|
||||||
"findPartyMembers": "Find Party Members",
|
"findPartyMembers": "Find Party Members",
|
||||||
"noOneLooking": "There’s no one looking for a Party right now.<br>You can check back later!"
|
"noOneLooking": "There’s no one looking for a Party right now.<br>You can check back later!",
|
||||||
|
"tavernDiscontinued": "The Tavern and Guilds have been discontinued",
|
||||||
|
"tavernDiscontinuedDetail": "Due to a number of factors, including changes in how our player base interacts with Habitica, the resources necessary to maintain these spaces became disproportionate to the number of people participating in them and unsustainable over the long term.",
|
||||||
|
"tavernDiscontinuedLinks": "Read more about the <a href='/static/faq/tavern-and-guilds'>Tavern and Guild Service Discontinuation</a> or head back to the <a href='/'>homepage</a>."
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user