spina-conferences-primer_theme 0.1.16 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/spina_conferences_primer_theme_manifest.js +0 -1
  3. data/app/assets/stylesheets/spina/conferences/primer_theme/_custom_variables.sass +0 -0
  4. data/app/assets/stylesheets/spina/conferences/primer_theme/application.sass +12 -8
  5. data/app/controllers/spina/conferences/primer_theme/conferences_controller.rb +6 -1
  6. data/app/helpers/spina/conferences/primer_theme/application_helper.rb +3 -14
  7. data/app/views/conferences_primer_theme/pages/about.html.haml +89 -19
  8. data/app/views/conferences_primer_theme/pages/committee.html.haml +41 -9
  9. data/app/views/conferences_primer_theme/pages/events.html.haml +57 -10
  10. data/app/views/conferences_primer_theme/pages/homepage.html.haml +30 -4
  11. data/app/views/conferences_primer_theme/pages/information.html.haml +4 -5
  12. data/app/views/conferences_primer_theme/pages/show.html.haml +1 -1
  13. data/app/views/layouts/spina/conferences/primer_theme/application.html.haml +7 -6
  14. data/app/views/spina/application/_cookies.html.haml +1 -1
  15. data/app/views/spina/application/_current_conference_alert.html.haml +1 -1
  16. data/app/views/spina/application/_footer.html.haml +2 -2
  17. data/app/views/spina/application/_footer_content.html.haml +3 -3
  18. data/app/views/spina/application/_list_item.html.haml +1 -1
  19. data/app/views/spina/application/_logo.html.haml +1 -1
  20. data/app/views/spina/application/_mobile_navigation_item.html.haml +12 -11
  21. data/app/views/spina/application/_mobile_navigation_items.html.haml +3 -0
  22. data/app/views/spina/application/_navigation.html.haml +8 -9
  23. data/app/views/spina/application/_navigation_item.html.haml +9 -10
  24. data/app/views/spina/conferences/primer_theme/conferences/_conference.html.haml +4 -4
  25. data/app/views/spina/conferences/primer_theme/conferences/_event.html.haml +4 -4
  26. data/app/views/spina/conferences/primer_theme/conferences/_events.html.haml +1 -1
  27. data/app/views/spina/conferences/primer_theme/conferences/_header.html.haml +35 -15
  28. data/app/views/spina/conferences/primer_theme/conferences/_presentation.html.haml +5 -5
  29. data/app/views/spina/conferences/primer_theme/conferences/_presentations.html.haml +3 -2
  30. data/app/views/spina/conferences/primer_theme/conferences/_submission_flash.html.haml +10 -14
  31. data/app/views/spina/conferences/primer_theme/conferences/index.html.haml +3 -4
  32. data/app/views/spina/conferences/primer_theme/conferences/show.html.haml +17 -18
  33. data/app/views/spina/conferences/primer_theme/kaminari/_gap.html.haml +2 -0
  34. data/app/views/spina/conferences/primer_theme/kaminari/_next_page.html.haml +9 -0
  35. data/app/views/spina/conferences/primer_theme/kaminari/_page.html.haml +10 -0
  36. data/app/views/spina/conferences/primer_theme/kaminari/_paginator.html.haml +17 -0
  37. data/app/views/spina/conferences/primer_theme/kaminari/_prev_page.html.haml +9 -0
  38. data/app/views/spina/conferences/primer_theme/presentations/_attachment.html.haml +1 -1
  39. data/app/views/spina/conferences/primer_theme/presentations/show.html.haml +4 -4
  40. data/config/initializers/primer.rb +1 -1
  41. data/config/initializers/themes/conferences_primer_theme.rb +95 -178
  42. data/config/locales/en.yml +62 -56
  43. data/db/migrate/20210206170704_change_current_conference_alert_to_text.rb +17 -0
  44. data/lib/spina/conferences/primer_theme/version.rb +1 -1
  45. metadata +15 -30
  46. data/app/assets/stylesheets/spina/conferences/primer_theme/_admin.sass +0 -4
  47. data/app/assets/stylesheets/spina/conferences/primer_theme/_github.sass +0 -2
  48. data/app/assets/stylesheets/spina/conferences/primer_theme/_primer.sass +0 -4
  49. data/app/assets/stylesheets/spina/conferences/primer_theme/_turbolinks.sass +0 -3
  50. data/app/views/spina/application/_image_collection.html.haml +0 -19
  51. data/app/views/spina/conferences/primer_theme/conferences/_information.html.haml +0 -4
  52. data/app/views/spina/conferences/primer_theme/conferences/_sponsor.html.haml +0 -8
  53. data/app/views/spina/conferences/primer_theme/conferences/_sponsors.html.haml +0 -6
  54. data/app/views/spina/pages/_committee_bio.html.haml +0 -36
  55. data/app/views/spina/pages/_committee_bios.html.haml +0 -7
  56. data/app/views/spina/pages/_constitution.html.haml +0 -12
  57. data/app/views/spina/pages/_contact.html.haml +0 -4
  58. data/app/views/spina/pages/_document.html.haml +0 -13
  59. data/app/views/spina/pages/_documents.html.haml +0 -7
  60. data/app/views/spina/pages/_event.html.haml +0 -18
  61. data/app/views/spina/pages/_events_list.html.haml +0 -19
  62. data/app/views/spina/pages/_homepage_content.html.haml +0 -14
  63. data/app/views/spina/pages/_jumbotron.html.haml +0 -2
  64. data/app/views/spina/pages/_minutes.html.haml +0 -9
  65. data/app/views/spina/pages/_minutes_entry.html.haml +0 -14
  66. data/app/views/spina/pages/_partner_societies.html.haml +0 -10
  67. data/app/views/spina/pages/_partner_society.html.haml +0 -28
@@ -1,4 +0,0 @@
1
- = render Primer::SubheadComponent.new do |component|
2
- = component.heading { t :'.title' }
3
-
4
- = render partial: 'text', object: contact
@@ -1,13 +0,0 @@
1
- - cache [document, document.structure_parts.collect(&:structure_partable)] do
2
- %li.list-style-none.py-1.d-flex.flex-items-center
3
- - cache partable_for(:name, parent: document) do
4
- = render Primer::TextComponent.new(tag: :div, flex: :auto) do
5
- = document.has_content?(:name) ? document.content(:name) : :'.no_name'
6
- - cache partable_for(:attachment, parent: document) do
7
- - if document.has_content?(:attachment) && document.content(:attachment).persisted?
8
- = render Primer::ButtonComponent.new(tag: :a, ml: 2,
9
- href: main_app.rails_blob_path(document.content(:attachment), disposition: :attachment)) do
10
- = render Primer::OcticonComponent.new(icon: 'desktop-download')
11
- = t(:'.download')
12
- - else
13
- = render(Primer::TextComponent.new(tag: :div, font_size: 6, color: :gray)) { t :'.no_file' }
@@ -1,7 +0,0 @@
1
- - if documents.present? && documents.structure_items.any?
2
- = render Primer::SubheadComponent.new do |component|
3
- = component.heading { t :'.title' }
4
-
5
- %ul{ class: dom_class(documents), id: dom_id(documents) }
6
- = render partial: 'document', collection: documents.structure_items.sorted_by_structure,
7
- cached: ->(document) { [document, document.structure_parts.collect(&:structure_partable)] }
@@ -1,18 +0,0 @@
1
- - cache [event, event.structure_parts.collect(&:structure_partable)] do
2
- = render Primer::FlexComponent.new(direction: :column, align_items: :start) do
3
- - cache partable_for(:name, parent: event) do
4
- - if event.has_content?(:name)
5
- = render(Primer::HeadingComponent.new(tag: :h3, flex: :auto)) { event.content(:name) }
6
- - cache partable_for(:location, :start_time, parent: event) do
7
- = render Primer::HeadingComponent.new(tag: :h4, flex: :auto) do
8
- = t(:'.time_and_place_html',
9
- time: event.has_content?(:start_time) ? time_tag(event.content(:start_time), format: :ordinal_datetime_with_year) : t('.time_tbc'),
10
- place: event.has_content?(:location) ? event.content(:location) : t('.location_tbc'))
11
- - cache partable_for(:description, parent: event) do
12
- - if event.has_content?(:description)
13
- = render(Primer::TextComponent.new(mt: 1, color: :gray_light)) { event.content(:description).try(:html_safe) }
14
- - cache partable_for(:url, parent: event) do
15
- - if event.has_content?(:url)
16
- = render Primer::ButtonComponent.new(tag: :a, href: event.content(:url), mt: 2) do
17
- = render Primer::OcticonComponent.new(icon: 'link-external')
18
- = t :'.more_info'
@@ -1,19 +0,0 @@
1
- %div{ class: dom_class(events_list), id: dom_id(events_list) }
2
- = render Primer::SubheadComponent.new(mt: 4) do |component|
3
- = component.heading { t :'.upcoming' }
4
- - events_list.structure_items.sorted_by_structure.filter { |item| item.has_content?(:start_time) && item.content(:start_time) >= Time.now }.then do |events|
5
- - if events.any?
6
- %ul
7
- = render partial: 'event', layout: 'list_item', cached: ->(event) { [event, event.structure_parts.collect(&:structure_partable)] },
8
- collection: events
9
- - else
10
- = render Primer::BlankslateComponent.new(title: t(:'.no_events'), icon: 'calendar')
11
- = render Primer::SubheadComponent.new(mt: 4) do |component|
12
- = component.heading { t :'.past' }
13
- - events_list.structure_items.sorted_by_structure.filter { |item| item.has_content?(:start_time) && item.content(:start_time) < Time.now }.then do |events|
14
- - if events.any?
15
- %ul
16
- = render partial: 'event', layout: 'list_item', cached: ->(event) { [event, event.structure_parts.collect(&:structure_partable)] },
17
- collection: events
18
- - else
19
- = render Primer::BlankslateComponent.new(title: t(:'.no_events'), icon: 'calendar')
@@ -1,14 +0,0 @@
1
- = render Primer::BoxComponent.new(py: [3, nil, nil, 6]) do
2
- .text-shadow-dark
3
- - if latest_conference.present? && latest_conference.finish_date >= Date.today
4
- = render(Primer::HeadingComponent.new(tag: :h1, classes: 'h000-mktg lh-condensed-ultra')) { conference.name }
5
- = render(Primer::TextComponent.new(tag: :address, classes: 'f2-light')) { conference.institutions.collect(&:name).to_sentence }
6
- = render(Primer::TextComponent.new(tag: :time, classes: 'f2-light')) do
7
- = t :'.dates_html', start_date: time_tag(conference.start_date, format: :day_and_month),
8
- finish_date: time_tag(conference.finish_date, format: :day_and_month)
9
- - else
10
- = render(Primer::HeadingComponent.new(tag: :h1, classes: 'h000-mktg lh-condensed-ultra')) { Spina::Account.first.name }
11
- - if latest_conference.present? && latest_conference.finish_date >= Date.today
12
- = link_to t('.more_info'), frontend_conference_path(conference), class: %w[btn-mktg btn-large-mktg btn-primary-mktg f3 mt-4]
13
- .text-shadow-dark
14
- = render(Primer::MarkdownComponent.new(my: 4)) { content(:text).try(:html_safe) }
@@ -1,2 +0,0 @@
1
- = render Primer::BoxComponent.new(bg: :blue) do
2
- .container-lg.p-responsive.text-white= yield
@@ -1,9 +0,0 @@
1
- = render Primer::SubheadComponent.new do |component|
2
- = component.heading { t :'.title' }
3
-
4
- - if minutes.present? && minutes.structure_items.any?
5
- %ul{ class: dom_class(minutes), id: dom_id(minutes) }
6
- = render partial: 'minutes_entry', collection: minutes.structure_items.sorted_by_structure,
7
- cached: ->(minutes_entry) { [minutes_entry, minutes_entry.structure_parts.collect(&:structure_partable)] }
8
- - else
9
- = render Primer::BlankslateComponent.new(title: t(:'.no_minutes'), icon: 'file')
@@ -1,14 +0,0 @@
1
- - cache [minutes_entry, minutes_entry.structure_parts.collect(&:structure_partable)] do
2
- %li.list-style-none.py-1.d-flex.flex-items-center{ id: dom_id(local_assigns[:minutes_entry]) }
3
- - cache partable_for(:date, parent: minutes_entry) do
4
- = render Primer::FlexItemComponent.new(flex_auto: true) do
5
- = minutes_entry.has_content?(:date) ? t(:'.minutes_html', date: time_tag(minutes_entry.content(:date))) : t(:'.no_date')
6
- - cache partable_for(:attachment, parent: minutes_entry) do
7
- - if minutes_entry.has_content?(:attachment) && minutes_entry.content(:attachment).persisted?
8
- = render Primer::ButtonComponent.new(tag: :a, ml: 2,
9
- href: main_app.rails_blob_path(minutes_entry.content(:attachment),
10
- disposition: :attachment)) do
11
- = render Primer::OcticonComponent.new(icon: 'desktop-download')
12
- = t(:'.download')
13
- - else
14
- = render(Primer::TextComponent.new(color: :gray, font_size: 6)) { t :'.no_file' }
@@ -1,10 +0,0 @@
1
- = render Primer::SubheadComponent.new do |component|
2
- = component.heading { t :'.title' }
3
-
4
- - if partner_societies.structure_items.any?
5
- %ul{ class: dom_class(partner_societies), id: dom_id(partner_societies) }
6
- = render partial: 'partner_society', collection: partner_societies.structure_items.sorted_by_structure,
7
- layout: 'list_item', locals: { list_item_id: ->(local_assigns) { dom_id(local_assigns[:partner_society]) } },
8
- cached: ->(partner_society) { [partner_society, partner_society.structure_parts.collect(&:structure_partable)] }
9
- - else
10
- = render Primer::BlankslateComponent.new(title: t(:'.no_societies'), icon: 'organization')
@@ -1,28 +0,0 @@
1
- - cache [partner_society, partner_society.structure_parts.collect(&:structure_partable)] do
2
- = render Primer::FlexComponent.new(direction: [:column, nil, :row_reverse, nil], align_items: :start) do
3
- = render Primer::BaseComponent.new(tag: :div, flex: :auto) do
4
- = render Primer::HeadingComponent.new(tag: :h3, mb: 1) do
5
- = render Primer::FlexComponent.new(flex_wrap: true, justify_content: :space_between) do
6
- - cache partable_for(:name, parent: partner_society) do
7
- - if partner_society.has_content? :name
8
- = render(Primer::TextComponent.new(tag: :div)) { partner_society.content(:name) }
9
- = render Primer::ButtonGroupComponent.new(aria: { label: t(:'.contact_buttons') }) do |component|
10
- - cache partable_for(:website, parent: partner_society) do
11
- - if partner_society.has_content? :website
12
- = component.button(tag: :a, href: partner_society.content(:website)) do
13
- = render Primer::OcticonComponent.new(icon: 'browser')
14
- = t(:'.website')
15
- - cache partable_for(:email_address, parent: partner_society) do
16
- - if partner_society.has_content? :email_address
17
- = component.button(tag: :a, href: "mailto:#{partner_society.content(:email_address)}") do
18
- = render Primer::OcticonComponent.new(icon: 'mail')
19
- = t(:'.email')
20
- - cache partable_for(:description, parent: partner_society) do
21
- - if partner_society.has_content? :description
22
- = render Primer::MarkdownComponent.new(color: :gray) do
23
- = partner_society.content(:description).try(:html_safe)
24
- - cache partable_for(:logo, parent: partner_society) do
25
- - if partner_society.has_content?(:logo) && partner_society.content(:logo).persisted? && partner_society.content(:logo).file.present?
26
- = image_tag(main_app.url_for(partner_society.content(:logo).file.variant(resize_to_limit: [200, 150])),
27
- srcset: srcset(partner_society.content(:logo).file, variant: { resize_to_limit: [200, 150] }), size: nil,
28
- alt_description: partner_society.content(:name), draggable: false, class: %w[mt-4 mt-md-0 mr-md-4])