Skip to content
Snippets Groups Projects
Commit fdcab5d2 authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Merge branch '729-notification-refresh' into 'master'

Fix #729: Display new notifications immediatly on notifications page

See merge request funkwhale/funkwhale!648
parents 9dcfc205 9e6bbb48
No related branches found
No related tags found
No related merge requests found
Display new notifications immediatly on notifications page (#729)
<template> <template>
<main class="main pusher" v-title="labels.title"> <main class="main pusher" v-title="labels.title">
<section class="ui vertical aligned stripe segment"> <section class="ui vertical aligned stripe segment">
<div v-if="isLoading" :class="['ui', {'active': isLoading}, 'inverted', 'dimmer']"> <div class="ui container">
<div class="ui text loader"><translate>Loading notifications…</translate></div>
</div>
<div v-else class="ui container">
<h1 class="ui header"><translate>Your notifications</translate></h1> <h1 class="ui header"><translate>Your notifications</translate></h1>
<div class="ui toggle checkbox"> <div class="ui toggle checkbox">
<input v-model="filters.is_read" type="checkbox"> <input v-model="filters.is_read" type="checkbox">
...@@ -18,7 +15,12 @@ ...@@ -18,7 +15,12 @@
<translate>Mark all as read</translate> <translate>Mark all as read</translate>
</div> </div>
<div class="ui hidden divider" /> <div class="ui hidden divider" />
<table v-if="notifications.count > 0" class="ui table">
<div v-if="isLoading" :class="['ui', {'active': isLoading}, 'inverted', 'dimmer']">
<div class="ui text loader"><translate>Loading notifications…</translate></div>
</div>
<table v-else-if="notifications.count > 0" class="ui table">
<tbody> <tbody>
<notification-row :item="item" v-for="item in notifications.results" :key="item.id" /> <notification-row :item="item" v-for="item in notifications.results" :key="item.id" />
</tbody> </tbody>
...@@ -42,7 +44,7 @@ export default { ...@@ -42,7 +44,7 @@ export default {
data() { data() {
return { return {
isLoading: false, isLoading: false,
notifications: null, notifications: {count: 0, results: []},
filters: { filters: {
is_read: false is_read: false
} }
...@@ -76,7 +78,8 @@ export default { ...@@ -76,7 +78,8 @@ export default {
} }
}, },
methods: { methods: {
handleNewNotification(event) { handleNewNotification (event) {
this.notifications.count += 1
this.notifications.results.unshift(event.item) this.notifications.results.unshift(event.item)
}, },
fetch(params) { fetch(params) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment