hackathon_manager 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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