From f33161f95e2286d0a2109ea289f763840305ad76 Mon Sep 17 00:00:00 2001
From: Lisa P
Date: Thu, 8 Oct 2015 18:44:56 +0200
Subject: [PATCH] start working on broadcasts
---
app/controllers/top.coffee | 27 ++++++++++++
app/styles/app.scss | 1 +
app/styles/app/layouts/broadcasts.sass | 19 +++++++++
app/styles/app/layouts/top.sass | 18 ++++----
app/templates/top.hbs | 42 ++++++++++---------
.../line-icons/icon-broadcast-green.svg | 22 ++++++++++
.../images/line-icons/icon-broadcast-grey.svg | 14 +++++++
.../images/line-icons/icon-broadcast-red.svg | 22 ++++++++++
8 files changed, 135 insertions(+), 30 deletions(-)
create mode 100644 app/styles/app/layouts/broadcasts.sass
create mode 100644 public/images/line-icons/icon-broadcast-green.svg
create mode 100644 public/images/line-icons/icon-broadcast-grey.svg
create mode 100644 public/images/line-icons/icon-broadcast-red.svg
diff --git a/app/controllers/top.coffee b/app/controllers/top.coffee
index 7ef3d5be..9430cc57 100644
--- a/app/controllers/top.coffee
+++ b/app/controllers/top.coffee
@@ -1,4 +1,6 @@
`import Ember from 'ember'`
+`import Ajax from 'travis/utils/ajax'`
+`import config from 'travis/config/environment'`
Controller = Ember.Controller.extend
needs: ['currentUser']
@@ -12,6 +14,31 @@ Controller = Ember.Controller.extend
"#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=48&d=mm"
).property('user.gravatarId')
+ broadcasts: (->
+
+ if @get('auth.signedIn')
+ broadcasts = Ember.ArrayProxy.create(
+ content: [],
+ lastBroadcastStatus: '',
+ isLoading: true
+ )
+ apiEndpoint = config.apiEndpoint
+ options = {}
+ options.type = 'GET'
+ options.headers = { Authorization: "token #{@auth.token()}" }
+
+ $.ajax("#{apiEndpoint}/v3/broadcasts", options).then (response) ->
+ array = response.broadcasts.map( (broadcast) ->
+ Ember.Object.create(broadcast)
+ ).reverse()
+
+ broadcasts.set('lastBroadcastStatus', array[0].category)
+ broadcasts.set('content', array)
+ broadcasts.set('isLoading', false)
+
+ broadcasts
+ ).property()
+
actions: {
toggleBurgerMenu: ->
@toggleProperty('is-open')
diff --git a/app/styles/app.scss b/app/styles/app.scss
index fa7db947..3c3639f9 100644
--- a/app/styles/app.scss
+++ b/app/styles/app.scss
@@ -53,6 +53,7 @@
@import "app/layouts/top";
@import "app/layouts/owner";
@import "app/layouts/branches";
+@import "app/layouts/broadcasts";
@import "app/landing";
@import "app/layouts/requests";
diff --git a/app/styles/app/layouts/broadcasts.sass b/app/styles/app/layouts/broadcasts.sass
new file mode 100644
index 00000000..e4243fb1
--- /dev/null
+++ b/app/styles/app/layouts/broadcasts.sass
@@ -0,0 +1,19 @@
+.broadcasts
+ // display: none
+
+
+.icon-broadcast
+ display: inline-block
+ width: 1em
+ height: 1.9em
+ background:
+ image: inline-image('line-icons/icon-broadcast-grey.svg')
+ repeat: no-repeat
+ size: 100%
+ vertical-align: middle
+
+ &.warning
+ background-image: inline-image('line-icons/icon-broadcast-red.svg')
+
+ &.announcement
+ background-image: inline-image('line-icons/icon-broadcast-green.svg')
diff --git a/app/styles/app/layouts/top.sass b/app/styles/app/layouts/top.sass
index 50caa7e2..783b9bf6 100644
--- a/app/styles/app/layouts/top.sass
+++ b/app/styles/app/layouts/top.sass
@@ -89,18 +89,16 @@ $top-height: 55px
&.is-open
height: auto
- .navigation-handle
- position: relative
- margin: 0
-
- .navigation-sub
- position: relative
+ > li
+ position: relative
.navigation-nested
- @include resetul
+ margin: 0
+ padding: 0
+ list-style: none
a,
- .navigation-handle
+ .navigation-anchor
display: block
color: #898989
font-size: $font-size-m
@@ -137,7 +135,7 @@ $top-height: 55px
margin-right: 0
a,
- .navigation-handle span:not(.sync-spinner)
+ .navigation-anchor
padding: 0 .2em
.centered & .navigation li:last-child
@@ -159,6 +157,6 @@ $top-height: 55px
text-decoration: none
background-color: $cream-light
- .navigation-handle:hover + .navigation-nested,
+ .navigation-anchor:hover + .navigation-nested,
.navigation-nested:hover
display: block
diff --git a/app/templates/top.hbs b/app/templates/top.hbs
index 3e545b99..26cdf851 100644
--- a/app/templates/top.hbs
+++ b/app/templates/top.hbs
@@ -5,14 +5,24 @@
+
+ -
+
+ {{#if auth.signedIn}}
+
+ {{#each broadcasts.content as |broadcast|}}
+ - {{broadcast.category}} {{{broadcast.message}}}
+ {{/each}}
+
+ {{/if}}
+
+
- Blog
- Status
{{#unless config.pro}}
- -
+ Help
- Docs
- Imprint
@@ -22,26 +32,18 @@
{{#if config.pro}}
- Docs
- -
-
- Legal
-
+ -
+ Legal
{{/if}}
- -
-
+
-
+
{{#if auth.signedOut}}
{{/if}}
@@ -53,7 +55,7 @@
{{#if auth.signingIn}}
{{/if}}
-
+
{{#if auth.signedIn}}
-
diff --git a/public/images/line-icons/icon-broadcast-green.svg b/public/images/line-icons/icon-broadcast-green.svg
new file mode 100644
index 00000000..d2a7839d
--- /dev/null
+++ b/public/images/line-icons/icon-broadcast-green.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/public/images/line-icons/icon-broadcast-grey.svg b/public/images/line-icons/icon-broadcast-grey.svg
new file mode 100644
index 00000000..9fad4f81
--- /dev/null
+++ b/public/images/line-icons/icon-broadcast-grey.svg
@@ -0,0 +1,14 @@
+
+
+
+
diff --git a/public/images/line-icons/icon-broadcast-red.svg b/public/images/line-icons/icon-broadcast-red.svg
new file mode 100644
index 00000000..01df6bf6
--- /dev/null
+++ b/public/images/line-icons/icon-broadcast-red.svg
@@ -0,0 +1,22 @@
+
+
+
+