hackathon_manager 0.4.4 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/hackathon_manager/core.sass +1 -1
- data/app/assets/stylesheets/hackathon_manager/forms/_confirmation.sass +2 -4
- data/app/assets/stylesheets/hackathon_manager/forms/_forms.sass +161 -120
- data/app/assets/stylesheets/hackathon_manager/general/_base.sass +16 -12
- data/app/assets/stylesheets/hackathon_manager/general/_button.sass +15 -11
- data/app/assets/stylesheets/hackathon_manager/general/_header.sass +67 -0
- data/app/assets/stylesheets/hackathon_manager/general/_main.sass +4 -2
- data/app/assets/stylesheets/hackathon_manager/general/_mixins.sass +59 -53
- data/app/assets/stylesheets/hackathon_manager/mailer.sass +3 -3
- data/app/assets/stylesheets/variables.sass +100 -11
- data/app/controllers/bus_lists_controller.rb +1 -1
- data/app/controllers/questionnaires_controller.rb +1 -1
- data/app/controllers/rsvps_controller.rb +1 -1
- data/app/controllers/users/registrations_controller.rb +1 -1
- data/app/helpers/hackathon_manager_helper.rb +8 -0
- data/app/inputs/deletable_attachment_input.rb +1 -1
- data/app/models/questionnaire.rb +14 -0
- data/app/views/bus_lists/show.html.haml +5 -2
- data/app/views/devise/passwords/edit.html.haml +15 -14
- data/app/views/devise/passwords/new.html.haml +6 -4
- data/app/views/devise/registrations/_form.html.haml +5 -6
- data/app/views/devise/registrations/edit.html.haml +18 -20
- data/app/views/devise/registrations/new.html.haml +14 -13
- data/app/views/devise/sessions/_form.html.haml +5 -5
- data/app/views/devise/sessions/new.html.haml +10 -9
- data/app/views/layouts/hackathon_manager/_account_nav.html.haml +10 -0
- data/app/views/layouts/hackathon_manager/_footer.html.haml +0 -0
- data/app/views/layouts/hackathon_manager/_header.html.haml +14 -0
- data/app/views/layouts/{_shared_footer.html.haml → hackathon_manager/_shared_footer.html.haml} +1 -1
- data/app/views/layouts/{hackathon_manager.html.haml → hackathon_manager/application.html.haml} +7 -3
- data/app/views/layouts/manage/application.html.haml +2 -2
- data/app/views/manage/questionnaires/_form.html.haml +1 -1
- data/app/views/questionnaires/_form.html.haml +42 -45
- data/app/views/questionnaires/edit.html.haml +11 -8
- data/app/views/questionnaires/new.html.haml +6 -6
- data/app/views/questionnaires/show.html.haml +46 -27
- data/app/views/rsvps/show.html.haml +40 -33
- data/config/initializers/devise.rb +2 -1
- data/lib/hackathon_manager/version.rb +1 -1
- metadata +8 -6
- data/app/assets/stylesheets/hackathon_manager/general/_sidebar.sass +0 -70
- data/app/views/layouts/_sidebar.html.haml +0 -25
@@ -1,29 +1,33 @@
|
|
1
1
|
.button, input[type=submit]
|
2
|
-
background: $
|
3
|
-
border:
|
2
|
+
background: $button--background
|
3
|
+
border: 1px solid $button--border
|
4
4
|
cursor: pointer
|
5
5
|
display: inline-block
|
6
|
-
padding: 0.
|
6
|
+
padding: 0.6em 1.3em !important
|
7
7
|
font-size: 15px
|
8
|
-
border-radius:
|
8
|
+
border-radius: 0
|
9
9
|
text-transform: uppercase
|
10
|
-
color: $
|
10
|
+
color: $button--text
|
11
11
|
font-weight: 600 !important
|
12
|
-
margin: 0.5em 0.5em 0.5em 0
|
13
12
|
text-align: center
|
14
13
|
text-decoration: none
|
15
14
|
-webkit-appearance: none
|
16
|
-
@include transition(
|
15
|
+
@include transition(150ms, all, ease-in-out, 0ms)
|
16
|
+
@include box-shadow(0 2px 15px rgba($button--background, 0.3))
|
17
|
+
@include border-radius(3px)
|
18
|
+
|
19
|
+
&.button--with-margin
|
20
|
+
margin: 0.5em 0.5em 0.5em 0
|
17
21
|
|
18
22
|
&.small
|
19
23
|
font-size: 1rem
|
20
24
|
min-width: initial
|
21
25
|
padding: 3px 5px
|
22
26
|
&:hover, &:focus
|
23
|
-
background:
|
24
|
-
|
25
|
-
color: $
|
26
|
-
outline-color: $
|
27
|
+
background: $button--background--hover
|
28
|
+
border-color: $button--border--hover
|
29
|
+
color: $button--text--hover
|
30
|
+
outline-color: $button--background--hover
|
27
31
|
&:disabled
|
28
32
|
color: lighten($secondary, 40%)
|
29
33
|
background: transparent
|
@@ -0,0 +1,67 @@
|
|
1
|
+
$account-nav-spacing-horiz: 20px
|
2
|
+
$account-nav-padding-vert: 15px
|
3
|
+
|
4
|
+
.header
|
5
|
+
width: 100%
|
6
|
+
height: 80px
|
7
|
+
display: flex
|
8
|
+
flex-flow: row nowrap
|
9
|
+
justify-content: center
|
10
|
+
background: $grey-dark
|
11
|
+
|
12
|
+
.header__wrapper
|
13
|
+
display: flex
|
14
|
+
flex-flow: row nowrap
|
15
|
+
justify-content: space-between
|
16
|
+
|
17
|
+
.header-logo__image
|
18
|
+
height: 70px
|
19
|
+
width: auto
|
20
|
+
margin: 5px 0
|
21
|
+
|
22
|
+
.header-nav
|
23
|
+
display: flex
|
24
|
+
align-items: center
|
25
|
+
.button
|
26
|
+
margin-right: 10px
|
27
|
+
&:last-child
|
28
|
+
margin-right: 0
|
29
|
+
|
30
|
+
.account-nav
|
31
|
+
border-bottom: 1px solid $account-nav--border-color
|
32
|
+
width: 100%
|
33
|
+
display: flex
|
34
|
+
flex-flow: row nowrap
|
35
|
+
justify-content: center
|
36
|
+
|
37
|
+
.account-nav__wrapper
|
38
|
+
width: 100%
|
39
|
+
max-width: 670px
|
40
|
+
padding: 0 5px
|
41
|
+
overflow: hidden
|
42
|
+
|
43
|
+
.account-nav__links
|
44
|
+
display: flex
|
45
|
+
flex-flow: row wrap
|
46
|
+
margin-left: -1 * $account-nav-spacing-horiz
|
47
|
+
margin-right: -1 * $account-nav-spacing-horiz
|
48
|
+
@media (max-width: 700px)
|
49
|
+
justify-content: center
|
50
|
+
|
51
|
+
.account-nav__link
|
52
|
+
display: flex
|
53
|
+
padding: $account-nav-padding-vert 2px $account-nav-padding-vert
|
54
|
+
margin-left: $account-nav-spacing-horiz
|
55
|
+
margin-right: $account-nav-spacing-horiz
|
56
|
+
text-transform: uppercase
|
57
|
+
font-weight: $font-bold
|
58
|
+
color: $account-nav--text
|
59
|
+
@media (max-width: 700px)
|
60
|
+
margin-left: 10px
|
61
|
+
margin-right: 10px
|
62
|
+
|
63
|
+
.account-nav__link--active
|
64
|
+
color: $account-nav--text--active
|
65
|
+
border-bottom: 4px solid $account-nav--border-color--active
|
66
|
+
padding-bottom: $account-nav-padding-vert - 3px
|
67
|
+
margin-bottom: -1px
|
@@ -1,58 +1,64 @@
|
|
1
|
+
@mixin transition($duration, $property, $function, $delay)
|
2
|
+
-webkit-transition: $duration $property $function $delay
|
3
|
+
-moz-transition-duration: $duration
|
4
|
+
-moz-transtition-property: $property
|
5
|
+
-moz-transition-timing-function: $function
|
6
|
+
-moz-transition-delay: $delay
|
7
|
+
-o-transition: $duration $property $function $delay
|
8
|
+
transition: $duration $property $function $delay
|
1
9
|
|
2
|
-
@mixin
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
&:-ms-input-placeholder
|
36
|
-
color: $color
|
10
|
+
@mixin border-radius($radius)
|
11
|
+
-webkit-border-radius: $radius
|
12
|
+
-moz-border-radius: $radius
|
13
|
+
-ms-border-radius: $radius
|
14
|
+
-o-border-radius: $radius
|
15
|
+
border-radius: $radius
|
16
|
+
|
17
|
+
@mixin scale($args)
|
18
|
+
-webkit-transform: scale($args)
|
19
|
+
-o-transform: scale($args)
|
20
|
+
transform: scale($args)
|
21
|
+
|
22
|
+
@mixin box-shadow($args)
|
23
|
+
-webkit-box-shadow: $args
|
24
|
+
-moz-box-shadow: $args
|
25
|
+
box-shadow: $args
|
26
|
+
|
27
|
+
@mixin placeholder-color($color)
|
28
|
+
&::placeholder
|
29
|
+
color: $color
|
30
|
+
font-style: italic
|
31
|
+
&::-webkit-input-placeholder
|
32
|
+
color: $color
|
33
|
+
font-style: italic
|
34
|
+
&:-moz-placeholder /* Firefox 18- */
|
35
|
+
color: $color
|
36
|
+
font-style: italic
|
37
|
+
&::-moz-placeholder /* Firefox 19+ */
|
38
|
+
color: $color
|
39
|
+
font-style: italic
|
40
|
+
&:-ms-input-placeholder
|
41
|
+
color: $color
|
42
|
+
font-style: italic
|
37
43
|
|
38
44
|
@mixin box-sizing($box-model)
|
39
|
-
|
40
|
-
|
41
|
-
|
45
|
+
-webkit-box-sizing: $box-model
|
46
|
+
-moz-box-sizing: $box-model
|
47
|
+
box-sizing: $box-model
|
42
48
|
|
43
49
|
@mixin appearance($appearance)
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
@mixin background-size
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
@mixin translate
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
50
|
+
-webkit-appearance: $appearance
|
51
|
+
-moz-appearance: $appearance
|
52
|
+
appearance: $appearance
|
53
|
+
|
54
|
+
@mixin background-size($arg)
|
55
|
+
-webkit-background-size: $arg
|
56
|
+
-moz-background-size: $arg
|
57
|
+
-o-background-size: $arg
|
58
|
+
background-size: $arg
|
59
|
+
|
60
|
+
@mixin translate($x, $y)
|
61
|
+
transform: translate($x, $y)
|
62
|
+
-webkit-transform: translate($x, $y)
|
63
|
+
-moz-transform: translate($x, $y)
|
64
|
+
-o-transform: translate($x, $y)
|
@@ -6,7 +6,7 @@ body
|
|
6
6
|
color: #201e1f
|
7
7
|
font-family: 'Open Sans', sans-serif
|
8
8
|
font-size: 16px
|
9
|
-
font-weight:
|
9
|
+
font-weight: $font-light
|
10
10
|
text-align: center
|
11
11
|
margin: 0
|
12
12
|
body *
|
@@ -61,7 +61,7 @@ h1
|
|
61
61
|
line-height: 1.27
|
62
62
|
|
63
63
|
h1, h2
|
64
|
-
font-weight:
|
64
|
+
font-weight: $font-light
|
65
65
|
text-transform: uppercase
|
66
66
|
font-size: 36px
|
67
67
|
color: $primary
|
@@ -81,7 +81,7 @@ a.nodecor
|
|
81
81
|
text-decoration: none
|
82
82
|
|
83
83
|
p
|
84
|
-
font-weight:
|
84
|
+
font-weight: $font-light
|
85
85
|
font-size: 16px
|
86
86
|
line-height: 1.7
|
87
87
|
text-align: justify
|
@@ -1,6 +1,25 @@
|
|
1
1
|
// TODO: automatically generate a /app/assets/stylesheets/variable-overrides.sass
|
2
2
|
// so people know they can override them, and provide instructions to modify this file.
|
3
3
|
|
4
|
+
/*
|
5
|
+
* Allow for overridden variables.
|
6
|
+
* To use, place a custom `variable-overrides.sass` in your own app, at:
|
7
|
+
* /app/assets/stylesheets/variable-overrides.sass
|
8
|
+
* with any of the variables below.
|
9
|
+
*/
|
10
|
+
@import variable-overrides
|
11
|
+
|
12
|
+
/*
|
13
|
+
* hackathon_manager variables
|
14
|
+
*
|
15
|
+
* All variables defined below should have the !default flag at the end of
|
16
|
+
* the value. This ensures that if the variable is set in variable-overrides,
|
17
|
+
* the default value here won't be used.
|
18
|
+
*/
|
19
|
+
|
20
|
+
/*
|
21
|
+
* Colors
|
22
|
+
*/
|
4
23
|
$orange : #f58625 !default
|
5
24
|
$black : #201e1f !default
|
6
25
|
$grey : #4d4d4d !default
|
@@ -9,29 +28,99 @@ $white : darken(#fff, 1%) !default
|
|
9
28
|
$white-grey : darken($white, 5%) !default
|
10
29
|
$red : #fc401c !default
|
11
30
|
|
12
|
-
|
31
|
+
/*
|
32
|
+
* Standardized colors
|
33
|
+
*/
|
13
34
|
$primary : $orange !default
|
14
|
-
$secondary : $
|
35
|
+
$secondary : $orange !default
|
15
36
|
|
16
|
-
|
37
|
+
/*
|
38
|
+
* General colors
|
39
|
+
*/
|
17
40
|
$white_pure : #FFFFFF !default
|
18
|
-
$grey-light : #
|
41
|
+
$grey-light : #bbbbbb !default
|
19
42
|
$grey-med : #888888 !default
|
20
43
|
$grey-dark : #343434 !default
|
21
44
|
$offwhite : #FCF7F2 !default
|
22
45
|
|
23
|
-
|
46
|
+
/*
|
47
|
+
* Fonts
|
48
|
+
*/
|
24
49
|
$font-body-family : 'Open Sans', sans-serif !default
|
25
50
|
$font-headlines-family : 'Open Sans', sans-serif !default
|
26
51
|
$font-bold : 600 !default
|
27
|
-
$font-reg :
|
28
|
-
$font-light :
|
29
|
-
$font-thin : 100 !default
|
52
|
+
$font-reg : 400 !default
|
53
|
+
$font-light : 300 !default
|
30
54
|
|
31
|
-
|
55
|
+
/*
|
56
|
+
* Constants
|
57
|
+
*/
|
32
58
|
$sidebar-width: 200px !default
|
33
59
|
|
34
|
-
|
60
|
+
/*
|
61
|
+
* Media breakpoints
|
62
|
+
*/
|
35
63
|
$breakpoint-tablet: 1000px !default
|
36
64
|
|
37
|
-
|
65
|
+
/*
|
66
|
+
* Headings
|
67
|
+
*/
|
68
|
+
$section-title--text: #5d5c77
|
69
|
+
$section-title--text--emphasized: $primary
|
70
|
+
|
71
|
+
/*
|
72
|
+
* Links
|
73
|
+
*/
|
74
|
+
$link--text: $secondary !default
|
75
|
+
$link--text--hover: lighten($secondary, 10%) !default
|
76
|
+
|
77
|
+
/*
|
78
|
+
* Buttons
|
79
|
+
*/
|
80
|
+
$button--background: $primary !default
|
81
|
+
$button--border: $primary !default
|
82
|
+
$button--text: $white_pure !default
|
83
|
+
|
84
|
+
// Hover state
|
85
|
+
$button--background--hover: lighten($primary, 15%) !default
|
86
|
+
$button--border--hover: lighten($primary, 15%) !default
|
87
|
+
$button--text--hover: $white_pure !default
|
88
|
+
|
89
|
+
/*
|
90
|
+
* Forms
|
91
|
+
*/
|
92
|
+
$input--border-color: #d1d3d4 !default
|
93
|
+
$input--background: $white_pure !default
|
94
|
+
$input--text: $grey-dark !default
|
95
|
+
$input--text--placeholder: #d1d3d4 !default
|
96
|
+
|
97
|
+
$input--hint: #d1d3d4 !default
|
98
|
+
$input--error--background: $red !default
|
99
|
+
$input--error--text: $white_pure !default
|
100
|
+
$input--required-star: #bcbec0 !default
|
101
|
+
|
102
|
+
// Focused state
|
103
|
+
$input--border-color--focus: $primary !default
|
104
|
+
$input--background--focus: $input--background !default
|
105
|
+
$input--text--focus: $input--text !default
|
106
|
+
|
107
|
+
/*
|
108
|
+
* Alerts
|
109
|
+
*/
|
110
|
+
$alert--background: $white_pure !default
|
111
|
+
$alert--border: $grey-dark !default
|
112
|
+
$alert--text: $grey-dark !default
|
113
|
+
|
114
|
+
$alert--background--error: $red !default
|
115
|
+
$alert--border--error: $red !default
|
116
|
+
$alert--text--error: $white_pure !default
|
117
|
+
|
118
|
+
/*
|
119
|
+
* Account navigation
|
120
|
+
*/
|
121
|
+
$account-nav--text: #888
|
122
|
+
$account-nav--border-color: $grey-light
|
123
|
+
|
124
|
+
// Active state
|
125
|
+
$account-nav--text--active: $grey-dark
|
126
|
+
$account-nav--border-color--active: $primary
|
@@ -4,7 +4,7 @@ class QuestionnairesController < ApplicationController
|
|
4
4
|
before_action :logged_in
|
5
5
|
before_action :find_questionnaire, only: [:show, :update, :edit, :destroy]
|
6
6
|
|
7
|
-
layout 'hackathon_manager'
|
7
|
+
layout 'hackathon_manager/application'
|
8
8
|
|
9
9
|
def logged_in
|
10
10
|
authenticate_user!
|
@@ -2,7 +2,7 @@ class Users::RegistrationsController < Devise::RegistrationsController
|
|
2
2
|
# before_action :configure_sign_up_params, only: [:create]
|
3
3
|
# before_action :configure_account_update_params, only: [:update]
|
4
4
|
|
5
|
-
layout 'hackathon_manager'
|
5
|
+
layout 'hackathon_manager/application'
|
6
6
|
|
7
7
|
# GET /resource/sign_up
|
8
8
|
# def new
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module HackathonManagerHelper
|
2
2
|
def title(page_title)
|
3
|
+
content_for(:page_title) { page_title }
|
3
4
|
content_for(:title) { page_title + " - #{Rails.configuration.hackathon['name']}" }
|
4
5
|
page_title
|
5
6
|
end
|
@@ -25,6 +26,13 @@ module HackathonManagerHelper
|
|
25
26
|
markdown.render(text).html_safe
|
26
27
|
end
|
27
28
|
|
29
|
+
def active_link_to(name = nil, options = nil, html_options = nil, &block)
|
30
|
+
if current_page?(options)
|
31
|
+
html_options[:class] = html_options[:class] + ' ' + html_options[:active_class]
|
32
|
+
end
|
33
|
+
link_to(name, options, html_options, &block)
|
34
|
+
end
|
35
|
+
|
28
36
|
# https://github.com/rails/sprockets-rails/issues/298#issuecomment-168927471
|
29
37
|
def asset_available?(logical_path)
|
30
38
|
if Rails.configuration.assets.compile
|