spina-conferences-primer_theme 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/spina/conferences/primer_theme/presentations_controller.rb +1 -6
  3. data/app/helpers/spina/conferences/primer_theme/application_helper.rb +5 -24
  4. data/app/helpers/spina/conferences/primer_theme/asset_helper.rb +6 -13
  5. data/app/views/conferences_primer_theme/pages/homepage.html.haml +4 -5
  6. data/app/views/layouts/conferences_primer_theme/application.html.haml +4 -1
  7. data/app/views/layouts/spina/conferences/primer_theme/conferences.html.haml +3 -2
  8. data/app/views/layouts/spina/conferences/primer_theme/presentations.html.haml +4 -2
  9. data/app/views/spina/admin/layout_partables/texts/_form.html.haml +4 -0
  10. data/app/views/spina/application/_current_conference_alert.html.haml +1 -1
  11. data/app/views/spina/application/_list_item.html.haml +1 -1
  12. data/app/views/spina/application/_navigation_item.html.haml +1 -1
  13. data/app/views/spina/conferences/primer_theme/conferences/index.html.haml +1 -0
  14. data/app/views/spina/conferences/primer_theme/conferences/show.html.haml +1 -1
  15. data/app/views/spina/pages/_committee_bio.html.haml +4 -4
  16. data/app/views/spina/pages/_committee_bios.html.haml +1 -0
  17. data/app/views/spina/pages/_event.html.haml +1 -2
  18. data/app/views/spina/pages/_minutes_entry.html.haml +1 -1
  19. data/app/views/spina/pages/_partner_societies.html.haml +1 -1
  20. data/app/views/spina/pages/_partner_society.html.haml +1 -1
  21. data/config/initializers/themes/conferences_primer_theme.rb +1 -1
  22. data/config/locales/en.rb +5 -0
  23. data/db/migrate/20210206170704_change_current_conference_alert_to_text.rb +29 -0
  24. data/lib/spina/conferences/primer_theme/version.rb +1 -1
  25. metadata +23 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0411781b97280c551101adc4a5ce6c22dc4670ebb46756344f15db684a0f076
4
- data.tar.gz: faf507df7d5c70707f1bb89deba383e7d9d3566d45e6d5e15fbe619247fba2ec
3
+ metadata.gz: be34b710284ade259e6bdbb4db326c4cfd124507ff193b32f7d086195196c994
4
+ data.tar.gz: 1d44bedb13f387539eafa74fe5de6a87cf51c257fc4e550aca7d9b47ebabadad
5
5
  SHA512:
6
- metadata.gz: 63bbf621738d325bef6bc0ef09e98c03c5da4410627f1d9406a3da10829100af8052a5d5fb16e81999b2856a66318dcba69fc7580f270831d514eeaf1cee41d5
7
- data.tar.gz: 8ee36494041609dd364b8bc8ea1b3e1477cb2a7e499e631b20b17ba44cc6103d231b9121b7abd3e425fe99a32866327e6d5a4de42883b97d2b9b5a2c79f3cb29
6
+ metadata.gz: 835fabc2cc7ac850e5e347dff08c852b6afcae6eed70a166ae3a03f478be6005c4c1c8cd96ff5a6f0d08a190196c78fe64a1bd6b3871d7412bc27bba1bdd8570
7
+ data.tar.gz: d8a110b50aeb46c4da7e37a41b836b34554ef88909b4aa763124ecdc8697c9291536b78f4e72f2bb0b68e57f7fb9bb76760cae41a9150978be7181c727bb1691
@@ -5,7 +5,7 @@ module Spina
5
5
  module PrimerTheme
6
6
  # User-facing controller for presentations, serving both html and ics
7
7
  class PresentationsController < ApplicationController
8
- before_action :set_presentation, :set_conference, :set_breadcrumb, :set_metadata
8
+ before_action :set_presentation, :set_conference, :set_breadcrumb
9
9
 
10
10
  def show
11
11
  add_breadcrumb @presentation.name
@@ -34,11 +34,6 @@ module Spina
34
34
  add_breadcrumb Admin::Conferences::Conference.model_name.human.pluralize, frontend_conferences_path
35
35
  add_breadcrumb @conference.name, frontend_conference_path(@conference)
36
36
  end
37
-
38
- def set_metadata
39
- @title = @presentation.present? ? @presentation.name : Admin::Conferences::Presentation.model_name.human(count: 0)
40
- @description = @presentation.present? ? helpers.strip_tags(@presentation.abstract) : ''
41
- end
42
37
  end
43
38
  end
44
39
  end
@@ -5,14 +5,12 @@ module Spina
5
5
  module PrimerTheme
6
6
  # Base helper
7
7
  module ApplicationHelper
8
+ include Spina::PagesHelper
9
+
8
10
  def latest_conference
9
11
  Spina::Admin::Conferences::Conference.sorted.first
10
12
  end
11
13
 
12
- def breadcrumbs(options = {}, &block)
13
- render_breadcrumbs(builder: Breadcrumbs::Builder, **options, &block)
14
- end
15
-
16
14
  def ancestors
17
15
  return [] if current_page.blank?
18
16
 
@@ -24,24 +22,6 @@ module Spina
24
22
  end
25
23
  end
26
24
 
27
- def author
28
- current_account.name
29
- end
30
-
31
- def description
32
- current_page.present? ? current_page.description : @description # rubocop:disable Rails/HelperInstanceVariable
33
- end
34
-
35
- def title
36
- # noinspection RailsI18nInspection
37
- t :'.title', title: current_page.present? ? current_page.title : @title, suffix: current_account.name # rubocop:disable Rails/HelperInstanceVariable
38
- end
39
-
40
- def seo_title
41
- # noinspection RailsI18nInspection
42
- t :'.title', title: current_page.present? ? current_page.seo_title : @title, suffix: current_account.name # rubocop:disable Rails/HelperInstanceVariable
43
- end
44
-
45
25
  def partable_for(*part_names, parent: current_page)
46
26
  association = case parent
47
27
  when Spina::Page then :page_partable
@@ -50,12 +30,13 @@ module Spina
50
30
  else :partable
51
31
  end
52
32
  parts = parent.parts.where(name: part_names)
53
- part_parents = parts.collect { |part| part.try(association) }
54
- [*parts, *part_parents]
33
+ partables = parts.collect { |part| part.try(association) }
34
+ [*parts, *partables]
55
35
  end
56
36
 
57
37
  def calendar(name:, &block)
58
38
  # noinspection SpellCheckingInspection
39
+ block ||= proc { '' }
59
40
  Icalendar::Calendar.new.tap { |calendar| calendar.x_wr_calname = name }
60
41
  .then(&:to_ical).then { |calendar| calendar.insert(calendar.index('END:VCALENDAR'), capture(&block)) }
61
42
  end
@@ -5,29 +5,22 @@ module Spina
5
5
  module PrimerTheme
6
6
  # Helper for computing asset sources
7
7
  module AssetHelper
8
- METHODS_TO_RESIZE = %i[resize_to_limit resize_to_fit resize_to_fill resize_and_pad].freeze
9
- DEFAULT_FACTORS = [1, 2, 3, 4].freeze
10
-
11
- def concat_srcset(image, **options)
12
- srcset(image, **options).collect { |src_path, size| "#{src_path} #{size}" }
13
- .join ', '
14
- end
15
-
16
8
  def srcset(image, **options)
17
9
  return if image.blank?
18
10
 
19
11
  options = options.symbolize_keys
20
12
  variant_options = options.delete(:variant)
13
+ return if variant_options.blank?
14
+
21
15
  factors = options.delete(:factors) || DEFAULT_FACTORS
22
16
  variants_for image, variant_options: variant_options, factors: factors
23
17
  end
24
18
 
25
- def src(image, **options)
26
- main_app.url_for(image.variant(**options))
27
- end
28
-
29
19
  private
30
20
 
21
+ METHODS_TO_RESIZE = %i[resize_to_limit resize_to_fit resize_to_fill resize_and_pad].freeze
22
+ DEFAULT_FACTORS = [1, 2, 3, 4].freeze
23
+
31
24
  def variants_for(image, variant_options:, factors:)
32
25
  factors.inject({}) { |srcset, factor| srcset.update(variant_url(image, variant_options, factor) => "#{factor}x") }
33
26
  end
@@ -41,7 +34,7 @@ module Spina
41
34
  end
42
35
 
43
36
  def resize_dimensions_for_key(key, factor, dimensions)
44
- dimensions.collect { |dimension| resize_dimension(dimension, factor) } if METHODS_TO_RESIZE.include? key
37
+ METHODS_TO_RESIZE.include?(key) ? dimensions.collect { |dimension| resize_dimension(dimension, factor) } : dimensions
45
38
  end
46
39
 
47
40
  def resize_dimension(dimension = 0, factor = 0)
@@ -1,6 +1,5 @@
1
1
  - content_for :hero do
2
- - cache current_page do
3
- - cache partable_for(:gallery) do
4
- = render partial: 'homepage_content',
5
- layout: has_content?(:gallery) && content(:gallery).images.any? ? 'image_collection' : 'jumbotron',
6
- locals: { conference: latest_conference, advance: true, image_collection: content(:gallery) }
2
+ - cache [current_page, partable_for(:gallery), latest_conference] do
3
+ = render partial: 'homepage_content',
4
+ layout: has_content?(:gallery) && content(:gallery).images.any? ? 'image_collection' : 'jumbotron',
5
+ locals: { conference: latest_conference, advance: true, image_collection: content(:gallery) }
@@ -2,4 +2,7 @@
2
2
  - if current_page.ancestors.any?
3
3
  = ancestors
4
4
 
5
- = render template: 'layouts/spina/conferences/primer_theme/application'
5
+ = render template: 'layouts/spina/conferences/primer_theme/application',
6
+ locals: { author: current_account.name, description: current_page.description,
7
+ seo_title: t(:'.title', title: current_page.seo_title, suffix: current_account.name),
8
+ title: t(:'.title', title: current_page.title, suffix: current_account.name) }
@@ -1,4 +1,5 @@
1
1
  - content_for :breadcrumbs do
2
- = breadcrumbs
2
+ = render_breadcrumbs(builder: Spina::Conferences::PrimerTheme::Breadcrumbs::Builder)
3
3
 
4
- = render template: 'layouts/spina/conferences/primer_theme/application'
4
+ = render template: 'layouts/spina/conferences/primer_theme/application',
5
+ locals: { author: current_account.name, description: @description, title: @title, seo_title: @title }
@@ -1,4 +1,6 @@
1
1
  - content_for :breadcrumbs do
2
- = breadcrumbs
2
+ = render_breadcrumbs(builder: Spina::Conferences::PrimerTheme::Breadcrumbs::Builder)
3
3
 
4
- = render template: 'layouts/spina/conferences/primer_theme/application'
4
+ = render template: 'layouts/spina/conferences/primer_theme/application',
5
+ locals: { author: current_account.name, description: strip_tags(@presentation.abstract), title: @presentation.name,
6
+ seo_title: @presentation.name }
@@ -0,0 +1,4 @@
1
+ = f.fields_for :layout_partable, f.object.layout_partable do |ff|
2
+ - object_id = (ff.object.persisted? ? ff.object.object_id : "new_association_#{ff.object.object_id}").to_s + "_content"
3
+ = ff.hidden_field :content, id: "#{object_id}_input", value: ff.object.content(fallback: false, default: nil)
4
+ %trix-editor.text-input.trix-content{ input: "#{object_id}_input" }
@@ -1,4 +1,4 @@
1
1
  - content_for :flash do
2
2
  - cache partable_for(:current_conference_alert, parent: current_account) do
3
3
  - if current_account.has_content? :current_conference_alert
4
- = render(Primer::FlashComponent.new(full: true, variant: :warning)) { current_account.content(:current_conference_alert) }
4
+ = render(Primer::FlashComponent.new(full: true, variant: :warning)) { current_account.content(:current_conference_alert).html_safe }
@@ -1 +1 @@
1
- %li.list-style-none.py-4.border-bottom= yield
1
+ %li.list-style-none.py-4.border-bottom{ id: local_assigns[:list_item_id]&.call(local_assigns) }= yield
@@ -5,7 +5,7 @@
5
5
  = navigation_item.menu_title
6
6
  %span.dropdown-caret
7
7
  %details-menu.dropdown-menu.dropdown-menu-se.mt-3{ role: 'menu' }
8
- - navigation_item.children.each do |child|
8
+ - navigation_item.children.in_menu.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
  .Header-item.d-none.d-lg-flex
@@ -14,6 +14,7 @@
14
14
  - if @conferences.any?
15
15
  %ul{ class: dom_class(@conferences), data: { filter: { list: true } } }
16
16
  = render partial: 'conference', collection: @conferences, layout: 'list_item',
17
+ locals: { list_item_id: ->(local_assigns) { dom_id(local_assigns[:conference]) } },
17
18
  cached: -> conference { [conference, conference.institutions, conference.institutions.collect(&:logo)] }
18
19
  - else
19
20
  = render Primer::BlankslateComponent.new(title: t(:'.no_conferences'), icon: 'mortar-board')
@@ -1,7 +1,7 @@
1
1
  - if @conference.has_content?(:submission_date) && @conference.content(:submission_date) >= Date.today
2
2
  - content_for :flash do
3
3
  - cache partable_for(:submission_url, :submission_date, :submission_text, parent: @conference) do
4
- = render Primer::FlashComponent.new(variant: :warning, full: true) do
4
+ = render Primer::FlashComponent.new(variant: :warning, full: true, classes: dom_class(@conference)) do
5
5
  - cache partable_for(:submission_url, parent: @conference) do
6
6
  - if @conference.content(:submission_url).present?
7
7
  = link_to t(:'.submit_abstract'), @conference.content(:submission_url),
@@ -1,11 +1,11 @@
1
1
  - cache [committee_bio, committee_bio.structure_parts.collect(&:structure_partable)] do
2
2
  .d-flex.flex-column.flex-md-row.flex-items-start
3
3
  - cache partable_for(:profile_picture, parent: committee_bio) do
4
- - if committee_bio.has_content?(:profile_picture) && committee_bio.content(:profile_picture).persisted?
4
+ - if committee_bio.has_content?(:profile_picture) && committee_bio.content(:profile_picture).persisted? && committee_bio.content(:profile_picture).file.present?
5
5
  .flex-shrink-0
6
- = render Primer::AvatarComponent.new(src: src(committee_bio.content(:profile_picture).file, resize_to_fill: [150, 150]),
7
- srcset: concat_srcset(committee_bio.content(:profile_picture).file,
8
- variant: { resize_to_limit: [150, 150] }),
6
+ = render Primer::AvatarComponent.new(src: main_app.url_for(committee_bio.content(:profile_picture).file.variant(resize_to_fill: [150, 150])),
7
+ srcset: srcset(committee_bio.content(:profile_picture).file,
8
+ variant: { resize_to_limit: [150, 150] }),
9
9
  draggable: false, alt: committee_bio.content(:name), size: 150, mr: [nil, nil, 3, nil],
10
10
  mb: [3, nil, 0, nil])
11
11
  .flex-auto
@@ -1,6 +1,7 @@
1
1
  - if committee_bios.structure_items.any?
2
2
  %ul{ class: dom_class(committee_bios), id: dom_id(committee_bios) }
3
3
  = render partial: 'committee_bio', collection: committee_bios.structure_items.sorted_by_structure, layout: 'list_item',
4
+ locals: { list_item_id: ->(local_assigns) { dom_id(local_assigns[:committee_bio]) } },
4
5
  cached: ->(committee_bio) { [committee_bio, committee_bio.structure_parts.collect(&:structure_partable)] }
5
6
  - else
6
7
  = render Primer::BlankslateComponent.new(title: t(:'.no_bios'), icon: 'file')
@@ -4,8 +4,7 @@
4
4
  - if event.has_content?(:name)
5
5
  %h3.flex-auto= event.content(:name)
6
6
  - cache partable_for(:location, :start_time, parent: event) do
7
- -# TODO: use 'format: :full' once edit-submission-flash is merged
8
- %h4.flex-auto= t(:'.time_and_place', time: event.has_content?(:start_time) ? time_tag(event.content(:start_time), format: :short) : t('.time_tbc'),
7
+ %h4.flex-auto= t(:'.time_and_place', time: event.has_content?(:start_time) ? time_tag(event.content(:start_time), format: :ordinal_datetime_with_year) : t('.time_tbc'),
9
8
  place: event.has_content?(:location) ? event.content(:location) : t('.location_tbc')).try(:html_safe)
10
9
  - cache partable_for(:description, parent: event) do
11
10
  - if event.has_content?(:description)
@@ -1,5 +1,5 @@
1
1
  - cache [minutes_entry, minutes_entry.structure_parts.collect(&:structure_partable)] do
2
- %li.list-style-none.py-1.d-flex.flex-items-center
2
+ %li.list-style-none.py-1.d-flex.flex-items-center{ id: dom_id(local_assigns[:minutes_entry]) }
3
3
  - cache partable_for(:date, parent: minutes_entry) do
4
4
  .flex-auto= minutes_entry.has_content?(:date) ? t(:'.minutes_html', date: time_tag(minutes_entry.content(:date))) : t(:'.no_date')
5
5
  - cache partable_for(:attachment, parent: minutes_entry) do
@@ -4,7 +4,7 @@
4
4
  - if partner_societies.structure_items.any?
5
5
  %ul{ class: dom_class(partner_societies), id: dom_id(partner_societies) }
6
6
  = render partial: 'partner_society', collection: partner_societies.structure_items.sorted_by_structure,
7
- layout: 'list_item',
7
+ layout: 'list_item', locals: { list_item_id: ->(local_assigns) { dom_id(local_assigns[:partner_society]) } },
8
8
  cached: ->(partner_society) { [partner_society, partner_society.structure_parts.collect(&:structure_partable)] }
9
9
  - else
10
10
  = render Primer::BlankslateComponent.new(title: t(:'.no_societies'), icon: 'organization')
@@ -20,7 +20,7 @@
20
20
  - if partner_society.has_content? :description
21
21
  .text-gray= render partial: 'text', object: partner_society.content(:description)
22
22
  - cache partable_for(:logo, parent: partner_society) do
23
- - if partner_society.has_content?(:logo) && partner_society.content(:logo).persisted?
23
+ - if partner_society.has_content?(:logo) && partner_society.content(:logo).persisted? && partner_society.content(:logo).file.present?
24
24
  = image_tag(main_app.url_for(partner_society.content(:logo).file.variant(resize_to_limit: [200, 150])),
25
25
  srcset: srcset(partner_society.content(:logo).file, variant: { resize_to_limit: [200, 150] }), size: nil,
26
26
  alt_description: partner_society.content(:name), draggable: false, class: %w[mt-4 mt-md-0 mr-md-4])
@@ -81,7 +81,7 @@
81
81
  theme.layout_parts = [{
82
82
  name: 'current_conference_alert',
83
83
  title: 'Alert',
84
- partable_type: 'Spina::Line'
84
+ partable_type: 'Spina::Text'
85
85
  }, {
86
86
  name: 'github_url',
87
87
  title: 'GitHub URL',
data/config/locales/en.rb CHANGED
@@ -6,6 +6,11 @@
6
6
  formats: {
7
7
  full: ->(time, _) { "%A, #{time.day.ordinalize} %B %Y" }
8
8
  }
9
+ },
10
+ time: {
11
+ formats: {
12
+ ordinal_datetime_with_year: ->(time, _) { "#{time.day.ordinalize} %b %Y, %R" }
13
+ }
9
14
  }
10
15
  }
11
16
  }
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ChangeCurrentConferenceAlertToText < ActiveRecord::Migration[6.0]
4
+ def up
5
+ Spina::LayoutPart.where(name: 'current_conference_alert', layout_partable_type: 'Spina::Line').each do |layout_part|
6
+ if layout_part.partable.present?
7
+ Spina::Text.create(content: layout_part.partable.content).then do |text|
8
+ layout_part.partable.destroy
9
+ layout_part.update(partable: text)
10
+ end
11
+ else
12
+ layout_part.update(partable_type: 'Spina::Text')
13
+ end
14
+ end
15
+ end
16
+
17
+ def down
18
+ Spina::LayoutPart.where(name: 'current_conference_alert', layout_partable_type: 'Spina::Text').each do |layout_part|
19
+ if layout_part.partable.present?
20
+ Spina::Line.create(content: layout_part.partable.content).then do |line|
21
+ layout_part.partable.destroy
22
+ layout_part.update(partable: line)
23
+ end
24
+ else
25
+ layout_part.update(partable_type: 'Spina::Line')
26
+ end
27
+ end
28
+ end
29
+ end
@@ -3,7 +3,7 @@
3
3
  module Spina
4
4
  module Conferences
5
5
  module PrimerTheme
6
- VERSION = '0.1.11'
6
+ VERSION = '0.1.12'
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.1.11
4
+ version: 0.1.12
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: 2020-12-30 00:00:00.000000000 Z
11
+ date: 2021-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: babel-transpiler
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.10
61
+ version: 0.0.18
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.0.10
68
+ version: 0.0.18
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 6.0.2
75
+ version: '6.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 6.0.2
82
+ version: '6.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: spina
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -136,20 +136,6 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '2.7'
139
- - !ruby/object:Gem::Dependency
140
- name: minitest-rails
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '6.0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '6.0'
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: minitest-reporters
155
141
  requirement: !ruby/object:Gem::Requirement
@@ -248,6 +234,20 @@ dependencies:
248
234
  - - "~>"
249
235
  - !ruby/object:Gem::Version
250
236
  version: '0.19'
237
+ - !ruby/object:Gem::Dependency
238
+ name: simplecov-lcov
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '0.8'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '0.8'
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: web-console
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -311,6 +311,7 @@ files:
311
311
  - app/views/layouts/spina/conferences/primer_theme/application.html.haml
312
312
  - app/views/layouts/spina/conferences/primer_theme/conferences.html.haml
313
313
  - app/views/layouts/spina/conferences/primer_theme/presentations.html.haml
314
+ - app/views/spina/admin/layout_partables/texts/_form.html.haml
314
315
  - app/views/spina/application/_cookies.html.haml
315
316
  - app/views/spina/application/_current_conference_alert.html.haml
316
317
  - app/views/spina/application/_footer.html.haml
@@ -363,6 +364,7 @@ files:
363
364
  - config/locales/en.rb
364
365
  - config/locales/en.yml
365
366
  - config/routes.rb
367
+ - db/migrate/20210206170704_change_current_conference_alert_to_text.rb
366
368
  - lib/spina/conferences/primer_theme.rb
367
369
  - lib/spina/conferences/primer_theme/breadcrumbs/builder.rb
368
370
  - lib/spina/conferences/primer_theme/engine.rb
@@ -387,7 +389,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
387
389
  - !ruby/object:Gem::Version
388
390
  version: '0'
389
391
  requirements: []
390
- rubygems_version: 3.0.3
392
+ rubygems_version: 3.1.4
391
393
  signing_key:
392
394
  specification_version: 4
393
395
  summary: Spina::Admin::Conferences frontend theme.