diff --git a/src/components/notifications/notifications.js b/src/components/notifications/notifications.js index c0c86c68ba85d2e4ce4240f7ff8c4f7908e04b28..5f0d7f2642a395e3a8616970f1aa136a163f0fdb 100644 --- a/src/components/notifications/notifications.js +++ b/src/components/notifications/notifications.js @@ -23,6 +23,11 @@ const Notifications = { }, unseenCount () { return this.unseenNotifications.length + }, + hiderStyle () { + return { + background: `linear-gradient(to bottom, rgba(0, 0, 0, 0), ${this.$store.state.config.colors['base00']} 80%)` + } } }, components: { diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss index 84dd36fa61cf0c21c7fd1a598e1ced7d562236bd..db7b08436d8e58b5d34efaf8c08a5baa9f8bd578 100644 --- a/src/components/notifications/notifications.scss +++ b/src/components/notifications/notifications.scss @@ -44,6 +44,8 @@ min-width: 0px; word-wrap: break-word; line-height:18px; + position: relative; + overflow: hidden; .icon-retweet.lit { color: $green; @@ -57,6 +59,11 @@ color: $blue; } + .status-content { + margin: 0; + max-height: 300px; + } + h1 { word-break: break-all; margin: 0 0 0.3em; @@ -89,6 +96,19 @@ } } + .notification-content { + max-height: 12em; + overflow-y: hidden; + //text-overflow: ellipsis; + } + + .notification-gradient { + position: absolute; + width: 100%; + height: 4em; + margin-top:8em; + } + .unseen { border-left: 4px solid rgba(255, 16, 8, 0.75); padding-left: 6px; diff --git a/src/components/notifications/notifications.vue b/src/components/notifications/notifications.vue index dfc7b0c927b24da734f8f8a4a0a8afd656092eb9..1e5f697522658f9e3e4aa415c8aee9021e0b2fb7 100644 --- a/src/components/notifications/notifications.vue +++ b/src/components/notifications/notifications.vue @@ -20,7 +20,8 @@ <i class="fa icon-star"></i> <small><router-link :to="{ name: 'conversation', params: { id: notification.status.id } }"><timeago :since="notification.action.created_at" :auto-update="240"></timeago></router-link></small> </h1> - <div v-html="notification.status.statusnet_html"></div> + <div class="notification-gradient" :style="hiderStyle"></div> + <div class="notification-content" v-html="notification.status.statusnet_html"></div> </div> <div v-if="notification.type === 'repeat'"> <h1> @@ -28,7 +29,8 @@ <i class="fa icon-retweet lit"></i> <small><router-link :to="{ name: 'conversation', params: { id: notification.status.id } }"><timeago :since="notification.action.created_at" :auto-update="240"></timeago></router-link></small> </h1> - <div v-html="notification.status.statusnet_html"></div> + <div class="notification-gradient" :style="hiderStyle"></div> + <div class="notification-content" v-html="notification.status.statusnet_html"></div> </div> <div v-if="notification.type === 'mention'"> <h1> diff --git a/src/components/status/status.vue b/src/components/status/status.vue index c9194ab43154eb2884781e798a494be29629ed56..aa3fc9878d57f5ffaf0b57d617da029b2b420f60 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -241,6 +241,10 @@ .status-content { margin: 3px 15px 4px 0; + max-height: 400px; + overflow-y: auto; + overflow-x: hidden; + img, video { max-width: 100%; max-height: 400px;