redirect /remote-users/:username@:hostname -> /users/:id, /remote-users/:hostname/:username -> /users/:id
This commit is contained in:
parent
2b68134ab0
commit
e4820012a3
4 changed files with 67 additions and 0 deletions
31
src/components/remote_user_resolver/remote_user_resolver.js
Normal file
31
src/components/remote_user_resolver/remote_user_resolver.js
Normal file
|
@ -0,0 +1,31 @@
|
|||
const RemoteUserResolver = {
|
||||
data: () => ({
|
||||
error: false
|
||||
}),
|
||||
mounted () {
|
||||
this.redirect()
|
||||
},
|
||||
methods: {
|
||||
redirect () {
|
||||
const acct = this.$route.params.username + '@' + this.$route.params.hostname
|
||||
this.$store.state.api.backendInteractor.fetchUser({ id: acct })
|
||||
.then((externalUser) => {
|
||||
if (externalUser.error) {
|
||||
this.error = true
|
||||
} else {
|
||||
this.$store.commit('addNewUsers', [externalUser])
|
||||
const id = externalUser.id
|
||||
this.$router.replace({
|
||||
name: 'external-user-profile',
|
||||
params: { id }
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.error = true
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default RemoteUserResolver
|
20
src/components/remote_user_resolver/remote_user_resolver.vue
Normal file
20
src/components/remote_user_resolver/remote_user_resolver.vue
Normal file
|
@ -0,0 +1,20 @@
|
|||
<template>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
{{ $t('remote_user_resolver.remote_user_resolver') }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
{{ $t('remote_user_resolver.searching_for') }} @{{ $route.params.username }}@{{ $route.params.hostname }}
|
||||
</p>
|
||||
<p v-if="error">
|
||||
{{ $t('remote_user_resolver.error') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="./remote_user_resolver.js"></script>
|
||||
|
||||
<style lang="scss">
|
||||
</style>
|
Loading…
Add table
Add a link
Reference in a new issue