aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2018-12-13 15:34:51 +0300
committerHenry Jameson <me@hjkos.com>2018-12-13 15:34:51 +0300
commit42bb34821908430cdfdbad827567049e3bf22b22 (patch)
tree066556073bd8dfa39cda96b8b876d928b4624aed /src
parentfb5261b926adfb5b9bbe1bf55e36fe8b5f4eb57f (diff)
Fix fetching new users, add storing local users in usersObjects with their
screen_name as well as id, so that they could be fetched zero-state with screen-name link.
Diffstat (limited to 'src')
-rw-r--r--src/components/user_profile/user_profile.vue18
-rw-r--r--src/modules/users.js5
2 files changed, 22 insertions, 1 deletions
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index 91d4acd2..4d2853a6 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -3,6 +3,16 @@
<div v-if="user" class="user-profile panel panel-default">
<user-card-content :user="user" :switcher="true" :selected="timeline.viewing"></user-card-content>
</div>
+ <div v-else class="panel user-profile-placeholder">
+ <div class="panel-heading">
+ <div class="title">
+ {{ $t('settings.profile_tab') }}
+ </div>
+ </div>
+ <div class="panel-body">
+ <i class="icon-spin3 animate-spin"></i>
+ </div>
+ </div>
<Timeline :title="$t('user_profile.timeline_title')" :timeline="timeline" :timeline-name="'user'" :user-id="userId"/>
</div>
</template>
@@ -21,4 +31,12 @@
align-items: stretch;
}
}
+.user-profile-placeholder {
+ .panel-body {
+ display: flex;
+ justify-content: center;
+ align-items: middle;
+ padding: 7em;
+ }
+}
</style>
diff --git a/src/modules/users.js b/src/modules/users.js
index 6d966c3b..97e1a318 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -16,6 +16,9 @@ export const mergeOrAdd = (arr, obj, item) => {
// This is a new item, prepare it
arr.push(item)
obj[item.id] = item
+ if (item.screen_name && !item.screen_name.includes('@')) {
+ obj[item.screen_name] = item
+ }
return {item, new: true}
}
}
@@ -78,7 +81,7 @@ const users = {
actions: {
fetchUser (store, id) {
store.rootState.api.backendInteractor.fetchUser({id})
- .then((user) => store.commit('addNewUsers', user))
+ .then((user) => store.commit('addNewUsers', [user]))
},
addNewStatuses (store, { statuses }) {
const users = map(statuses, 'user')