diff options
Diffstat (limited to 'src/components/notifications')
| -rw-r--r-- | src/components/notifications/notifications.scss | 91 | ||||
| -rw-r--r-- | src/components/notifications/notifications.vue | 7 |
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> |
