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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/hackathon_manager/core.sass +1 -1
  3. data/app/assets/stylesheets/hackathon_manager/forms/_confirmation.sass +2 -4
  4. data/app/assets/stylesheets/hackathon_manager/forms/_forms.sass +161 -120
  5. data/app/assets/stylesheets/hackathon_manager/general/_base.sass +16 -12
  6. data/app/assets/stylesheets/hackathon_manager/general/_button.sass +15 -11
  7. data/app/assets/stylesheets/hackathon_manager/general/_header.sass +67 -0
  8. data/app/assets/stylesheets/hackathon_manager/general/_main.sass +4 -2
  9. data/app/assets/stylesheets/hackathon_manager/general/_mixins.sass +59 -53
  10. data/app/assets/stylesheets/hackathon_manager/mailer.sass +3 -3
  11. data/app/assets/stylesheets/variables.sass +100 -11
  12. data/app/controllers/bus_lists_controller.rb +1 -1
  13. data/app/controllers/questionnaires_controller.rb +1 -1
  14. data/app/controllers/rsvps_controller.rb +1 -1
  15. data/app/controllers/users/registrations_controller.rb +1 -1
  16. data/app/helpers/hackathon_manager_helper.rb +8 -0
  17. data/app/inputs/deletable_attachment_input.rb +1 -1
  18. data/app/models/questionnaire.rb +14 -0
  19. data/app/views/bus_lists/show.html.haml +5 -2
  20. data/app/views/devise/passwords/edit.html.haml +15 -14
  21. data/app/views/devise/passwords/new.html.haml +6 -4
  22. data/app/views/devise/registrations/_form.html.haml +5 -6
  23. data/app/views/devise/registrations/edit.html.haml +18 -20
  24. data/app/views/devise/registrations/new.html.haml +14 -13
  25. data/app/views/devise/sessions/_form.html.haml +5 -5
  26. data/app/views/devise/sessions/new.html.haml +10 -9
  27. data/app/views/layouts/hackathon_manager/_account_nav.html.haml +10 -0
  28. data/app/views/layouts/hackathon_manager/_footer.html.haml +0 -0
  29. data/app/views/layouts/hackathon_manager/_header.html.haml +14 -0
  30. data/app/views/layouts/{_shared_footer.html.haml → hackathon_manager/_shared_footer.html.haml} +1 -1
  31. data/app/views/layouts/{hackathon_manager.html.haml → hackathon_manager/application.html.haml} +7 -3
  32. data/app/views/layouts/manage/application.html.haml +2 -2
  33. data/app/views/manage/questionnaires/_form.html.haml +1 -1
  34. data/app/views/questionnaires/_form.html.haml +42 -45
  35. data/app/views/questionnaires/edit.html.haml +11 -8
  36. data/app/views/questionnaires/new.html.haml +6 -6
  37. data/app/views/questionnaires/show.html.haml +46 -27
  38. data/app/views/rsvps/show.html.haml +40 -33
  39. data/config/initializers/devise.rb +2 -1
  40. data/lib/hackathon_manager/version.rb +1 -1
  41. metadata +8 -6
  42. data/app/assets/stylesheets/hackathon_manager/general/_sidebar.sass +0 -70
  43. data/app/views/layouts/_sidebar.html.haml +0 -25
@@ -1,29 +1,33 @@
1
1
  .button, input[type=submit]
2
- background: $secondary
3
- border: 0
2
+ background: $button--background
3
+ border: 1px solid $button--border
4
4
  cursor: pointer
5
5
  display: inline-block
6
- padding: 0.8em 1.5em !important // TODO: only for nav button... find a better fix
6
+ padding: 0.6em 1.3em !important
7
7
  font-size: 15px
8
- border-radius: 30px
8
+ border-radius: 0
9
9
  text-transform: uppercase
10
- color: $white_pure
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(200ms, all, ease-in-out, 0ms)
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: lighten($secondary, 15%)
24
- @include box-shadow(inset 0 0 10px 3px lighten($secondary, 5%))
25
- color: $white_pure
26
- outline-color: $secondary
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,4 +1,6 @@
1
1
  #main
2
2
  height: 100%
3
- margin-left: 200px
4
- @include transition(200ms, margin, ease-in-out, 0s)
3
+
4
+ .session-link
5
+ font-weight: bold
6
+ text-transform: uppercase
@@ -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 transition ( $duration, $property, $function, $delay )
3
- -webkit-transition: $duration $property $function $delay
4
- -moz-transition-duration: $duration
5
- -moz-transtition-property: $property
6
- -moz-transition-timing-function: $function
7
- -moz-transition-delay: $delay
8
- -o-transition: $duration $property $function $delay
9
- transition: $duration $property $function $delay
10
-
11
- @mixin border-radius ( $radius )
12
- -webkit-border-radius: $radius
13
- -moz-border-radius: $radius
14
- -ms-border-radius: $radius
15
- -o-border-radius: $radius
16
- border-radius: $radius
17
-
18
- @mixin scale ( $args )
19
- -webkit-transform: scale($args)
20
- -o-transform: scale($args)
21
- transform: scale($args)
22
-
23
- @mixin box-shadow ( $args )
24
- -webkit-box-shadow: $args
25
- -moz-box-shadow: $args
26
- box-shadow: $args
27
-
28
- @mixin placeholder-color ($color)
29
- &::-webkit-input-placeholder
30
- color: $color
31
- &:-moz-placeholder /* Firefox 18- */
32
- color: $color
33
- &::-moz-placeholder /* Firefox 19+ */
34
- color: $color
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
- -webkit-box-sizing: $box-model
40
- -moz-box-sizing: $box-model
41
- box-sizing: $box-model
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
- -webkit-appearance: $appearance
45
- -moz-appearance: $appearance
46
- appearance: $appearance
47
-
48
- @mixin background-size ($arg)
49
- -webkit-background-size: $arg
50
- -moz-background-size: $arg
51
- -o-background-size: $arg
52
- background-size: $arg
53
-
54
- @mixin translate ($x, $y)
55
- transform: translate($x, $y)
56
- -webkit-transform: translate($x, $y)
57
- -moz-transform: translate($x, $y)
58
- -o-transform: translate($x, $y)
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: 300
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: 300
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: 300
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
- // site colors
31
+ /*
32
+ * Standardized colors
33
+ */
13
34
  $primary : $orange !default
14
- $secondary : $blue !default
35
+ $secondary : $orange !default
15
36
 
16
- // general colors
37
+ /*
38
+ * General colors
39
+ */
17
40
  $white_pure : #FFFFFF !default
18
- $grey-light : #E4E4E4 !default
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
- // fonts
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 : 300 !default
28
- $font-light : 200 !default
29
- $font-thin : 100 !default
52
+ $font-reg : 400 !default
53
+ $font-light : 300 !default
30
54
 
31
- // constants
55
+ /*
56
+ * Constants
57
+ */
32
58
  $sidebar-width: 200px !default
33
59
 
34
- // media
60
+ /*
61
+ * Media breakpoints
62
+ */
35
63
  $breakpoint-tablet: 1000px !default
36
64
 
37
- @import variable-overrides
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
@@ -5,7 +5,7 @@ class BusListsController < ApplicationController
5
5
  before_action :find_bus_list
6
6
  before_action :require_bus_captian
7
7
 
8
- layout 'hackathon_manager'
8
+ layout 'hackathon_manager/application'
9
9
 
10
10
  def logged_in
11
11
  authenticate_user!
@@ -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!
@@ -4,7 +4,7 @@ class RsvpsController < ApplicationController
4
4
  before_action :find_questionnaire
5
5
  before_action :require_accepted_questionnaire
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