diff options
Diffstat (limited to 'src/components/user_finder')
| -rw-r--r-- | src/components/user_finder/user_finder.js | 22 | ||||
| -rw-r--r-- | src/components/user_finder/user_finder.vue | 23 |
2 files changed, 45 insertions, 0 deletions
diff --git a/src/components/user_finder/user_finder.js b/src/components/user_finder/user_finder.js new file mode 100644 index 00000000..03205382 --- /dev/null +++ b/src/components/user_finder/user_finder.js @@ -0,0 +1,22 @@ +const UserFinder = { + data: () => ({ + username: undefined, + hidden: true + }), + methods: { + findUser (username) { + this.$store.state.api.backendInteractor.externalProfile(username) + .then((user) => { + if (!user.error) { + this.$store.commit('addNewUsers', [user]) + this.$router.push({name: 'user-profile', params: {id: user.id}}) + } + }) + }, + toggleHidden () { + this.hidden = !this.hidden + } + } +} + +export default UserFinder diff --git a/src/components/user_finder/user_finder.vue b/src/components/user_finder/user_finder.vue new file mode 100644 index 00000000..c23d8ee0 --- /dev/null +++ b/src/components/user_finder/user_finder.vue @@ -0,0 +1,23 @@ +<template> + <a href="#" v-if="hidden"><i class="icon-user-plus user-finder-icon" @click.prevent="toggleHidden"/></a> + <span v-else> + <input class="user-finder-input base03-border" @keyup.enter="findUser(username)" v-model="username" placeholder="Find user" id="user-finder-input" type="text"/> + <i class="icon-cancel user-finder-icon" @click="toggleHidden"/> + </span> +</template> + +<script src="./user_finder.js"></script> + +<style lang="scss"> + .user-finder-icon { + margin-right: 0.25em; + } + + .user-finder-input { + border-width: 1px; + border-style: solid; + border-color: inherit; + border-radius: 5px; + padding: 0.1em 0.2em 0.2em 0.2em; + } +</style> |
