osem-fcy/app/views/conferences/index.html.haml
Nivesh Dandyan 9473946c86 Add message when no upcoming conferences are available
When there are no upcoming conferences, the page now displays a
friendly message informing users that there are no conferences at
this time and inviting them to check back later or browse past
conferences.

Additionally, the calendar export buttons are now conditionally
displayed only when there are conferences (current or past) available.

Fixes #2707

Co-Authored-By: Claude (claude-opus-4-5) <noreply@anthropic.com>
2026-02-05 16:03:23 +00:00

44 lines
1.7 KiB
Text

.container
.row
.col-md-12
.page-header
%h2 Upcoming Conferences
- if @current.any?
- @current.each do |conference|
= render '/conferences/conference_details', conference: conference
- else
.row
.col-md-12
.well.text-center
%h4 There are no upcoming conferences at this time.
%p Check back later for updates or browse our past conferences below.
- if @antiquated and @antiquated.any?
.row
.col-md-12
%p.text-right
%button{ type: 'button', class: 'btn btn-link btn-sm', 'data-toggle' => 'collapse', 'data-target' => '#antiquated', 'aria-expanded' => 'true', 'aria-controls' => 'antiquated'}
Older conferences
%span.notranslate
= "(#{@antiquated.count})"
%i.fa-solid.fa-chevron-right
%i.fa-solid.fa-chevron-down{ style: 'display: none' }
#antiquated.collapse
- @antiquated.each do |conference|
= render '/conferences/conference_details', conference: conference
- if @current.any? || (@antiquated && @antiquated.any?)
%p
Add the events to your calendar:
%span.btn-group
= link_to("Days only", calendar_url(protocol: 'webcal', format: 'ics'), class: 'btn btn-default')
= link_to("Detailed", calendar_url(protocol: 'webcal', format: 'ics', full: true), class: 'btn btn-default')
-content_for :script_body do
:javascript
$('#antiquated').on('hidden.bs.collapse', function () {
$( ".fa-chevron-down" ).hide();
$( ".fa-chevron-right" ).show();
})
$('#antiquated').on('shown.bs.collapse', function () {
$( ".fa-chevron-down" ).show();
$( ".fa-chevron-right" ).hide();
})