aboutsummaryrefslogtreecommitdiff
path: root/src/components/notifications
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/notifications')
-rw-r--r--src/components/notifications/notifications.scss91
-rw-r--r--src/components/notifications/notifications.vue7
2 files changed, 63 insertions, 35 deletions
diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss
index 517afeaa..100349eb 100644
--- a/src/components/notifications/notifications.scss
+++ b/src/components/notifications/notifications.scss
@@ -1,45 +1,70 @@
@import '../../_variables.scss';
-.notification {
- padding: 0.4em 0 0 0.7em;
- display: flex;
- border-bottom: 1px solid silver;
-
- .text {
- min-width: 0px;
- word-wrap: break-word;
- line-height:18px;
-
- .icon-retweet {
- color: $green;
- }
- .icon-reply {
- color: $blue;
+.notifications {
+
+ .panel-heading {
+ // force the text to stay centered, while keeping
+ // the button in the right side of the panel heading
+ position: relative;
+ button {
+ position: absolute;
+ padding: 0.1em 0.3em 0.25em 0.3em;
+ right: 0.6em;
}
+ }
+
+ .notification {
+ // Will have to use pixels here to ensure consistent distance with
+ // pad alone and pad + border, browsers bad at rounding this with em,
+ // they love to give a 1 pixel ghost offset with 0.7em vs 0.3em + 0.4em,
+ // which does not happen with 10px vs 4px + 6px.
+ padding: 0.4em 0 0 10px;
+ display: flex;
+ border-bottom: 1px solid silver;
+
+
+ .text {
+ min-width: 0px;
+ word-wrap: break-word;
+ line-height:18px;
- h1 {
- margin: 0 0 0.3em;
- padding: 0;
- font-size: 1em;
- line-height:20px;
+ .icon-retweet {
+ color: $green;
+ }
+
+ .icon-reply {
+ color: $blue;
+ }
+
+ h1 {
+ margin: 0 0 0.3em;
+ padding: 0;
+ font-size: 1em;
+ line-height:20px;
+ }
+
+ padding: 0.3em 0.8em 0.5em;
+ p {
+ margin: 0;
+ margin-top: 0;
+ margin-bottom: 0.3em;
+ }
}
- padding: 0.3em 0.8em 0.5em;
- p {
- margin: 0;
- margin-top: 0;
- margin-bottom: 0.3em;
+ .avatar {
+ padding-top: 0.3em;
+ width: 32px;
+ height: 32px;
+ border-radius: 50%;
}
- }
- .avatar {
- padding-top: 0.3em;
- width: 32px;
- height: 32px;
- border-radius: 50%;
+ &:last-child {
+ border: none
+ }
}
- &:last-child {
- border: none
+ .unseen {
+ border-left: 4px solid rgba(255, 48, 16, 0.65);
+ padding-left: 6px;
}
}
diff --git a/src/components/notifications/notifications.vue b/src/components/notifications/notifications.vue
index 785cc019..41c274aa 100644
--- a/src/components/notifications/notifications.vue
+++ b/src/components/notifications/notifications.vue
@@ -1,9 +1,12 @@
<template>
<div class="notifications">
<div class="panel panel-default base00-background">
- <div class="panel-heading base01-background base04">Notifications ({{unseenCount}}) <button @click.prevent="markAsSeen">Read!</button></div>
+ <div class="panel-heading base01-background base04">
+ Notifications ({{unseenCount}})
+ <button @click.prevent="markAsSeen" class="base05 base02-background">Read!</button>
+ </div>
<div class="panel-body">
- <div v-for="notification in visibleNotifications" class="notification" :class='{"base01-background": notification.seen}'>
+ <div v-for="notification in visibleNotifications" class="notification" :class='{"unseen": !notification.seen}'>
<a :href="notification.action.user.statusnet_profile_url">
<img class='avatar' :src="notification.action.user.profile_image_url_original">
</a>