Restyled registration flow steps

This commit is contained in:
Godwin 2016-07-21 18:24:38 -07:00
parent 1db977f35b
commit b8b36b7cc8
14 changed files with 195 additions and 24 deletions

View File

@ -1178,6 +1178,160 @@ ul.warnings li,
} }
.flow-steps { .flow-steps {
width: 100%;
list-style: none;
text-align: center;
font-size: 0.85em;
@include font-family(secondary);
ul {
@include _-(display, flex);
list-style: none;
margin: 2em 0 5em;
padding: 0;
}
li {
position: relative;
@include _(flex, 1);
padding-top: 1.5em;
@include after {
content: '';
position: absolute;
top: 0;
left: -50%;
width: 100%;
@include _(opacity, 0.5);
border-top: 0.25em dashed #CCC;
}
&:first-child {
@include after {
left: 0;
width: 50%;
}
}
&.enabled {
@include after {
border-color: $colour-1;
border-color: rgba($colour-1, 0.5);
}
&.post {
@include after {
border-color: $colour-1;
border-color: rgba($colour-5, 0.5);
}
}
}
@include before {
content: '';
position: absolute;
background-color: #CCC;
@include _(box-shadow, 0 0 0.25rem #CCC);
font-size: 1.3em;
top: -0.2em;
width: 0.55em;
height: 0.55em;
left: 0;
right: 0;
margin: auto;
z-index: 1;
@include _(border-radius, 50%);
}
&.enabled {
@include after {
border-top-style: solid;
}
@include before {
background-color: $colour-1;
@include _(box-shadow, 0 0 0.25rem $colour-1);
}
&.post {
@include before {
background-color: $colour-5;
@include _(box-shadow, 0 0 0.25rem $colour-5);
}
}
&.current {
// border-width: 0.333em;
@include before {
top: -0.25em;
font-size: 3em;
background-color: $white;
border: 0.075em solid $colour-1;
// border-width: 0 0.075em;
// width: 0.575em;
}
// @include after {
// content: '';
// position: absolute;
// top: 0;
// right: 0;
// left: 0;
// margin: auto;
// background-color: $colour-2;
// width: 0.5em;
// height: 0.5em;
// }
&.post {
@include before {
border-color: $colour-5;
}
}
}
}
}
.step {
color: #CCC;
position: absolute;
@include _(transform-origin, 0 50%);
@include _(transform, rotate(45deg));
text-align: left;
top: 0.5em;
left: 50%;
white-space: nowrap;
}
a {
position: static;
color: inherit;
@include _(color, 0.5);
@include _(transition, color 150ms ease-in-out);
@include before {
content: '';
position: absolute;
top: -1em;
right: 0;
bottom: 0;
left: 0;
}
@include after {
display: none;
}
}
.current .step,
a:hover,
a:focus {
color: $black;
}
}
/*.flow-steps {
ul { ul {
display: block; display: block;
position: relative; position: relative;
@ -1277,7 +1431,7 @@ ul.warnings li,
} }
} }
} }
} }*/
#main article #registration-admin-menu { #main article #registration-admin-menu {
margin: 1em 0 0; margin: 1em 0 0;
@ -3785,9 +3939,22 @@ html[data-ontop] {
min-width: 12em; min-width: 12em;
} }
} }
.flow-steps {
ul {
margin-bottom: 1em;
}
.step {
position: static;
text-align: center;
white-space: normal;
@include _(transform, none);
}
}
} }
@media (min-width: 825px) { /*@media (min-width: 825px) {
.flow-steps { .flow-steps {
#registration-steps { #registration-steps {
li { li {
@ -3840,7 +4007,7 @@ html[data-ontop] {
text-align: center; text-align: center;
} }
} }
} }*/
@include breakpoint(large) { @include breakpoint(large) {
#main-nav { #main-nav {

View File

@ -717,6 +717,9 @@ class ConferencesController < ApplicationController
case @register_template case @register_template
when :questions when :questions
@registration.housing_data ||= { } @registration.housing_data ||= { }
@page_title = 'articles.conference_registration.headings.Registration_Info'
when :payment
@page_title = 'articles.conference_registration.headings.Payment'
when :workshops when :workshops
@page_title = 'articles.conference_registration.headings.Workshops' @page_title = 'articles.conference_registration.headings.Workshops'
@ -1386,6 +1389,7 @@ class ConferencesController < ApplicationController
@translations_available_for_editing << locale if @workshop.can_translate?(current_user, locale) @translations_available_for_editing << locale if @workshop.can_translate?(current_user, locale)
end end
@page_title = 'page_titles.conferences.View_Workshop' @page_title = 'page_titles.conferences.View_Workshop'
@register_template = :workshops
render 'workshops/show' render 'workshops/show'
end end
@ -1397,6 +1401,7 @@ class ConferencesController < ApplicationController
@languages = [I18n.locale.to_sym] @languages = [I18n.locale.to_sym]
@needs = [] @needs = []
@page_title = 'page_titles.conferences.Create_Workshop' @page_title = 'page_titles.conferences.Create_Workshop'
@register_template = :workshops
render 'workshops/new' render 'workshops/new'
end end
@ -1405,6 +1410,7 @@ class ConferencesController < ApplicationController
@translation = params[:locale] @translation = params[:locale]
@page_title = 'page_titles.conferences.Translate_Workshop' @page_title = 'page_titles.conferences.Translate_Workshop'
@page_title_vars = { language: view_context.language_name(@translation) } @page_title_vars = { language: view_context.language_name(@translation) }
@register_template = :workshops
edit_workshop edit_workshop
end end
@ -1439,6 +1445,7 @@ class ConferencesController < ApplicationController
@space = @workshop.space.to_sym if @workshop.space @space = @workshop.space.to_sym if @workshop.space
@theme = @workshop.theme.to_sym if @workshop.theme @theme = @workshop.theme.to_sym if @workshop.theme
@notes = @workshop.notes @notes = @workshop.notes
@register_template = :workshops
render 'workshops/new' render 'workshops/new'
end end
@ -1462,6 +1469,7 @@ class ConferencesController < ApplicationController
end end
return redirect_to view_workshop_url(@this_conference.slug, @workshop.id) return redirect_to view_workshop_url(@this_conference.slug, @workshop.id)
end end
@register_template = :workshops
render 'workshops/delete' render 'workshops/delete'
end end
@ -1565,6 +1573,7 @@ class ConferencesController < ApplicationController
return do_404 unless @workshop return do_404 unless @workshop
return do_403 if @workshop.facilitator?(current_user) || !current_user return do_403 if @workshop.facilitator?(current_user) || !current_user
@register_template = :workshops
render 'workshops/facilitate' render 'workshops/facilitate'
end end
@ -1594,6 +1603,7 @@ class ConferencesController < ApplicationController
return do_404 unless @workshop return do_404 unless @workshop
return do_403 unless @workshop.requested_collaborator?(current_user) return do_403 unless @workshop.requested_collaborator?(current_user)
@register_template = :workshops
render 'workshops/facilitate_request_sent' render 'workshops/facilitate_request_sent'
end end

View File

@ -851,7 +851,12 @@ module ApplicationHelper
steps.each do | step | steps.each do | step |
text = _"articles.conference_registration.headings.#{step[:name].to_s}" text = _"articles.conference_registration.headings.#{step[:name].to_s}"
h = content_tag :li, class: [step[:enabled] ? :enabled : nil, @register_template == step[:name] ? :current : nil] do
if step[:name] == :workshops
post_registration = true
end
h = content_tag :li, class: [step[:enabled] ? :enabled : nil, @register_template == step[:name] ? :current : nil, post_registration ? :post : :pre].compact do
if step[:enabled] if step[:enabled]
content_tag :div, (link_to text, register_step_path(@this_conference.slug, step[:name])).html_safe, class: :step content_tag :div, (link_to text, register_step_path(@this_conference.slug, step[:name])).html_safe, class: :step
else else
@ -859,10 +864,6 @@ module ApplicationHelper
end end
end end
if step[:name] == :workshops
post_registration = true
end
if post_registration if post_registration
post_registration_steps += h.html_safe post_registration_steps += h.html_safe
else else
@ -874,9 +875,7 @@ module ApplicationHelper
row class: 'flow-steps' do row class: 'flow-steps' do
columns do columns do
(content_tag :ul, id: 'registration-steps' do (content_tag :ul, id: 'registration-steps' do
pre_registration_steps.html_safe pre_registration_steps.html_safe +
end).html_safe +
(content_tag :ul, id: 'post-registration-steps' do
post_registration_steps.html_safe post_registration_steps.html_safe
end).html_safe end).html_safe
end end

View File

@ -1,5 +1,3 @@
= columns(medium: 12) do
%h2=_(@page_title)
= columns(medium: 3, large: 2) do = columns(medium: 3, large: 2) do
= admin_menu = admin_menu
= columns(medium: 9, large: 10) do = columns(medium: 9, large: 10) do

View File

@ -1,7 +1,5 @@
= columns(medium: 12) do = columns(medium: 12) do
%h2=_(@page_title)
%p=_'articles.conference_registration.paragraphs.Contact_Info', :s, 2 %p=_'articles.conference_registration.paragraphs.Contact_Info', :s, 2
= columns(medium: 12) do
= form_tag register_path(@this_conference.slug) do = form_tag register_path(@this_conference.slug) do
= textfield :name, @name, required: true, heading: 'articles.conference_registration.headings.name', big: true = textfield :name, @name, required: true, heading: 'articles.conference_registration.headings.name', big: true
= textfield :location, (params[:location] || @registration.city || location(lookup_ip_location)), required: true, heading: 'articles.conference_registration.headings.location' = textfield :location, (params[:location] || @registration.city || location(lookup_ip_location)), required: true, heading: 'articles.conference_registration.headings.location'

View File

@ -1,5 +1,3 @@
= columns(medium: 12) do
%h2=_(@page_title)
= columns(medium: 12) do = columns(medium: 12) do
= form_tag register_path(@this_conference.slug) do = form_tag register_path(@this_conference.slug) do
= checkbox :can_provide_housing, @registration.can_provide_housing, 'articles.conference_registration.can_provide_housing', heading: 'articles.conference_registration.headings.can_provide_housing', help: 'articles.conference_registration.paragraphs.can_provide_housing', inline: true, toggles: 'hosting-options', centered: true = checkbox :can_provide_housing, @registration.can_provide_housing, 'articles.conference_registration.can_provide_housing', heading: 'articles.conference_registration.headings.can_provide_housing', help: 'articles.conference_registration.paragraphs.can_provide_housing', inline: true, toggles: 'hosting-options', centered: true

View File

@ -1,5 +1,4 @@
= columns(medium: 12) do = columns(medium: 12) do
%h2=_'articles.conference_registration.headings.Payment'
- if @registration.registration_fees_paid.present? - if @registration.registration_fees_paid.present?
%p %p
%strong=_'articles.conference_registration.paragraphs.Payment_Made', :p, vars: { fees_paid: @registration.registration_fees_paid } %strong=_'articles.conference_registration.paragraphs.Payment_Made', :p, vars: { fees_paid: @registration.registration_fees_paid }

View File

@ -1,5 +1,4 @@
= columns(medium: 12) do = columns(medium: 12) do
%h2=_@page_title
%p=_'articles.conference_registration.paragraphs.Policy_Agreement', :s, 2 %p=_'articles.conference_registration.paragraphs.Policy_Agreement', :s, 2
= columns(medium: 10, push: 1) do = columns(medium: 10, push: 1) do
= render 'application/policy' = render 'application/policy'

View File

@ -1,5 +1,3 @@
= columns(medium: 12) do
%h2=_'articles.conference_registration.headings.Registration_Info'
= columns(medium: 12) do = columns(medium: 12) do
%p=_'articles.conference_registration.paragraphs.Registration_Info', :p, vars: { city: @this_conference.location.city } %p=_'articles.conference_registration.paragraphs.Registration_Info', :p, vars: { city: @this_conference.location.city }
= form_tag register_path(@this_conference.slug), class: [:centered, :clearfix] do = form_tag register_path(@this_conference.slug), class: [:centered, :clearfix] do

View File

@ -1,5 +1,3 @@
= columns(medium: 12) do
%h2=_@page_title
= columns(medium: 12, class: 'major-group') do = columns(medium: 12, class: 'major-group') do
- if @my_workshops.present? - if @my_workshops.present?
%h3=_'articles.conference_registration.headings.Your_Workshops' %h3=_'articles.conference_registration.headings.Your_Workshops'

View File

@ -1,5 +1,4 @@
= render :partial => 'page_header', :locals => {:page_key => 'Conference_Registration'} = render :partial => 'page_header', :locals => {:page_key => 'Conference_Registration'}
= registration_step_menu
- if @warnings.present? - if @warnings.present?
= row class: 'warnings', tag: :ul do = row class: 'warnings', tag: :ul do
@ -8,4 +7,7 @@
= warning = warning
%article %article
= row do = row do
= columns(medium: 12) do
%h2=_(@page_title)
= registration_step_menu
= render @register_template.to_s = render @register_template.to_s

View File

@ -5,6 +5,7 @@
= (hidden_field_tag :workshop_id, @workshop.id) if @workshop = (hidden_field_tag :workshop_id, @workshop.id) if @workshop
= columns(medium: 12) do = columns(medium: 12) do
%h2=_'articles.workshops.headings.facilitate', "Request to Facilitate #{@workshop.title}", :vars => { :workshop_title => @workshop.title } %h2=_'articles.workshops.headings.facilitate', "Request to Facilitate #{@workshop.title}", :vars => { :workshop_title => @workshop.title }
= registration_step_menu
=m('articles.workshops.paragraphs.facilitate_request','Please tell the current workshop facilitators who you are, why you want to help facilitate the workshop, and how you think you will help make the workshop better. All of the current facilitators will be emailed and they may ask more questions before approving or denying your request. Please note that this will reveal your email address to the facilitators.') =m('articles.workshops.paragraphs.facilitate_request','Please tell the current workshop facilitators who you are, why you want to help facilitate the workshop, and how you think you will help make the workshop better. All of the current facilitators will be emailed and they may ask more questions before approving or denying your request. Please note that this will reveal your email address to the facilitators.')
.text-area-field.input-field .text-area-field.input-field
= label_tag :message = label_tag :message

View File

@ -3,6 +3,7 @@
%article %article
= row do = row do
%h2=_'page_titles.conferences.Facilitate_Workshop' %h2=_'page_titles.conferences.Facilitate_Workshop'
= registration_step_menu
= columns(medium: 12) do = columns(medium: 12) do
=m('articles.workshops.paragraphs.facilitate_request_sent','Your request has been sent. You will receive an email once your request is approved or denied or if the current facilitators have any questions.') =m('articles.workshops.paragraphs.facilitate_request_sent','Your request has been sent. You will receive an email once your request is approved or denied or if the current facilitators have any questions.')
= columns(medium: 12) do = columns(medium: 12) do

View File

@ -13,6 +13,9 @@
%h2=_@page_title, :t %h2=_@page_title, :t
- else - else
%h2=_@page_title, :t %h2=_@page_title, :t
= registration_step_menu
= textfield :title, @title, required: true, lang: @translation, big: true, original_value: @is_translating ? @workshop.title! : nil, original_lang: @workshop.locale = textfield :title, @title, required: true, lang: @translation, big: true, original_value: @is_translating ? @workshop.title! : nil, original_lang: @workshop.locale
= textarea :info, @info, help: 'articles.workshops.paragraphs.info', lang: @translation, original_value: @is_translating ? richtext(@workshop.info!, 4).html_safe : nil, original_lang: @workshop.locale = textarea :info, @info, help: 'articles.workshops.paragraphs.info', lang: @translation, original_value: @is_translating ? richtext(@workshop.info!, 4).html_safe : nil, original_lang: @workshop.locale
- if !@is_translating && (@workshop.id.blank? || @can_edit) - if !@is_translating && (@workshop.id.blank? || @can_edit)