Awards/user pages/etc
This commit is contained in:
parent
247baaa399
commit
503f577ed3
10 changed files with 216 additions and 39 deletions
|
@ -3,6 +3,9 @@
|
||||||
</style>
|
</style>
|
||||||
<style>
|
<style>
|
||||||
@import 'https://kit-pro.fontawesome.com/releases/v5.15.1/css/pro.min.css';
|
@import 'https://kit-pro.fontawesome.com/releases/v5.15.1/css/pro.min.css';
|
||||||
|
.large-icon {
|
||||||
|
font-size: 60px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
|
@ -54,6 +57,7 @@ export default {
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$buefy.snackbar.open({message:this.$t('errors.down'), type: 'is-warning'})
|
this.$buefy.snackbar.open({message:this.$t('errors.down'), type: 'is-warning'})
|
||||||
})
|
})
|
||||||
|
this.axios.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + '/' + 'awards/eligibility')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
19
src/components/Badges.vue
Normal file
19
src/components/Badges.vue
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<template>
|
||||||
|
<tags>
|
||||||
|
<b-tag v-if="admin" class="is-danger" rounded>Admin</b-tag>
|
||||||
|
<b-tag v-if="bot" class="is-info" rounded>Bot</b-tag>
|
||||||
|
<b-tag v-if="booster" class="is-primary" rounded>Discord Booster</b-tag>
|
||||||
|
<b-tag v-if="system" class="is-success" rounded>System</b-tag>
|
||||||
|
</tags>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'UserInventory',
|
||||||
|
props: ['admin', 'booster', 'bot', 'hidden', 'banned', 'system'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
inventory: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -263,8 +263,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #end>
|
<template #end>
|
||||||
<b-navbar-item v-if="$store.state.user.username">
|
<b-navbar-item v-if="$store.state.user.username && !loading">
|
||||||
{{$store.state.user.koins}} {{$t('currency')}}
|
<img src="https://cdn.kaverti.com/icons/koins.svg">{{$store.state.user.koins}}
|
||||||
</b-navbar-item>
|
</b-navbar-item>
|
||||||
<div v-if="!loading">
|
<div v-if="!loading">
|
||||||
<b-navbar-item v-if="!$store.state.user.username" tag="div">
|
<b-navbar-item v-if="!$store.state.user.username" tag="div">
|
||||||
|
@ -294,14 +294,12 @@
|
||||||
</div>
|
</div>
|
||||||
</b-navbar-item>
|
</b-navbar-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="loading">
|
<b-navbar-item v-if="loading">
|
||||||
<b-navbar-item>
|
<div class="fa-1x">
|
||||||
<div class="fa-1x">
|
<i class="fas fa-circle-notch fa-spin"></i>
|
||||||
<i class="fas fa-circle-notch fa-spin"></i>
|
{{ $t('generic.loading') }}
|
||||||
Loading
|
</div>
|
||||||
</div>
|
</b-navbar-item>
|
||||||
</b-navbar-item>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</b-navbar>
|
</b-navbar>
|
||||||
<section v-if='$store.state.client.bannerText && $store.state.client.bannerEnabled && showBanner' class="hero is-info">
|
<section v-if='$store.state.client.bannerText && $store.state.client.bannerEnabled && showBanner' class="hero is-info">
|
||||||
|
@ -585,7 +583,6 @@ export default {
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
localStorage.setItem('userCache', JSON.stringify(this.$store.state.user));
|
|
||||||
this.$buefy.snackbar.open({message:this.$t('errors.authFail'), type: 'is-warning'})
|
this.$buefy.snackbar.open({message:this.$t('errors.authFail'), type: 'is-warning'})
|
||||||
this.loading = false
|
this.loading = false
|
||||||
console.log(this.getBannerId())
|
console.log(this.getBannerId())
|
||||||
|
|
|
@ -163,6 +163,23 @@
|
||||||
"logout": "You have been logged out of Kaverti.",
|
"logout": "You have been logged out of Kaverti.",
|
||||||
"register": "You have been registered to Kaverti, Welcome!"
|
"register": "You have been registered to Kaverti, Welcome!"
|
||||||
},
|
},
|
||||||
|
"generic": {
|
||||||
|
"name": "Kaverti",
|
||||||
|
"loading": "Loading"
|
||||||
|
},
|
||||||
|
"relationships": {
|
||||||
|
"pending": "Cancel Friend Request",
|
||||||
|
"notFriends": "Send Friend Request",
|
||||||
|
"pendingCanAccept": "Accept Friend Request"
|
||||||
|
},
|
||||||
|
"badges": {
|
||||||
|
"admin": "Admin",
|
||||||
|
"bot": "Bot",
|
||||||
|
"add": "+",
|
||||||
|
"system": "System",
|
||||||
|
"banned": "Banned",
|
||||||
|
"hidden": "Hidden"
|
||||||
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Loading",
|
"title": "Loading",
|
||||||
"about": "About",
|
"about": "About",
|
||||||
|
@ -174,7 +191,18 @@
|
||||||
"items": "Items",
|
"items": "Items",
|
||||||
"wall": "User Wall",
|
"wall": "User Wall",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
"created": "Registered at"
|
"created": "Registered at",
|
||||||
|
"defaultDesc": "Hi, I'm ",
|
||||||
|
"marketplace": "Published items",
|
||||||
|
"relationships": "Friends",
|
||||||
|
"wearing": "Wearing",
|
||||||
|
"inventoryTab": {
|
||||||
|
"buyNow": "Buy now for ",
|
||||||
|
"was": "was",
|
||||||
|
"unavailable": "Item is unavailable",
|
||||||
|
"noItems": "This user doesn't have any items in their inventory yet!",
|
||||||
|
"onSale": "Item is on sale"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats": {
|
"stats": {
|
||||||
"title": "Stats",
|
"title": "Stats",
|
||||||
|
|
|
@ -23,7 +23,7 @@ const routes = [
|
||||||
name: 'Debug',
|
name: 'Debug',
|
||||||
component: route('Debug')
|
component: route('Debug')
|
||||||
},
|
},
|
||||||
{ path: '/u/:username', redirect: '/u/:username/posts', component: route('User'), children: [
|
{ path: '/u/:username', redirect: '/u/:username/awards', component: route('User'), children: [
|
||||||
{ path: 'posts', component: route('UserPosts') },
|
{ path: 'posts', component: route('UserPosts') },
|
||||||
{ path: 'threads', component: route('UserThreads') },
|
{ path: 'threads', component: route('UserThreads') },
|
||||||
{ path: 'items', component: route('UserMarketplace') },
|
{ path: 'items', component: route('UserMarketplace') },
|
||||||
|
|
|
@ -8,16 +8,26 @@
|
||||||
<main>
|
<main>
|
||||||
<div class="columns is-centered">
|
<div class="columns is-centered">
|
||||||
<div class="column is-4 is-vcentered has-text-centered">
|
<div class="column is-4 is-vcentered has-text-centered">
|
||||||
<h1 class="title">{{user.username}}</h1>
|
<h1 class="title">{{user.username}} <Badges :admin="user.admin" :booster="user.booster" :bot="user.bot"></Badges> <b-tag v-if="$store.state.user.admin" class="is-info" rounded><i class="fas fa-plus"></i></b-tag></h1>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<img :src="'https://cdn.kaverti.com/user/avatars/full/' + $store.state.user.avatar + '.png'" :alt="$store.state.user.username + '\'s avatar'" width="70%">
|
<img :src="'https://cdn.kaverti.com/user/avatars/full/' + $store.state.user.avatar + '.png'" :alt="$store.state.user.username + '\'s avatar'" width="70%">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="buttons is-centered">
|
||||||
|
<b-button @click="doRelationship" class="is-success" v-if="relationships.type === 'notFriends'"><i class="fas fa-plus"></i> {{$t('relationships.notFriends')}}</b-button>
|
||||||
|
<b-button @click="removeFriend" class="is-warning" v-if="relationships.type === 'pending'"><i class="fas fa-minus"></i> {{$t('relationships.pending')}}</b-button>
|
||||||
|
<b-button @click="doRelationshipAccept" class="is-info" v-if="relationships.type === 'pendingCanAccept'"><i class="fas fa-plus"></i> {{$t('relationships.pendingCanAccept')}}</b-button>
|
||||||
|
<b-button @click="removeFriend" class="is-danger" v-if="relationships.type === 'ignore'"><i class="fas fa-minus"></i> {{$t('relationships.ignore')}}</b-button>
|
||||||
|
<b-button @click="removeFriend" class="is-danger" v-if="relationships.type === 'accepted'"><i class="fas fa-minus"></i> {{$t('relationships.accepted')}}</b-button>
|
||||||
|
<b-button class="is-info" v-if="relationships.type === ''" disabled><i class="fas fa-spin"></i> <i class="fas fa-circle-notch fa-spin"></i> {{ $t('generic.loading') }}</b-button>
|
||||||
|
</div>
|
||||||
<h1 class="subtitle">
|
<h1 class="subtitle">
|
||||||
{{ $t('user.about') }} {{user.username}}
|
{{ $t('user.about') }} {{user.username}}
|
||||||
</h1>
|
</h1>
|
||||||
<div class="box limit">
|
<div class="box limit">
|
||||||
{{ $t('user.description') }}: {{user.description}}<br>
|
<div v-if="user.description">{{ $t('user.description') }}: {{user.description}}</div><br>
|
||||||
{{ $t('user.created') }}: {{user.createdAt}}
|
<div v-if="!user.description">{{$t('user.description')}}: {{$t('user.defaultDesc')}} {{user.username}}</div>
|
||||||
|
{{ $t('user.created') }}: {{user.createdAt}}<br>
|
||||||
|
{{ $t('user.marketplace') }}:
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="column is-6 is-vcentered has-text-centered">
|
<div class="column is-6 is-vcentered has-text-centered">
|
||||||
|
@ -26,12 +36,12 @@
|
||||||
|
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<ul>
|
<ul>
|
||||||
<router-link tag="li" :to="'/u/' + user.username + '/posts'" exact><a>{{ $t('user.posts') }}</a></router-link>
|
|
||||||
<router-link tag="li" :to="'/u/' + user.username + '/threads'" exact><a>{{ $t('user.threads') }}</a></router-link>
|
|
||||||
<router-link tag="li" :to="'/u/' + user.username + '/wall'" exact><a>{{ $t('user.wall') }}</a></router-link>
|
<router-link tag="li" :to="'/u/' + user.username + '/wall'" exact><a>{{ $t('user.wall') }}</a></router-link>
|
||||||
<router-link tag="li" :to="'/u/' + user.username + '/items'" exact><a>{{ $t('user.items') }}</a></router-link>
|
<router-link tag="li" :to="'/u/' + user.username + '/items'" exact><a>{{ $t('user.items') }}</a></router-link>
|
||||||
<router-link tag="li" :to="'/u/' + user.username + '/inventory'" exact><a>{{ $t('user.inventory') }}</a></router-link>
|
<router-link tag="li" :to="'/u/' + user.username + '/inventory'" exact><a>{{ $t('user.inventory') }}</a></router-link>
|
||||||
<router-link tag="li" :to="'/u/' + user.username + '/awards'" exact><a>{{ $t('user.awards') }}</a></router-link>
|
<router-link tag="li" :to="'/u/' + user.username + '/awards'" exact><a>{{ $t('user.awards') }}</a></router-link>
|
||||||
|
<router-link tag="li" :to="'/u/' + user.username + '/wearing'" exact><a>{{ $t('user.wearing') }}</a></router-link>
|
||||||
|
<router-link tag="li" :to="'/u/' + user.username + '/friends'" exact><a>{{ $t('user.relationships') }}</a></router-link>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -47,20 +57,14 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AjaxErrorHandler from '../../assets/js/errorHandler'
|
import AjaxErrorHandler from '../../assets/js/errorHandler'
|
||||||
|
import Badges from '../components/Badges'
|
||||||
export default {
|
export default {
|
||||||
name: 'user',
|
name: 'user',
|
||||||
|
components: {
|
||||||
|
Badges
|
||||||
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
menuItems: [
|
|
||||||
/* { name: 'Wall', route: 'wall' }, */
|
|
||||||
{ name: 'Posts', route: 'posts' },
|
|
||||||
{ name: 'Threads', route: 'threads' },
|
|
||||||
/* { name: 'Friends', route: 'friends' } */
|
|
||||||
],
|
|
||||||
selected: 0,
|
|
||||||
|
|
||||||
username: this.$route.params.username,
|
|
||||||
user: {
|
user: {
|
||||||
username: "Loading",
|
username: "Loading",
|
||||||
description: "Loading",
|
description: "Loading",
|
||||||
|
@ -115,6 +119,9 @@ export default {
|
||||||
AjaxErrorHandler(this.$store)(e)
|
AjaxErrorHandler(this.$store)(e)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
this.axios
|
||||||
|
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + 'relationships/get/' + this.$route.params.username)
|
||||||
|
.then(res => this.relationships.type = res.data.type)
|
||||||
},
|
},
|
||||||
scrubDesc () {
|
scrubDesc () {
|
||||||
this.axios
|
this.axios
|
||||||
|
@ -149,9 +156,10 @@ export default {
|
||||||
.catch(AjaxErrorHandler(this.$store))
|
.catch(AjaxErrorHandler(this.$store))
|
||||||
},
|
},
|
||||||
refreshFriend() {
|
refreshFriend() {
|
||||||
|
this.relationships.type === ''
|
||||||
this.axios
|
this.axios
|
||||||
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + `relationships/get/${this.$route.params.username}`)
|
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + `relationships/get/${this.$route.params.username}`)
|
||||||
.then(res => this.relationship = res.data)
|
.then(res => this.relationships.type = res.data.type)
|
||||||
},
|
},
|
||||||
removeFriend () {
|
removeFriend () {
|
||||||
this.axios
|
this.axios
|
||||||
|
@ -228,9 +236,7 @@ export default {
|
||||||
this.refreshFriend()
|
this.refreshFriend()
|
||||||
this.description.loading = false
|
this.description.loading = false
|
||||||
|
|
||||||
AjaxErrorHandler(this.$store)(e, error => {
|
AjaxErrorHandler(this.$store)(e)
|
||||||
this.description.error = error.message
|
|
||||||
})
|
|
||||||
this.axios
|
this.axios
|
||||||
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + `relationships/get/${this.$route.params.username}`)
|
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + `relationships/get/${this.$route.params.username}`)
|
||||||
.then(res => this.relationship = res.data)
|
.then(res => this.relationship = res.data)
|
||||||
|
|
|
@ -1,5 +1,48 @@
|
||||||
<template>
|
<template>
|
||||||
<main>
|
<main>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column is-4" v-for='(award) in awards' :key='"award-" + award.id'>
|
||||||
|
<div class="box">
|
||||||
|
<b-tag v-if="award.Award.rarity === 'Common'">{{award.Award.rarity}}</b-tag>
|
||||||
|
<b-tag v-if="award.Award.rarity === 'Uncommon'">{{award.Award.rarity}}</b-tag>
|
||||||
|
<b-tag v-if="award.Award.rarity === 'Rare'" class="is-warning">{{award.Award.rarity}}</b-tag>
|
||||||
|
<b-tag v-if="award.Award.rarity === 'Extremely Rare'" class="is-danger">{{award.Award.rarity}}</b-tag>
|
||||||
|
<b-tag v-if="award.Award.rarity === 'Impossible'" class="is-danger">{{award.Award.rarity}}</b-tag><br>
|
||||||
|
<b-tooltip :label="award.Award.description"><h1 class="subtitle">{{award.Award.name}} <i class="fas fa-info-circle"></i></h1></b-tooltip><br>
|
||||||
|
<img :src="'https://cdn.kaverti.com/awards/icon/' + award.Award.icon + '.png'">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
<script>
|
||||||
|
import AjaxErrorHandler from "../../assets/js/errorHandler";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'UserAwards',
|
||||||
|
props: ['username'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
awards: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.axios
|
||||||
|
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + `user/${this.$route.params.username}?awards=true`)
|
||||||
|
.then(res => {
|
||||||
|
this.awards = res.data
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
let invalidId = e.response.data.errors.find(error => {
|
||||||
|
return error.name === 'accountDoesNotExist'
|
||||||
|
})
|
||||||
|
|
||||||
|
if (invalidId) {
|
||||||
|
this.$store.commit('set404Page', true)
|
||||||
|
} else {
|
||||||
|
AjaxErrorHandler(this.$store)(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -1,5 +1,40 @@
|
||||||
<template>
|
<template>
|
||||||
<main>
|
<main>
|
||||||
|
<div class="column" v-if="!friends.length">
|
||||||
|
<i class="far fa-times-square large-icon"></i>
|
||||||
|
<h1 class="subtitle">This user doesn't have any friends yet, how about you send them a friend request?</h1>
|
||||||
|
<b-button>Send {{$route.params.username}} a friend request</b-button>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
<script>
|
||||||
|
import AjaxErrorHandler from "../../assets/js/errorHandler";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'UserFriends',
|
||||||
|
props: ['username'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
friends: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.axios
|
||||||
|
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + 'relationships/user/' + this.$route.params.username)
|
||||||
|
.then(res => {
|
||||||
|
this.inventory = res.data.Inventories
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
let invalidId = e.response.data.errors.find(error => {
|
||||||
|
return error.name === 'accountDoesNotExist'
|
||||||
|
})
|
||||||
|
|
||||||
|
if (invalidId) {
|
||||||
|
this.$store.commit('set404Page', true)
|
||||||
|
} else {
|
||||||
|
AjaxErrorHandler(this.$store)(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -1,5 +1,50 @@
|
||||||
<template>
|
<template>
|
||||||
<main>
|
<main>
|
||||||
|
<div class="columns is-multiline">
|
||||||
|
<div class="column" v-if="!inventory.length">
|
||||||
|
<i class="far fa-times-square large-icon"></i>
|
||||||
|
<h1 class="subtitle">{{$t('user.inventoryTab.noItems')}}</h1>
|
||||||
|
</div>
|
||||||
|
<div class="column is-4" v-for='(item) in inventory' :key='"item-" + item.id'>
|
||||||
|
<h1 class="subtitle">{{item.Item.name}}</h1>
|
||||||
|
<div class="box">
|
||||||
|
<img v-if="item.Item.approved" width="128px" height="128px" :src="'https://cdn.kaverti.com/marketplace/avatars/' + item.Item.previewFile + '.png'">
|
||||||
|
<b-button class="is-info" v-if="!item.Item.offSale && !item.Item.saleEnabled">{{$t('user.inventoryTab.buyNow')}} <img style="vertical-align: middle" src="https://cdn.kaverti.com/icons/koins-white.svg" width="12%">{{item.Item.price}}</b-button>
|
||||||
|
<b-button class="is-success" v-if="item.Item.saleEnabled">{{$t('user.inventoryTab.buyNow')}} <img style="vertical-align: middle" src="https://cdn.kaverti.com/icons/koins-white.svg" width="12%">{{item.Item.salePrice}} <b-tooltip class="is-success" :label="$t('user.inventoryTab.onSale')"><i class="fas fa-info-circle"></i></b-tooltip></b-button>
|
||||||
|
<b-button disabled v-if="item.Item.offSale">{{$t('user.inventoryTab.unavailable')}}</b-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
<script>
|
||||||
|
import AjaxErrorHandler from "../../assets/js/errorHandler";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'UserInventory',
|
||||||
|
props: ['username'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
inventory: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.axios
|
||||||
|
.get(process.env.VUE_APP_APIENDPOINT + process.env.VUE_APP_APIVERSION + `/` + `user/${this.$route.params.username}?sort=username&order=desc&offset=234243&inventory=true`)
|
||||||
|
.then(res => {
|
||||||
|
this.inventory = res.data.Inventories
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
let invalidId = e.response.data.errors.find(error => {
|
||||||
|
return error.name === 'accountDoesNotExist'
|
||||||
|
})
|
||||||
|
|
||||||
|
if (invalidId) {
|
||||||
|
this.$store.commit('set404Page', true)
|
||||||
|
} else {
|
||||||
|
AjaxErrorHandler(this.$store)(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -76,7 +76,7 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
mounted () {
|
||||||
this.$store.dispatch('setTitle', this.$route.params.username + ' - Posts')
|
this.$store.dispatch('setTitle', this.$route.params.username + ' - Posts')
|
||||||
|
|
||||||
this.axios
|
this.axios
|
||||||
|
|
Loading…
Reference in a new issue