aboutsummaryrefslogtreecommitdiff
path: root/src/components/remote_user_resolver
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/remote_user_resolver')
-rw-r--r--src/components/remote_user_resolver/remote_user_resolver.js31
-rw-r--r--src/components/remote_user_resolver/remote_user_resolver.vue20
2 files changed, 51 insertions, 0 deletions
diff --git a/src/components/remote_user_resolver/remote_user_resolver.js b/src/components/remote_user_resolver/remote_user_resolver.js
new file mode 100644
index 00000000..9b5e511e
--- /dev/null
+++ b/src/components/remote_user_resolver/remote_user_resolver.js
@@ -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
diff --git a/src/components/remote_user_resolver/remote_user_resolver.vue b/src/components/remote_user_resolver/remote_user_resolver.vue
new file mode 100644
index 00000000..f8945225
--- /dev/null
+++ b/src/components/remote_user_resolver/remote_user_resolver.vue
@@ -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>