@ -227,12 +227,12 @@
< a class = "text-dark small" href = "/account/activity" > See All < / a >
< / p >
< / div >
< div class = "card-body loader text-center" style = "height: 1 70px;">
< div class = "card-body loader text-center" style = "height: 2 70px;">
< div class = "spinner-border" role = "status" >
< span class = "sr-only" > Loading ... < / span >
< / div >
< / div >
< div class = "card-body pt-2 contents" style = "max-height: 1 70px; overflow-y: scroll;">
< div class = "card-body pt-2 contents" style = "max-height: 2 70px; overflow-y: scroll;">
< div v-if ="notifications.length > 0" class="media mb-3 align-items-center" v-for="(n, index) in notifications" >
< img class = "mr-2 rounded-circle" style = "border:1px solid #ccc" :src ="n.account.avatar" alt = "" width = "32px" height = "32px" >
< div class = "media-body font-weight-light small" >
@ -262,7 +262,12 @@
< / p >
< / div >
< / div >
< / div >
< div v-if ="notifications.length" >
< infinite -loading @infinite ="infiniteNotifications" >
< div slot = "no-results" class = "font-weight-bold" > < / div >
< div slot = "no-more" class = "font-weight-bold" > < / div >
< / i n f i n i t e - l o a d i n g >
< / div >
< div v-if ="notifications.length == 0" class="text-lighter text-center py-3" >
< p class = "mb-0" > < i class = "fas fa-inbox fa-3x" > < / i > < / p >
@ -318,6 +323,7 @@
min _id : 0 ,
max _id : 0 ,
notifications : { } ,
notificationCursor : 2 ,
stories : { } ,
suggestions : { } ,
loading : true ,
@ -438,17 +444,44 @@
fetchNotifications ( ) {
axios . get ( '/api/v1/notifications' )
. then ( res => {
this . notifications = res . data . filter ( n => {
let data = res . data . filter ( n => {
if ( n . type == 'share' && ! status ) {
return false ;
}
return true ;
} ) ;
this . notifications = data ;
$ ( '.notification-card .loader' ) . addClass ( 'd-none' ) ;
$ ( '.notification-card .contents' ) . removeClass ( 'd-none' ) ;
} ) ;
} ,
infiniteNotifications ( $state ) {
if ( this . notificationCursor > 10 ) {
$state . complete ( ) ;
return ;
}
axios . get ( '/api/v1/notifications' , {
params : {
page : this . notificationCursor
}
} ) . then ( res => {
if ( res . data . length ) {
let data = res . data . filter ( n => {
if ( n . type == 'share' && ! status ) {
return false ;
}
return true ;
} ) ;
this . notifications . push ( ... data ) ;
this . notificationCursor ++ ;
$state . loaded ( ) ;
} else {
$state . complete ( ) ;
}
} ) ;
} ,
reportUrl ( status ) {
let type = status . in _reply _to ? 'comment' : 'post' ;
let id = status . id ;