diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss index f02ced8d3bdf544fe503037b3a2f555cfea728d3..84dd36fa61cf0c21c7fd1a598e1ced7d562236bd 100644 --- a/src/components/notifications/notifications.scss +++ b/src/components/notifications/notifications.scss @@ -49,6 +49,10 @@ color: $green; } + .icon-user-plus.lit { + color: $blue; + } + .icon-reply.lit { color: $blue; } diff --git a/src/components/notifications/notifications.vue b/src/components/notifications/notifications.vue index 6c0419a57ee85dbb87fe89e9e5c54209b3b7a701..c9113bc4820ce44ef81de68129ef3997a5555cb8 100644 --- a/src/components/notifications/notifications.vue +++ b/src/components/notifications/notifications.vue @@ -36,6 +36,15 @@ </h1> <status :compact="true" :statusoid="notification.status"></status> </div> + <div v-if="notification.type === 'follow'"> + <h1> + <span :title="'@'+notification.action.user.screen_name">{{ notification.action.user.name }}</span> + <i class="fa icon-user-plus lit"></i> + </h1> + <div> + <router-link :to="{ name: 'user-profile', params: { id: notification.action.user.id } }">@{{ notification.action.user.screen_name }}</router-link> followed you + </div> + </div> </div> </div> </div> diff --git a/src/modules/statuses.js b/src/modules/statuses.js index 084800fa5d02f3476afa04390433abadd9ac2da7..de5d7d2314e4f02d8a82d9481c38e8b2a75d9922 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -105,6 +105,10 @@ export const statusType = (status) => { return 'deletion' } + if (status.text.match(/started following/)) { + return 'follow' + } + return 'unknown' } @@ -253,6 +257,9 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us favoriteStatus(favorite) } }, + 'follow': (status) => { + addNotification({ type: 'follow', status: status, action: status }) + }, 'deletion': (deletion) => { const uri = deletion.uri updateMaxId(deletion)