This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new ed151c23 Add banner display to Agenda
ed151c23 is described below
commit ed151c23a0bca37866568b1b5545469fa7fc9bd3
Author: Sebb <[email protected]>
AuthorDate: Thu Oct 3 14:11:25 2024 +0100
Add banner display to Agenda
---
www/board/agenda/routes.rb | 3 +++
www/board/agenda/views/layout/header.js.rb | 10 ++++++++++
www/board/agenda/views/layout/main.js.rb | 3 ++-
www/board/agenda/views/models/agenda.js.rb | 6 ++++++
www/board/agenda/views/router.js.rb | 2 +-
5 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/www/board/agenda/routes.rb b/www/board/agenda/routes.rb
index 985f2bcb..0368d1bc 100755
--- a/www/board/agenda/routes.rb
+++ b/www/board/agenda/routes.rb
@@ -397,6 +397,9 @@ get %r{/(\d\d\d\d-\d\d-\d\d).json} do |date|
agenda = agenda.select {|item| committees.include? item['title']}
end
+ # Add banner (or nil) to the first entry
+ # must always update the entry as they may be cached
+ agenda.first['banner'] = Status.banner
agenda
end
ensure
diff --git a/www/board/agenda/views/layout/header.js.rb
b/www/board/agenda/views/layout/header.js.rb
index f484928f..4db1db1c 100644
--- a/www/board/agenda/views/layout/header.js.rb
+++ b/www/board/agenda/views/layout/header.js.rb
@@ -22,6 +22,16 @@ class Header < Vue
_span.clock! "\u231B" if Header.clock_counter > 0
+ if @@banner # is there a banner?
+ if @@banner['href'] # is there a link?
+ _div.navbar_brand {
+ _a @@banner['msg'], href: @@banner['href']
+ }
+ else # just show the text
+ _div.navbar_brand @@banner['msg']
+ end
+ end
+
_ul.nav.nav_pills.navbar_right do
# pending count
diff --git a/www/board/agenda/views/layout/main.js.rb
b/www/board/agenda/views/layout/main.js.rb
index 6c9616f6..b3b01e77 100644
--- a/www/board/agenda/views/layout/main.js.rb
+++ b/www/board/agenda/views/layout/main.js.rb
@@ -15,7 +15,7 @@ class Main < Vue
_p 'Not found'
else
- _Header item: @item
+ _Header item: @item, banner: @banner
_main do
if Agenda.index[0].text # don't display page while bootstrapping
@@ -62,6 +62,7 @@ class Main < Vue
@item = route.item
@buttons = route.buttons
@options = route.options
+ @banner = route.banner
unless Main.item and route.item and Main.item.view == route.item.view
Main.view = nil
diff --git a/www/board/agenda/views/models/agenda.js.rb
b/www/board/agenda/views/models/agenda.js.rb
index 4c9334e5..83498baa 100644
--- a/www/board/agenda/views/models/agenda.js.rb
+++ b/www/board/agenda/views/models/agenda.js.rb
@@ -12,6 +12,10 @@ class Agenda
Vue.util.defineReactive @@approved, '?'
@@color = 'blank'
+ def self.banner
+ @@banner
+ end
+
# (re)-load an agenda, creating instances for each item, and linking
# each instance to their next and previous items.
def self.load(list, digest)
@@ -21,6 +25,8 @@ class Agenda
@@index = []
prev = nil
+ @@banner = list.first.banner
+
list.each do |item|
item = Agenda.new(item)
item.prev = prev
diff --git a/www/board/agenda/views/router.js.rb
b/www/board/agenda/views/router.js.rb
index c9fbeaa6..f559fd5d 100644
--- a/www/board/agenda/views/router.js.rb
+++ b/www/board/agenda/views/router.js.rb
@@ -179,6 +179,6 @@ class Router
end
end
- return {item: item, buttons: buttons, options: options}
+ return {item: item, buttons: buttons, options: options, banner:
Agenda.banner}
end
end