spina-conferences-primer_theme 0.1.17 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/config/spina_conferences_primer_theme_manifest.js +0 -1
- data/app/assets/stylesheets/spina/conferences/primer_theme/application.sass +11 -8
- data/app/controllers/spina/conferences/primer_theme/conferences_controller.rb +6 -1
- data/app/helpers/spina/conferences/primer_theme/application_helper.rb +3 -14
- data/app/views/conferences_primer_theme/pages/about.html.haml +89 -19
- data/app/views/conferences_primer_theme/pages/committee.html.haml +41 -9
- data/app/views/conferences_primer_theme/pages/events.html.haml +57 -10
- data/app/views/conferences_primer_theme/pages/homepage.html.haml +29 -4
- data/app/views/conferences_primer_theme/pages/information.html.haml +4 -5
- data/app/views/conferences_primer_theme/pages/show.html.haml +1 -1
- data/app/views/layouts/spina/conferences/primer_theme/application.html.haml +7 -6
- data/app/views/spina/application/_cookies.html.haml +1 -1
- data/app/views/spina/application/_current_conference_alert.html.haml +1 -1
- data/app/views/spina/application/_footer.html.haml +2 -2
- data/app/views/spina/application/_footer_content.html.haml +3 -3
- data/app/views/spina/application/_list_item.html.haml +1 -1
- data/app/views/spina/application/_logo.html.haml +1 -1
- data/app/views/spina/application/_navigation.html.haml +9 -10
- data/app/views/spina/application/_navigation_item.html.haml +9 -10
- data/app/views/spina/application/_navigation_items.html.haml +3 -0
- data/app/views/spina/conferences/primer_theme/conferences/_conference.html.haml +4 -4
- data/app/views/spina/conferences/primer_theme/conferences/_event.html.haml +4 -4
- data/app/views/spina/conferences/primer_theme/conferences/_events.html.haml +1 -1
- data/app/views/spina/conferences/primer_theme/conferences/_header.html.haml +34 -15
- data/app/views/spina/conferences/primer_theme/conferences/_presentation.html.haml +5 -5
- data/app/views/spina/conferences/primer_theme/conferences/_presentations.html.haml +2 -1
- data/app/views/spina/conferences/primer_theme/conferences/_submission_flash.html.haml +10 -14
- data/app/views/spina/conferences/primer_theme/conferences/index.html.haml +3 -4
- data/app/views/spina/conferences/primer_theme/conferences/show.html.haml +17 -18
- data/app/views/spina/conferences/primer_theme/kaminari/_gap.html.haml +2 -0
- data/app/views/spina/conferences/primer_theme/kaminari/_next_page.html.haml +9 -0
- data/app/views/spina/conferences/primer_theme/kaminari/_page.html.haml +10 -0
- data/app/views/spina/conferences/primer_theme/kaminari/_paginator.html.haml +17 -0
- data/app/views/spina/conferences/primer_theme/kaminari/_prev_page.html.haml +9 -0
- data/app/views/spina/conferences/primer_theme/presentations/_attachment.html.haml +1 -1
- data/app/views/spina/conferences/primer_theme/presentations/show.html.haml +4 -4
- data/config/initializers/primer.rb +1 -1
- data/config/initializers/themes/conferences_primer_theme.rb +95 -178
- data/config/locales/en.yml +52 -56
- data/db/migrate/20210206170704_change_current_conference_alert_to_text.rb +17 -0
- data/lib/spina/conferences/primer_theme/version.rb +1 -1
- metadata +14 -31
- data/app/assets/stylesheets/spina/conferences/primer_theme/_admin.sass +0 -4
- data/app/assets/stylesheets/spina/conferences/primer_theme/_github.sass +0 -2
- data/app/assets/stylesheets/spina/conferences/primer_theme/_primer.sass +0 -4
- data/app/assets/stylesheets/spina/conferences/primer_theme/_turbolinks.sass +0 -3
- data/app/views/spina/application/_image_collection.html.haml +0 -19
- data/app/views/spina/application/_mobile_navigation_item.html.haml +0 -11
- data/app/views/spina/conferences/primer_theme/conferences/_information.html.haml +0 -4
- data/app/views/spina/conferences/primer_theme/conferences/_sponsor.html.haml +0 -8
- data/app/views/spina/conferences/primer_theme/conferences/_sponsors.html.haml +0 -6
- data/app/views/spina/pages/_committee_bio.html.haml +0 -36
- data/app/views/spina/pages/_committee_bios.html.haml +0 -7
- data/app/views/spina/pages/_constitution.html.haml +0 -12
- data/app/views/spina/pages/_contact.html.haml +0 -4
- data/app/views/spina/pages/_document.html.haml +0 -13
- data/app/views/spina/pages/_documents.html.haml +0 -7
- data/app/views/spina/pages/_event.html.haml +0 -18
- data/app/views/spina/pages/_events_list.html.haml +0 -19
- data/app/views/spina/pages/_homepage_content.html.haml +0 -14
- data/app/views/spina/pages/_jumbotron.html.haml +0 -2
- data/app/views/spina/pages/_minutes.html.haml +0 -9
- data/app/views/spina/pages/_minutes_entry.html.haml +0 -14
- data/app/views/spina/pages/_partner_societies.html.haml +0 -10
- data/app/views/spina/pages/_partner_society.html.haml +0 -28
@@ -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,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])
|