spina-conferences-primer_theme 0.2.2 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 936083c4293cbc611194be98f61919d3ebafb7fba30657fe953a03b0168b95ef
4
- data.tar.gz: c278c8c41ec3a012cc6a4e5c6b66c233459b0e3fe3e4a11841f2f2f72e916f1b
3
+ metadata.gz: 0a9af98852b5d516ce1dae3c7ebfd570ac23300b7a5037b0e1968686a3b7d318
4
+ data.tar.gz: e8d9d34229bb3fe09261aedbf8d1fec41e905df4e6fb1d11ea932f377ffa2827
5
5
  SHA512:
6
- metadata.gz: f3bb1a5ffa62d39071a3afc7d871781e4be937a73e6e860dfed3bd09bd1c63fe776aa705b09b7b83adeeca5bc6865470571ccc9826550891465054ca454e9114
7
- data.tar.gz: 10a589d62195e08be32b6300842f92ff39dea79ec27d18015c1e2d9bc0bf41f06ef67256c8ab5015d80be0be8de91b1530522a4d931d90296e47c33199fec72f
6
+ metadata.gz: 5bcb8c8d1527b954ab2dd6a4bf3e9869b29d2dbec26e541abadd4a8a2a42638337ed5ff07b45f943b77688f2173b8c6e71e5dc59d27d63960458cd24b59e01b6
7
+ data.tar.gz: 32493b5f6c0e48b4dd3dcd5b381e0886365fc322ac8aacd5d1043490dec3cd541124ac565176ec7bb9ac86231ad6b3904bea7e09b91b38a926d03ca181fed42d
@@ -10,12 +10,18 @@ module Spina
10
10
 
11
11
  def index
12
12
  @conferences = Admin::Conferences::Conference.sorted.includes(institutions: [:logo])
13
- respond_to :html, :ics
13
+ respond_to do |format|
14
+ format.html
15
+ format.ics { render body: @conferences.to_ics }
16
+ end
14
17
  end
15
18
 
16
19
  def show
17
20
  add_breadcrumb @conference.name
18
- respond_to :html, :ics
21
+ respond_to do |format|
22
+ format.html
23
+ format.ics { render body: @conference.to_ics }
24
+ end
19
25
  end
20
26
 
21
27
  private
@@ -23,11 +23,12 @@ module Spina
23
23
  end
24
24
  end
25
25
 
26
- def calendar(name:, &block)
27
- # noinspection SpellCheckingInspection
28
- block ||= proc { '' }
29
- Icalendar::Calendar.new.tap { |calendar| calendar.x_wr_calname = name }
30
- .then(&:to_ical).then { |calendar| calendar.insert(calendar.index('END:VCALENDAR'), capture(&block)) }
26
+ def calendar(name:)
27
+ Icalendar::Calendar.new
28
+ .tap { |calendar| calendar.x_wr_calname = name }
29
+ .tap { |calendar| yield(calendar) }
30
+ .tap(&:publish)
31
+ .then(&:to_ical)
31
32
  end
32
33
  end
33
34
  end
@@ -2,5 +2,5 @@
2
2
  = render_breadcrumbs(builder: Spina::Conferences::PrimerTheme::Breadcrumbs::Builder)
3
3
 
4
4
  = render template: 'layouts/spina/conferences/primer_theme/application',
5
- locals: { author: current_account.name, description: strip_tags(@presentation.abstract), title: @presentation.name,
5
+ locals: { author: current_account.name, description: @presentation.abstract.try(:to_plain_text), title: @presentation.name,
6
6
  seo_title: @presentation.name }
@@ -1,5 +1,5 @@
1
1
  = render Primer::DetailsComponent.new(overlay: :dark, reset: true, mb: [2, 0, nil, nil], mr: [nil, 2, nil, nil]) do |component|
2
- = component.summary(button_type: :outline, variant: :small, aria: { haspopup: 'dialog' }) do
2
+ = component.summary(button_type: :outline, variant: :small, aria: { haspopup: 'dialog' }, type: nil) do
3
3
  = render Primer::OcticonComponent.new('info')
4
4
  = t :'.cookies'
5
5
  = component.body(tag: :'details-dialog') do
@@ -6,7 +6,7 @@
6
6
  = render Primer::OcticonComponent.new('chevron-down')
7
7
  %ul.list-style-none
8
8
  - navigation_item.children.each do |child|
9
- %li= link_to child.menu_title, child.materialized_path, class: %w[d-block py-2 pl-3 border-top border-white-fade text-white]
9
+ %li= link_to child.menu_title, child.materialized_path, class: %w[d-block py-2 pl-3 border-top border-white-fade color-text-white]
10
10
  - elsif navigation_item.is_root?
11
11
  = link_to navigation_item.menu_title, navigation_item.materialized_path,
12
12
  class: %w[Header-link py-2]
@@ -1,9 +1,8 @@
1
1
  .Header.px-3.px-md-4.px-lg-5.flex-wrap.flex-lg-nowrap
2
2
  .Header-item.mt-n1.mb-n1= link_to render('logo'), root_path, class: 'Header-link'
3
3
  %details.details-reset.d-lg-none{ style: 'display: contents' }
4
- %summary.Header-item
5
- %button.Header-link.btn-link{ type: 'button' }
6
- = render Primer::OcticonComponent.new('three-bars', height: 24)
4
+ %summary.Header-item.Header-link.btn-link{ type: 'button' }
5
+ = render Primer::OcticonComponent.new('three-bars', height: 24)
7
6
  .Header-item.Header-item--full.flex-column.width-full.flex-order-1.mr-0.mt-3
8
7
  = render partial: 'mobile_navigation_items'
9
8
  = render partial: 'navigation_item', collection: main_navigation_items, cached: true
@@ -1,11 +1,11 @@
1
1
  .Header-item.position-relative.d-none.d-lg-flex
2
- - if navigation_item.has_children?
2
+ - if navigation_item.has_children? && navigation_item.children.regular_pages.in_menu.live.sorted.any?
3
3
  %details.details-reset.details-overlay
4
4
  %summary.Header-link{ role: 'button', aria: { haspopup: 'menu' } }
5
5
  = navigation_item.menu_title
6
6
  = render Primer::OcticonComponent.new('chevron-down')
7
7
  %ul.dropdown-menu.dropdown-menu-sw
8
- - navigation_item.children.each do |child|
8
+ - navigation_item.children.regular_pages.in_menu.live.sorted.each do |child|
9
9
  %li= link_to child.menu_title, child.materialized_path, class: 'dropdown-item'
10
10
  - elsif navigation_item.is_root?
11
11
  = link_to navigation_item.menu_title, navigation_item.materialized_path, class: %w[Header-link]
@@ -8,4 +8,5 @@
8
8
  = render(Primer::BaseComponent.new(tag: :address, display: :inline)) { event.location }
9
9
  = render Primer::FlexItemComponent.new(flex_auto: true, col: [nil, nil, 8, nil]) do
10
10
  = render(Primer::HeadingComponent.new(tag: :h3, mb: 1)) { event.name }
11
- = render(Primer::TextComponent.new(tag: :div, color: :text_secondary)) { event.description.try(:html_safe) }
11
+ = render(Primer::TextComponent.new(tag: :div, color: :text_secondary)) do
12
+ = event.description
@@ -30,11 +30,12 @@
30
30
  = render(Primer::LinkComponent.new(href: sponsor.content(:website) || '')) { sponsor.content(:name) }
31
31
 
32
32
  - if @conference.content(:gallery).present?
33
- .mb-4.position-relative{ data: { controller: :slideshow, slideshow: { incrementer: 0, advance: true } } }
33
+ = render Primer::FlexComponent.new(flex_direction: :column, justify_content: :center, align_items: :center, mb: 4, position: :relative,
34
+ data: { controller: :slideshow, slideshow_incrementer: 0, slideshow_advance: true }) do
34
35
  - @conference.content(:gallery).each_with_index do |image, index|
35
36
  = @conference.content.image_tag(image, { resize_to_fill: [1680, 600] }, draggable: false, data: { 'slideshow-target': 'slide' },
36
37
  srcset: srcset(image, variant: { resize_to_fill: [1680, 600] }), hidden: index != 0,
37
- class: %w[d-block mx-auto])
38
+ class: %w[width-fit])
38
39
  .position-absolute.top-0.left-0.right-0.bottom-0.container-lg.p-responsive
39
40
  - if @conference.content(:gallery).many?
40
41
  .d-none.d-sm-flex.flex-justify-between.flex-items-center.height-full
@@ -1 +1,2 @@
1
- = render(Primer::MarkdownComponent.new(my: 4)) { abstract.html_safe }
1
+ = render(Primer::MarkdownComponent.new(my: 4)) do
2
+ = abstract
@@ -3,7 +3,7 @@
3
3
  module Spina
4
4
  module Conferences
5
5
  module PrimerTheme
6
- VERSION = '0.2.2'
6
+ VERSION = '0.3.2'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spina-conferences-primer_theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Malčić
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-15 00:00:00.000000000 Z
11
+ date: 2021-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: babel-transpiler
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.0.0
103
+ version: 2.1.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 2.0.0
110
+ version: 2.1.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: capybara
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -321,22 +321,17 @@ files:
321
321
  - app/views/spina/application/_navigation_item.html.haml
322
322
  - app/views/spina/application/_text.html.haml
323
323
  - app/views/spina/conferences/primer_theme/conferences/_conference.html.haml
324
- - app/views/spina/conferences/primer_theme/conferences/_conference.ics.erb
325
324
  - app/views/spina/conferences/primer_theme/conferences/_event.html.haml
326
- - app/views/spina/conferences/primer_theme/conferences/_event.ics.erb
327
325
  - app/views/spina/conferences/primer_theme/conferences/_events.html.haml
328
326
  - app/views/spina/conferences/primer_theme/conferences/_header.html.haml
329
327
  - app/views/spina/conferences/primer_theme/conferences/_institution.html.haml
330
328
  - app/views/spina/conferences/primer_theme/conferences/_institution_logo.html.haml
331
329
  - app/views/spina/conferences/primer_theme/conferences/_presentation.html.haml
332
- - app/views/spina/conferences/primer_theme/conferences/_presentation.ics.erb
333
330
  - app/views/spina/conferences/primer_theme/conferences/_presentation_type.html.haml
334
331
  - app/views/spina/conferences/primer_theme/conferences/_presentations.html.haml
335
332
  - app/views/spina/conferences/primer_theme/conferences/_submission_flash.html.haml
336
333
  - app/views/spina/conferences/primer_theme/conferences/index.html.haml
337
- - app/views/spina/conferences/primer_theme/conferences/index.ics.erb
338
334
  - app/views/spina/conferences/primer_theme/conferences/show.html.haml
339
- - app/views/spina/conferences/primer_theme/conferences/show.ics.erb
340
335
  - app/views/spina/conferences/primer_theme/kaminari/_gap.html.haml
341
336
  - app/views/spina/conferences/primer_theme/kaminari/_next_page.html.haml
342
337
  - app/views/spina/conferences/primer_theme/kaminari/_page.html.haml
@@ -1 +0,0 @@
1
- <%= conference.to_event.to_ical -%>
@@ -1 +0,0 @@
1
- <%= event.to_event.to_ical -%>
@@ -1 +0,0 @@
1
- <%= presentation.to_event.to_ical -%>
@@ -1,3 +0,0 @@
1
- <%= calendar name: current_account.name do -%>
2
- <%= render partial: 'conference', collection: @conferences, cached: true -%>
3
- <% end %>
@@ -1,5 +0,0 @@
1
- <%= calendar name: @conference.name do -%>
2
- <%= render partial: 'conference', object: @conference, cached: true -%>
3
- <%= render partial: 'presentation', collection: @conference.presentations, cached: true -%>
4
- <%= render partial: 'event', collection: @conference.events, cached: true -%>
5
- <% end %>