Skip to content

Commit da5afe1

Browse files
committed
Modernize admin splashpage views and add i18n support
Redesign the splashpage admin pages with panel-based layout, icons, and color-coded status labels. Add full i18n translations (en/es) for all views and controller flash messages.
1 parent 6baaabc commit da5afe1

File tree

7 files changed

+405
-145
lines changed

7 files changed

+405
-145
lines changed

app/controllers/admin/splashpages_controller.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def create
1818

1919
if @splashpage.save
2020
redirect_to admin_conference_splashpage_path,
21-
notice: 'Splashpage successfully created.'
21+
notice: t('admin.splashpages.controller.created')
2222
else
2323
render :new
2424
end
@@ -27,17 +27,17 @@ def create
2727
def update
2828
if @splashpage.update(splashpage_params)
2929
redirect_to admin_conference_splashpage_path,
30-
notice: 'Splashpage successfully updated.'
30+
notice: t('admin.splashpages.controller.updated')
3131
else
3232
render :edit
3333
end
3434
end
3535

3636
def destroy
3737
if @splashpage.destroy
38-
redirect_to admin_conference_splashpage_path, notice: 'Splashpage was successfully destroyed.'
38+
redirect_to admin_conference_splashpage_path, notice: t('admin.splashpages.controller.destroyed')
3939
else
40-
redirect_to admin_conference_splashpage_path, error: 'An error prohibited this Splashpage from being destroyed: '\
40+
redirect_to admin_conference_splashpage_path, error: "#{t('admin.splashpages.controller.destroy_error')}: "\
4141
"#{@splashpage.errors.full_messages.join('. ')}."
4242
end
4343
end
Lines changed: 125 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,132 @@
11
= form_for(@splashpage, url: admin_conference_splashpage_path) do |f|
2-
.checkbox
3-
%label
4-
= f.check_box :include_cfp
5-
Display call for papers and call for tracks?
6-
.checkbox
7-
%label
8-
= f.check_box :include_program
9-
Display the program?
10-
.checkbox
11-
%label
12-
= f.check_box :include_tracks
13-
Include confirmed tracks in the program?
14-
.checkbox
15-
%label
16-
= f.check_box :include_booths
17-
Include confirmed
18-
= (t'booth').pluralize
19-
in the program?
20-
.checkbox
21-
%label
22-
= f.check_box :include_past_editions
23-
Display past editions in navigation?
24-
.checkbox
25-
%label
26-
= f.check_box :include_registrations
27-
Display the registration period?
28-
.checkbox
29-
%label
30-
= f.check_box :include_tickets
31-
Display the tickets?
32-
.checkbox
33-
%label
34-
= f.check_box :include_venue
35-
Display the venue?
36-
.checkbox
37-
%label
38-
= f.check_box :include_lodgings
39-
Display the lodgings?
40-
.checkbox
41-
%label
42-
= f.check_box :include_sponsors
43-
Display the sponsors?
44-
.checkbox
45-
%label
46-
= f.check_box :include_social_media
47-
Display the social media links?
48-
.checkbox
49-
%label
50-
= f.check_box :use_new_design
51-
Use new page design?
52-
%h4
53-
= t('admin.splashpages.form.video.title')
54-
%hr
55-
.form-group
56-
= f.label :video_url
57-
= f.url_field :video_url,
58-
class: 'form-control',
59-
placeholder: t('admin.splashpages.form.video.placeholder')
60-
%p.help-block
61-
= t('admin.splashpages.form.video.help_html').html_safe
62-
%h4
63-
Access
64-
%hr
65-
.checkbox
66-
%label
67-
= f.check_box :public
68-
Make splash page public?
69-
.text-right
70-
.checkbox
71-
%label
72-
= check_box_tag 'selectAll'
73-
Select / Deselect All
74-
= f.submit 'Save', { class: 'btn btn-primary' }
2+
.panel.panel-default
3+
.panel-heading
4+
%h3.panel-title
5+
%i.fa-solid.fa-bullhorn
6+
= t('admin.splashpages.form.content_sections')
7+
.panel-body
8+
.row
9+
.col-sm-6
10+
.checkbox
11+
%label
12+
= f.check_box :include_cfp
13+
%i.fa-solid.fa-paper-plane.text-muted
14+
= t('admin.splashpages.form.include_cfp')
15+
.checkbox
16+
%label
17+
= f.check_box :include_program
18+
%i.fa-solid.fa-calendar-days.text-muted
19+
= t('admin.splashpages.form.include_program')
20+
.checkbox{style: 'margin-left: 20px'}
21+
%label
22+
= f.check_box :include_tracks
23+
%i.fa-solid.fa-layer-group.text-muted
24+
= t('admin.splashpages.form.include_tracks')
25+
.checkbox{style: 'margin-left: 20px'}
26+
%label
27+
= f.check_box :include_booths
28+
%i.fa-solid.fa-store.text-muted
29+
Include confirmed #{(t'booth').pluralize}?
30+
.col-sm-6
31+
.checkbox
32+
%label
33+
= f.check_box :include_past_editions
34+
%i.fa-solid.fa-clock-rotate-left.text-muted
35+
= t('admin.splashpages.form.include_past_editions')
36+
.checkbox
37+
%label
38+
= f.check_box :include_registrations
39+
%i.fa-solid.fa-user-plus.text-muted
40+
= t('admin.splashpages.form.include_registrations')
41+
.checkbox
42+
%label
43+
= f.check_box :include_tickets
44+
%i.fa-solid.fa-ticket.text-muted
45+
= t('admin.splashpages.form.include_tickets')
46+
47+
.panel.panel-default
48+
.panel-heading
49+
%h3.panel-title
50+
%i.fa-solid.fa-map-location-dot
51+
= t('admin.splashpages.form.venue_and_info')
52+
.panel-body
53+
.row
54+
.col-sm-6
55+
.checkbox
56+
%label
57+
= f.check_box :include_venue
58+
%i.fa-solid.fa-location-dot.text-muted
59+
= t('admin.splashpages.form.include_venue')
60+
.checkbox
61+
%label
62+
= f.check_box :include_lodgings
63+
%i.fa-solid.fa-bed.text-muted
64+
= t('admin.splashpages.form.include_lodgings')
65+
.col-sm-6
66+
.checkbox
67+
%label
68+
= f.check_box :include_sponsors
69+
%i.fa-solid.fa-handshake.text-muted
70+
= t('admin.splashpages.form.include_sponsors')
71+
.checkbox
72+
%label
73+
= f.check_box :include_social_media
74+
%i.fa-solid.fa-share-nodes.text-muted
75+
= t('admin.splashpages.form.include_social_media')
76+
77+
.panel.panel-default
78+
.panel-heading
79+
%h3.panel-title
80+
%i.fa-solid.fa-film
81+
= t('admin.splashpages.form.video.title')
82+
.panel-body
83+
.form-group
84+
= f.label :video_url
85+
.input-group
86+
%span.input-group-addon
87+
%i.fa-solid.fa-link
88+
= f.url_field :video_url,
89+
class: 'form-control',
90+
placeholder: t('admin.splashpages.form.video.placeholder')
91+
%p.help-block
92+
%i.fa-solid.fa-circle-info
93+
= t('admin.splashpages.form.video.help_html').html_safe
94+
95+
.panel.panel-default
96+
.panel-heading
97+
%h3.panel-title
98+
%i.fa-solid.fa-palette
99+
= t('admin.splashpages.form.design_and_access')
100+
.panel-body
101+
.row
102+
.col-sm-6
103+
.checkbox
104+
%label
105+
= f.check_box :use_new_design
106+
%i.fa-solid.fa-wand-magic-sparkles.text-muted
107+
= t('admin.splashpages.form.use_new_design')
108+
.col-sm-6
109+
.checkbox
110+
%label
111+
= f.check_box :public
112+
%i.fa-solid.fa-eye.text-muted
113+
= t('admin.splashpages.form.make_public')
114+
115+
.row
116+
.col-md-12
117+
.pull-right
118+
.checkbox.inline{style: 'display: inline-block; margin-right: 15px'}
119+
%label
120+
= check_box_tag 'selectAll'
121+
= t('admin.splashpages.form.select_all')
122+
= f.submit t('admin.splashpages.form.save'), { class: 'btn btn-primary btn-lg' }
75123

76124
:javascript
77125
$(document).ready(function(){
78126
$('#selectAll').click(function() {
79-
if (this.checked) {
80-
$(':checkbox').each(function() {
81-
this.checked = true;
82-
});
83-
} else {
84-
$(':checkbox').each(function() {
85-
this.checked = false;
86-
});
87-
}
127+
var checked = this.checked;
128+
$('input[type="checkbox"]').not(this).each(function() {
129+
this.checked = checked;
130+
});
88131
});
89132
});

app/views/admin/splashpages/edit.html.haml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
.col-md-12
33
.page-header
44
%h1
5-
Configure Splashpage
5+
%i.fa-solid.fa-gear
6+
= t('admin.splashpages.edit.title')
7+
%p.text-muted= t('admin.splashpages.edit.subtitle')
68
.row
7-
.col-md-8
9+
.col-md-10.col-md-offset-1
810
= render partial: 'form'

app/views/admin/splashpages/new.html.haml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
.col-md-12
33
.page-header
44
%h1
5-
Configure Splashpage
5+
%i.fa-solid.fa-plus
6+
= t('admin.splashpages.new.title')
7+
%p.text-muted= t('admin.splashpages.new.subtitle')
68
.row
7-
.col-md-8
9+
.col-md-10.col-md-offset-1
810
= render partial: 'form'

0 commit comments

Comments
 (0)