trusty-festivity-extension 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +33 -0
  4. data/README.md +2 -0
  5. data/Rakefile +110 -0
  6. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  7. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  8. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  9. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  10. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  11. data/app/assets/images/pct-black.png +0 -0
  12. data/app/assets/images/skins/pghkids/footer.png +0 -0
  13. data/app/assets/images/skins/pghkids/footer_mobile.png +0 -0
  14. data/app/assets/images/skins/pghkids/frog.png +0 -0
  15. data/app/assets/images/skins/pghkids/frog_mobile.png +0 -0
  16. data/app/assets/images/skins/pghkids/header.png +0 -0
  17. data/app/assets/images/skins/pghkids/header_mobile.png +0 -0
  18. data/app/assets/images/skins/pghkids/seafoam.jpg +0 -0
  19. data/app/assets/javascripts/admin/festivity_admin.js +22 -0
  20. data/app/assets/javascripts/admin/pages/ajax_image_uploader.js +29 -0
  21. data/app/assets/javascripts/admin/pages/page_bindings.js +94 -0
  22. data/app/assets/javascripts/admin/pages/performances.js +59 -0
  23. data/app/assets/javascripts/admin/sites/categories.js +74 -0
  24. data/app/assets/javascripts/admin/sites/category_types.js +63 -0
  25. data/app/assets/javascripts/admin/sites/site_bindings.js +4 -0
  26. data/app/assets/javascripts/ajaxupload.js +1 -0
  27. data/app/assets/javascripts/bootstrap-sprockets.js +12 -0
  28. data/app/assets/javascripts/bootstrap.js +2306 -0
  29. data/app/assets/javascripts/bootstrap.min.js +7 -0
  30. data/app/assets/javascripts/bootstrap/affix.js +162 -0
  31. data/app/assets/javascripts/bootstrap/alert.js +94 -0
  32. data/app/assets/javascripts/bootstrap/button.js +116 -0
  33. data/app/assets/javascripts/bootstrap/carousel.js +237 -0
  34. data/app/assets/javascripts/bootstrap/collapse.js +211 -0
  35. data/app/assets/javascripts/bootstrap/dropdown.js +161 -0
  36. data/app/assets/javascripts/bootstrap/modal.js +324 -0
  37. data/app/assets/javascripts/bootstrap/popover.js +113 -0
  38. data/app/assets/javascripts/bootstrap/scrollspy.js +175 -0
  39. data/app/assets/javascripts/bootstrap/tab.js +153 -0
  40. data/app/assets/javascripts/bootstrap/tooltip.js +472 -0
  41. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  42. data/app/assets/javascripts/events/event_list_bindings.js +3 -0
  43. data/app/assets/javascripts/events/filters.js +100 -0
  44. data/app/assets/javascripts/festivity.js +1 -0
  45. data/app/assets/javascripts/festivity_app.js +13 -0
  46. data/app/assets/javascripts/jasny-bootstrap.js +1024 -0
  47. data/app/assets/javascripts/jquery-migrate.js +521 -0
  48. data/app/assets/javascripts/jquery.collapse.js +176 -0
  49. data/app/assets/javascripts/jquery.collapse_cookie_storage.js +37 -0
  50. data/app/assets/javascripts/jquery.collapse_storage.js +56 -0
  51. data/app/assets/javascripts/jquery.inputmask.bundle.min.js +10 -0
  52. data/app/assets/javascripts/lodash.min.js +88 -0
  53. data/app/assets/javascripts/readmore.min.js +11 -0
  54. data/app/assets/javascripts/script.js +22 -0
  55. data/app/assets/javascripts/underscore.js +1545 -0
  56. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  57. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  58. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  59. data/app/assets/stylesheets/_bootstrap.scss +50 -0
  60. data/app/assets/stylesheets/_defaults.scss +6 -0
  61. data/app/assets/stylesheets/_event_filter_bar.scss +78 -0
  62. data/app/assets/stylesheets/_faq.scss +48 -0
  63. data/app/assets/stylesheets/_filter-bar-mobile.scss +32 -0
  64. data/app/assets/stylesheets/_footer.scss +18 -0
  65. data/app/assets/stylesheets/_global.scss +30 -0
  66. data/app/assets/stylesheets/_header.scss +95 -0
  67. data/app/assets/stylesheets/_landing_page.scss +62 -0
  68. data/app/assets/stylesheets/_locations.scss +17 -0
  69. data/app/assets/stylesheets/_media-queries.scss +9 -0
  70. data/app/assets/stylesheets/_mixins.scss +17 -0
  71. data/app/assets/stylesheets/_nav.scss +128 -0
  72. data/app/assets/stylesheets/_normalize.scss +375 -0
  73. data/app/assets/stylesheets/_overrides.scss +11 -0
  74. data/app/assets/stylesheets/_page-template.scss +124 -0
  75. data/app/assets/stylesheets/_related_events.scss +20 -0
  76. data/app/assets/stylesheets/_search-results.scss +20 -0
  77. data/app/assets/stylesheets/_utils.scss +8 -0
  78. data/app/assets/stylesheets/admin/festivity_admin.scss +28 -0
  79. data/app/assets/stylesheets/admin/modules/_category_styles.scss +23 -0
  80. data/app/assets/stylesheets/admin/modules/_form_styles.scss +40 -0
  81. data/app/assets/stylesheets/admin/modules/_list_styles.scss +30 -0
  82. data/app/assets/stylesheets/admin/modules/_variables.scss +3 -0
  83. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  84. data/app/assets/stylesheets/bootstrap/_badges.scss +67 -0
  85. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +26 -0
  86. data/app/assets/stylesheets/bootstrap/_button-groups.scss +243 -0
  87. data/app/assets/stylesheets/bootstrap/_buttons.scss +160 -0
  88. data/app/assets/stylesheets/bootstrap/_carousel.scss +269 -0
  89. data/app/assets/stylesheets/bootstrap/_close.scss +36 -0
  90. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  91. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  92. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +214 -0
  93. data/app/assets/stylesheets/bootstrap/_forms.scss +570 -0
  94. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +301 -0
  95. data/app/assets/stylesheets/bootstrap/_grid.scss +84 -0
  96. data/app/assets/stylesheets/bootstrap/_input-groups.scss +166 -0
  97. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +50 -0
  98. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  99. data/app/assets/stylesheets/bootstrap/_list-group.scss +124 -0
  100. data/app/assets/stylesheets/bootstrap/_media.scss +61 -0
  101. data/app/assets/stylesheets/bootstrap/_mixins.scss +39 -0
  102. data/app/assets/stylesheets/bootstrap/_modals.scss +148 -0
  103. data/app/assets/stylesheets/bootstrap/_navbar.scss +663 -0
  104. data/app/assets/stylesheets/bootstrap/_navs.scss +244 -0
  105. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  106. data/app/assets/stylesheets/bootstrap/_pager.scss +54 -0
  107. data/app/assets/stylesheets/bootstrap/_pagination.scss +88 -0
  108. data/app/assets/stylesheets/bootstrap/_panels.scss +265 -0
  109. data/app/assets/stylesheets/bootstrap/_popovers.scss +135 -0
  110. data/app/assets/stylesheets/bootstrap/_print.scss +107 -0
  111. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
  112. data/app/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
  113. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +177 -0
  114. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +150 -0
  115. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  116. data/app/assets/stylesheets/bootstrap/_theme.scss +273 -0
  117. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  118. data/app/assets/stylesheets/bootstrap/_tooltip.scss +103 -0
  119. data/app/assets/stylesheets/bootstrap/_type.scss +298 -0
  120. data/app/assets/stylesheets/bootstrap/_utilities.scss +56 -0
  121. data/app/assets/stylesheets/bootstrap/_variables.scss +862 -0
  122. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  123. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  124. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +11 -0
  125. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  126. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +52 -0
  127. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  128. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  129. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
  130. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  131. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  132. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  133. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  134. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
  135. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  136. data/app/assets/stylesheets/bootstrap/mixins/_list-group.scss +31 -0
  137. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  138. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  139. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  140. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +23 -0
  141. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  142. data/app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  143. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  144. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  145. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  146. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  147. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  148. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  149. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +11 -0
  150. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  151. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  152. data/app/assets/stylesheets/events/_event-list-item.scss +85 -0
  153. data/app/assets/stylesheets/events/_event_template.scss +66 -0
  154. data/app/assets/stylesheets/events/_filter-bar.scss +5 -0
  155. data/app/assets/stylesheets/festivity.scss +35 -0
  156. data/app/assets/stylesheets/skins/pghkids/_events.scss +17 -0
  157. data/app/assets/stylesheets/skins/pghkids/_footer.scss +22 -0
  158. data/app/assets/stylesheets/skins/pghkids/_global.scss +42 -0
  159. data/app/assets/stylesheets/skins/pghkids/_header.scss +27 -0
  160. data/app/assets/stylesheets/skins/pghkids/_home.scss +113 -0
  161. data/app/assets/stylesheets/skins/pghkids/skin.scss +8 -0
  162. data/app/assets/stylesheets/vars/_vars_color.scss +6 -0
  163. data/app/assets/stylesheets/vars/_vars_media-queries.scss +5 -0
  164. data/app/assets/stylesheets/vars/_vars_type.scss +1 -0
  165. data/app/controllers/admin/festivity_categories_controller.rb +31 -0
  166. data/app/controllers/admin/festivity_category_types_controller.rb +31 -0
  167. data/app/controllers/admin/festivity_performances_controller.rb +21 -0
  168. data/app/controllers/festivity_events_controller.rb +71 -0
  169. data/app/controllers/festivity_location_areas_controller.rb +17 -0
  170. data/app/controllers/festivity_locations_controller.rb +19 -0
  171. data/app/controllers/search_controller.rb +17 -0
  172. data/app/helpers/admin/festivity_performances_helper.rb +3 -0
  173. data/app/helpers/admin/snippets_helper.rb +3 -0
  174. data/app/helpers/festivity_events_helper.rb +12 -0
  175. data/app/helpers/festivity_locations_helper.rb +4 -0
  176. data/app/models/festivity_base_page.rb +23 -0
  177. data/app/models/festivity_category.rb +17 -0
  178. data/app/models/festivity_category_type.rb +14 -0
  179. data/app/models/festivity_event_list.rb +90 -0
  180. data/app/models/festivity_event_list/festivity_event.rb +40 -0
  181. data/app/models/festivity_event_list/festivity_event_performance.rb +10 -0
  182. data/app/models/festivity_event_list/festivity_location.rb +15 -0
  183. data/app/models/festivity_event_page.rb +55 -0
  184. data/app/models/festivity_location_area_page.rb +5 -0
  185. data/app/models/festivity_location_page.rb +3 -0
  186. data/app/models/festivity_market_page.rb +3 -0
  187. data/app/models/festivity_page_category.rb +4 -0
  188. data/app/models/festivity_performance.rb +29 -0
  189. data/app/views/admin/pages/_festivity_base_fields.html.haml +75 -0
  190. data/app/views/admin/pages/_festivity_featured_image_fields.html.haml +3 -0
  191. data/app/views/admin/pages/_festivity_includes.html.haml +2 -0
  192. data/app/views/admin/pages/_festivity_location_fields.html.haml +26 -0
  193. data/app/views/admin/pages/partials/_categories.html.haml +18 -0
  194. data/app/views/admin/pages/partials/_category.html.haml +4 -0
  195. data/app/views/admin/pages/partials/_featured_image.html.haml +18 -0
  196. data/app/views/admin/pages/partials/_performance.html.haml +13 -0
  197. data/app/views/admin/pages/partials/_performances.html.haml +11 -0
  198. data/app/views/admin/pages/partials/_performances_table.html.haml +15 -0
  199. data/app/views/admin/sites/_festivity_site_fields.html.haml +26 -0
  200. data/app/views/admin/sites/partials/_category.html.haml +7 -0
  201. data/app/views/admin/sites/partials/_category_popup.html.haml +19 -0
  202. data/app/views/admin/sites/partials/_category_popups.haml +27 -0
  203. data/app/views/admin/sites/partials/_category_section.html.haml +7 -0
  204. data/app/views/admin/sites/partials/_category_types.html.haml +23 -0
  205. data/app/views/admin/sites/partials/_filters.html.haml +25 -0
  206. data/app/views/admin/sites/partials/_new_category.html.haml +3 -0
  207. data/app/views/admin/sites/partials/_new_category_type.html.haml +3 -0
  208. data/app/views/festivity_events/_event_filters.html.haml +39 -0
  209. data/app/views/festivity_events/_event_list.html.haml +62 -0
  210. data/app/views/festivity_events/_filter_bar_mobile.html.haml +22 -0
  211. data/app/views/festivity_events/index.html.haml +34 -0
  212. data/app/views/festivity_events/show.html.haml +152 -0
  213. data/app/views/festivity_location_areas/show.html.haml +29 -0
  214. data/app/views/festivity_locations/show.html.haml +66 -0
  215. data/app/views/header/_meta_tags.html.haml +8 -0
  216. data/app/views/navigation/_subnav_one_column.html.haml +15 -0
  217. data/app/views/navigation/_subnav_three_column.html.haml +7 -0
  218. data/app/views/navigation/_three_column_item.html.haml +11 -0
  219. data/app/views/search/_page.html.haml +1 -0
  220. data/app/views/search/_pagination_links.html.haml +7 -0
  221. data/app/views/search/_result_item.html.haml +6 -0
  222. data/app/views/search/show.html.haml +19 -0
  223. data/config/initializers/pluralizations.rb +0 -0
  224. data/config/initializers/radiant_config.rb +1 -0
  225. data/config/locales/en.yml +16 -0
  226. data/config/routes.rb +14 -0
  227. data/config/trustygems.yml +2 -0
  228. data/db/content/layouts/base.html +174 -0
  229. data/db/content/layouts/normal.html +5 -0
  230. data/db/fixtures/home_pages.yml +40 -0
  231. data/db/fixtures/layouts.yml +2 -0
  232. data/db/fixtures/pages.yml +23 -0
  233. data/db/fixtures/sites.yml +57 -0
  234. data/db/fixtures/users.yml +8 -0
  235. data/db/migrate/200150325136087799_add_event_performances_view.rb +27 -0
  236. data/db/migrate/200150425136087799_update_event_performances_view_with_site.rb +27 -0
  237. data/db/migrate/20150123175758_add_site_fields.rb +15 -0
  238. data/db/migrate/20150127090858995_add_base_event_fields.rb +24 -0
  239. data/db/migrate/20150127091005232_add_market_and_event_fields.rb +29 -0
  240. data/db/migrate/20150204113325731_add_category_types_table.rb +15 -0
  241. data/db/migrate/20150204113427832_add_categories_table.rb +15 -0
  242. data/db/migrate/20150204113510326_add_page_categories_table.rb +12 -0
  243. data/db/migrate/20150226131727777_add_location_page_fields.rb +19 -0
  244. data/db/migrate/20150302135485569_add_performances_table.rb +19 -0
  245. data/db/migrate/20150324135487799_add_indexes.rb +21 -0
  246. data/festivity_extension.rb +25 -0
  247. data/lib/festivity/admin/assets_helper.rb +17 -0
  248. data/lib/festivity/engine.rb +9 -0
  249. data/lib/festivity/extensions/page_extensions.rb +61 -0
  250. data/lib/festivity/extensions/pages_helper_extensions.rb +11 -0
  251. data/lib/festivity/extensions/paperclipped_extensions.rb +22 -0
  252. data/lib/festivity/extensions/site_extensions.rb +40 -0
  253. data/lib/festivity/mixins/not_found.rb +10 -0
  254. data/lib/tags/header_tags.rb +41 -0
  255. data/lib/tags/navigation_tags.rb +55 -0
  256. data/lib/tasks/active_record_utils.rb +35 -0
  257. data/lib/tasks/festivity_extension_tasks.rake +7 -0
  258. data/lib/tasks/setup.rake +101 -0
  259. data/lib/trusty-festivity-extension.rb +8 -0
  260. data/trusty-festivity-extension.gemspec +37 -0
  261. metadata +442 -0
@@ -0,0 +1,25 @@
1
+ %div{role: "tabpanel", id: "festivity-filters"}
2
+ %ul.nav.nav-tabs{role: "tablist"}
3
+ - category_types.each do |filter_category|
4
+ %li{role: "presentation"}
5
+ %a{href: "##{filter_category.name.parameterize}", role: "tab", aria: {controls: filter_category.name.parameterize}, data: {toggle: "tab"}}
6
+ = filter_category.name
7
+ .tab-content
8
+ - category_types.each do |filter_category|
9
+ %div{role: "tabpanel", class:"tab-pane", id: filter_category.name.parameterize}
10
+ .festivity-space
11
+ .festivity-full.festivity-list.festivity-div
12
+ %table{:id => "#{filter_category.name.parameterize}-table", :class => "index category-table"}
13
+ - filter_category.parent_categories.each do |parent_category|
14
+ = render partial: "admin/sites/partials/category", locals: {category: parent_category, filter_category: filter_category}
15
+ - parent_category.children.each do |child_category|
16
+ = render partial: "admin/sites/partials/category", locals: {category: child_category, filter_category: filter_category}
17
+
18
+ .festivity-space
19
+ .festivity-full
20
+ %button{type: "button", id: "add-#{filter_category.name.parameterize}", href: "#add_#{filter_category.name.parameterize}_popup",
21
+ class: "popup right btn btn-default btn-sm filter-btn",
22
+ aria: {label: "Left Align"}, data: {toggle: "modal", target: "#add-filter-form"}}
23
+ %span{class: "fa fa-plus-square fa-lg", aria: {hidden: "true"}}
24
+  
25
+ = "Add #{filter_category.name}"
@@ -0,0 +1,3 @@
1
+ = render partial: 'admin/sites/partials/filters', :locals => { category_types: category_types}
2
+ .new-category-popup
3
+ = render partial: "admin/sites/partials/category_popup", :locals => { category_type: category_type, type_name: category_type.name, type_id: category_type.name.parameterize}
@@ -0,0 +1,3 @@
1
+ = render partial: 'admin/sites/partials/category_types', :locals => { :category_types => category_types}
2
+ .new-category-popup
3
+ = render partial: "admin/sites/partials/category_popup", :locals => { category_type: new_category_type, type_name: new_category_type.name, type_id: new_category_type.name.parameterize}
@@ -0,0 +1,39 @@
1
+ .events-filter-bar__wrapper
2
+
3
+ %p.event-filter-bar__header
4
+ Filters
5
+ %i#spinner.fa.fa-spinner.fa-pulse.hide
6
+
7
+ %a.btn.btn-primary.visible-xs-block.visible-sm-block.done-button{data: {toggle: "offcanvas", target: "#myNavmenu", canvas: "body"}}
8
+ Done
9
+
10
+ %form
11
+ %div#collapse-wrapper{data: {collapse: true}}
12
+ %h3.open
13
+ Dates
14
+ %ul.filter-bar_filters.date-filters
15
+ - current_site.festival_dates.each do |day|
16
+ %li
17
+ .checkbox
18
+ %label
19
+ - checked = @selected_dates.include? day.to_s
20
+ %input{type: "checkbox", value: day.to_s, checked: checked, data: {filter: "Date", sort: day.to_s}}
21
+ = day.strftime("%a, %B %-d")
22
+ - current_site.festivity_active_category_types.each do |type|
23
+ %h3
24
+ = type.name
25
+ %ul.filter-bar_filters.category-filters
26
+ - type.parent_categories.each do |parent|
27
+ %li
28
+ .checkbox.checkbox.parent
29
+ %label
30
+ - checked = @selected_categories.include? parent.id.to_s
31
+ %input{type: "checkbox", value: parent.id, data: {filter: type.name, sort: parent.name.downcase}, checked: checked}
32
+ = parent.name
33
+ - parent.children.each do |child|
34
+ %li
35
+ .checkbox.checkbox.child
36
+ %label
37
+ - checked = @selected_categories.include? child.id.to_s
38
+ %input{type: "checkbox", value: child.id, data: {filter: type.name, sort: child.name.downcase}, checked: checked}
39
+ = child.name
@@ -0,0 +1,62 @@
1
+ #event-list-items
2
+ - @events.each do |event|
3
+ - cache(event) do
4
+ .row.event-list-item{class: event.id, data:{ genre: event.categories.first.id, date: event.performances.first.start_date, location: event.locations.first.id} }
5
+ %hr
6
+ .event-list-item__photo.col-xs-12.col-sm-4
7
+ .photo
8
+ = link_to event_path(event.id) do
9
+ %img.img-responsive{ src: "#{event.image}"}
10
+ - if event.featured_item
11
+ .event_list-item__photo-featured-item
12
+ Featured Event!
13
+ .event-list-item__info.col-xs-12.col-sm-8
14
+ = link_to event_path(event.id) do
15
+ %h2
16
+ = event.title
17
+ %h3
18
+ %span.strong
19
+ = event.header
20
+ %span.light
21
+ = event.sub_header
22
+ %hr
23
+ %p
24
+ - if event.locations.count == 1
25
+ - event_location = event.locations.first
26
+ =link_to location_path(id: event_location.slug) do
27
+ = event_location.title
28
+ @
29
+ =link_to area_path(id: event_location.area_slug) do
30
+ = event_location.area_title
31
+ - else
32
+ Multiple Locations
33
+ - if event.performances.count > 1
34
+ %p
35
+ Multiple dates and times 
36
+ %button.btn.btn-sm.btn-default.btn-popover{type: "button", data: {content: date_time_popover(event.performances), html: "true", placement:"top", toggle: "popover"}, title:"All Dates and Times"}
37
+ Show all
38
+ - else
39
+ - event.performances.each do |perf|
40
+ %p
41
+ = perf.start_date.strftime("%A, %B %d")
42
+ = ", "
43
+ = perf.start_date.strftime("%I:%M%p").downcase
44
+ = " - "
45
+ = perf.end_date.strftime('%I:%M%p').downcase
46
+ %hr
47
+ %p
48
+ .event-list-item__info_short_description
49
+ -# category = event.categories.first
50
+ -# %a.strong(href='#')
51
+ = category.name
52
+ %span
53
+ = event.short_description.html_safe
54
+ %p
55
+ .event-list-item__button-group
56
+ = link_to "Details", event_path(event.id), class: 'btn event-list-item__btn'
57
+ - unless event.buy_url.blank?
58
+ = link_to "Tickets", "#{event.buy_url}", class: 'btn event-list-item__btn', target: '_blank'
59
+ -#%button.btn.event-list-item__btn{href: "", data: {toggle:"modal", target:"#share-modal"}, type: "button"}
60
+ Share
61
+ - unless event.locations.first.directions_url.blank?
62
+ = link_to "Directions", "#{event.locations.first.directions_url}", class: 'btn event-list-item__btn', target: '_blank'
@@ -0,0 +1,22 @@
1
+ .filter-bar-mobile.visible-xs-block.visible-sm-block
2
+ .container-fluid
3
+ .row
4
+ .col-xs-4
5
+ %a.filter-button.btn.btn-default{data: {toggle: "offcanvas", target: "#myNavmenu", canvas:"body"}}
6
+ Filter
7
+ .col-xs-7.sort-bar-mobile
8
+ .row
9
+ %form.form-horizontal
10
+ .form-group
11
+ %label.col-xs-2.control-label{for: "sort-mob"}
12
+ Sort
13
+ .col-xs-9
14
+ %select#sort-mob.sort-control.form-control
15
+ %option{value:"start_date"}
16
+ Date/Time
17
+ - if @selected_sort == "event_title"
18
+ %option{value:"event_title", selected: true}
19
+ Alphabetical
20
+ -else
21
+ %option{value:"event_title"}
22
+ Alphabetical
@@ -0,0 +1,34 @@
1
+ = render partial: "filter_bar_mobile"
2
+ %input#events-url{type: "hidden", value: "#{events_url}"}
3
+ .container
4
+ .row
5
+ .event-filter-bar.col-md-3.hidden-xs.hidden-sm
6
+ = render partial: 'event_filters'
7
+ #myNavmenu.event-filter-bar.hidden-lg.navmenu.navmenu-default.navmenu-fixed-left.offcanvas
8
+ = render partial: 'event_filters'
9
+ .event-list.col-xs-12.col-md-9
10
+ .row
11
+ .col-sm-8.col-xs-12.current-filters
12
+ #current-filters.hide
13
+ You're currently filtering by
14
+ %span
15
+ %strong#current-filters-list
16
+ %a#clear-filters.btn.btn-default{href: ""}
17
+ Clear All Filters
18
+ .sort.col-xs-4
19
+ %form.form-horizontal.row
20
+ .form-group
21
+ %label.col-xs-3.control-label{for: "sort"}
22
+ Sort
23
+ .col-xs-9
24
+ %select.form-control.sort-control#sort
25
+ %option{value:"start_date"}
26
+ Date/Time
27
+ - if @selected_sort == "event_title"
28
+ %option{value:"event_title", selected: true}
29
+ Alphabetical
30
+ -else
31
+ %option{value:"event_title"}
32
+ Alphabetical
33
+ .row#event-list-row
34
+ = render partial: "event_list"
@@ -0,0 +1,152 @@
1
+ .container
2
+ .row
3
+ .col-sm-12.col-md-12
4
+ .event-header
5
+ %h1.event-header__page-title
6
+ = @event.title
7
+ %span.event-header__name
8
+ = @event.header
9
+ %p.event-header__subheadline
10
+ = @event.sub_header
11
+
12
+ %article.row.event-details
13
+ .col-md-8.col-xs-12.event-details__event-description
14
+ %img.img-responsive.img-largesrc{src: "#{@event.image }"}
15
+ .event-long-description
16
+ = @event.body
17
+ .col-md-4.col-xs-12.event-sidebar
18
+ - if @event.can_buy?
19
+ .tickets.sidebar-item
20
+ %a.tickets-button.btn.btn-primary.btn-lg.btn-block{href: "#{@event.buy_url}", target: "_blank"}
21
+ Buy Tickets
22
+ .event-sidebar__location.sidebar-item
23
+ %ul.list-group
24
+ %li.list-group-item.list-group-title
25
+ %h3
26
+ Location
27
+ %li.list-group-item
28
+ - if @event.single_location?
29
+ - event_location = @event.locations.first
30
+ =link_to location_path(id: event_location.slug) do
31
+ = event_location.title
32
+ @
33
+ =link_to area_path(id: event_location.parent.slug) do
34
+ = event_location.parent.title
35
+ -else
36
+ Multiple Locations
37
+ .event-sidebar__dates-and-times.sidebar-item
38
+ %ul.list-group
39
+ %li.list-group-item.list-group-title
40
+ %h3
41
+ Dates/Times
42
+ - @event.performances.each do |perf|
43
+ %li.list-group-item
44
+ %strong
45
+ = perf.start_date.strftime("%A, %B %d")
46
+ = "-"
47
+ = perf.start_date.strftime("%I:%M%p").downcase
48
+ = "-"
49
+ = perf.end_date.strftime("%I:%M%p").downcase
50
+ .event-sidebar__connect-with-artist.sidebar-item
51
+ - if @event.has_social?
52
+ %ul.list-group
53
+ %li.list-group-item.list-group-title
54
+ %h3
55
+ Connect with This Artist
56
+ - if @event.has_twitter?
57
+ %li.list-group-item
58
+ = link_to @event.artist_twitter, target: "_blank" do
59
+ %i.fa.fa-twitter-square
60
+ %span.icon-text
61
+ Twitter
62
+ - if @event.has_facebook?
63
+ %li.list-group-item
64
+ = link_to @event.artist_facebook, target: "_blank" do
65
+ %i.fa.fa-facebook-square
66
+ %span.icon-text
67
+ Facebook
68
+ - if @event.has_instagram?
69
+ %li.list-group-item
70
+ = link_to @event.artist_instagram, target: "_blank" do
71
+ %i.fa.fa-instagram
72
+ %span.icon-text
73
+ Instagram
74
+ - if @event.has_homepage?
75
+ %li.list-group-item
76
+ = link_to @event.artist_homepage, target: "_blank" do
77
+ %i.fa.fa-external-link-square
78
+ %span.icon-text
79
+ Home Page
80
+ -if @event.sponsor_logo?
81
+ .event-sidebar__sponsor-logo
82
+ .sponsor-logo
83
+ = @event.sponsor_logo
84
+
85
+ .row
86
+ .col-xs-12.event-buttons
87
+ - if @event.video?
88
+ %button.btn.btn-default.btn-lg{href: "#", data: {toggle: "modal", target: "#video-modal"}, type: "button"}
89
+ Watch Video
90
+ - if @event.single_location?
91
+ %a.btn.btn-default.btn-lg{type: "button", target: "_blank", href: "#{@event.locations.first.festivity_directions_url}"}
92
+ Get Directions
93
+ %button.btn.btn-default.btn-lg{href: "", data: {toggle:"modal", target:"#share-modal"}, type: "button"}
94
+ Share This
95
+
96
+ -#== partial "partials/share_modal"
97
+ #share-modal.modal.fade
98
+ .modal-dialog
99
+ .modal-content
100
+ .modal-header
101
+ %button.close{data: {dismiss: "modal"}, type: "button"}
102
+ %span{aria: {hidden: "true"}}
103
+ x
104
+ %span.sr-only
105
+ Close
106
+ %h2.modal-title
107
+ Share
108
+ .modal-body
109
+ .row
110
+ .col-xs-12.col-md-12
111
+ = rad_share_widget({})
112
+ .modal-footer
113
+ %button.btn.btn-default{data: {dismiss: "modal"}, type: "button"}
114
+ Close
115
+ - if @event.video?
116
+ #video-modal.modal.fade
117
+ .modal-dialog
118
+ .modal-content
119
+ .modal-header
120
+ %button.close{data: {dismiss: "modal"}, type: "button"}
121
+ %span{aria: {hidden: "true"}}
122
+ x
123
+ %span.sr-only
124
+ Close
125
+ %h2.modal-title
126
+ Watch Video
127
+ .modal-body
128
+ .row
129
+ .col-xs-12.col-md-12
130
+ = @event.video
131
+ .modal-footer
132
+ %button.btn.btn-default{data: {dismiss: "modal"}, type: "button"}
133
+ Close
134
+
135
+ .row.related-events
136
+ .col-xs-12
137
+ %h3.text-center.related-events__header
138
+ Related Events
139
+ - @related_events[0..2].each do |e|
140
+ .col-xs-12.col-md-4.related-events__event
141
+ .photo
142
+ = link_to event_path(id: e.id) do
143
+ %img.img-responsive{src:"#{e.image}"}
144
+ = link_to event_path(id: e.id) do
145
+ %h3
146
+ = e.title
147
+ %h4
148
+ %span.strong
149
+ = e.header
150
+ %span.light
151
+ = e.sub_header
152
+
@@ -0,0 +1,29 @@
1
+ - cache(@area) do
2
+ .container
3
+ .row
4
+ .landing-page-header.col-xs-12.location-landing-page-header{style: "background-image: url('#{@area.image}')"}
5
+ %h1.landing-page-header__title
6
+ = @area.title
7
+
8
+ .row
9
+ .col-xs-12.col-md-12
10
+ %h2.landing-page-intro
11
+ = @area.body
12
+
13
+ - @area.children.each do |location|
14
+
15
+ .col-xs-12.col-md-4.landing-page-plug
16
+ .map-thumb
17
+ %a{href:location_path(location.slug)}
18
+ %img{src: location.image, alt: location.title}
19
+ %h3.strong
20
+ %a{href:location_path(location.slug)}
21
+ = location.title
22
+ %p
23
+ = location.festivity_address
24
+ %br
25
+ = "#{location.festivity_city}, #{location.festivity_state} #{location.festivity_zip}"
26
+ %p
27
+ = location.short_description
28
+ %a.btn.btn-default{href: location_path(location.slug) }
29
+ Events and Directions
@@ -0,0 +1,66 @@
1
+ - cache(@location) do
2
+ .container
3
+ .row
4
+ .col-xs-12.location-landing-page-header{style: "background-image: url('#{@location.image}')"}
5
+ %h1
6
+ = @location.title
7
+ %p
8
+ =link_to area_path(id: @location.parent.slug) do
9
+ = @location.parent.title
10
+ %p
11
+ = @location.festivity_address
12
+ %br
13
+ = "#{@location.festivity_city}, #{@location.festivity_state} #{@location.festivity_zip}"
14
+ - unless @location.festivity_directions_url.blank?
15
+ = link_to "Directions", "#{@location.festivity_directions_url}", class: 'btn btn-default', target: '_blank'
16
+ .col-xs-12
17
+ %h2
18
+ Events at
19
+ = @location.title
20
+ .event-list
21
+ - cache(@location_events) do
22
+ - @location_events.events.each do |event|
23
+ .row.event-list-item{data:{genre: event.categories.first.name.to_slug, date: event.performances.first.start_date, location: @location.slug}, class: event.title.to_slug}
24
+ %hr
25
+ .event-list-item__photo.col-xs-12.col-md-2
26
+ .photo
27
+ = link_to event_path(event.id) do
28
+ %img.img-responsive{ src: "#{event.image}"}
29
+ - if event.featured_item
30
+ .event_list-item__photo-featured-item
31
+ Featured Event!
32
+ .event-list-item__info.col-xs-12.col-md-8
33
+ = link_to event_path(event.id) do
34
+ %h2
35
+ = event.title
36
+ %h3
37
+ %span.strong
38
+ = event.title
39
+ %span.light
40
+ = event.header
41
+ - if event.performances.count > 1
42
+ %p
43
+ Multiple dates and times 
44
+ %button.btn.btn-sm.btn-default.btn-popover{type: "button", data: {content: date_time_popover(event.performances), html: "true", placement:"top", toggle: "popover"}, title:"All Dates and Times"}
45
+ Show all
46
+ - else
47
+ - event.performances.each do |perf|
48
+ %p
49
+ = perf.start_date.strftime("%A, %B %d")
50
+ = ", "
51
+ = perf.start_date.strftime("%I:%M%p").downcase
52
+ = " - "
53
+ = perf.end_date.strftime('%I:%M%p').downcase
54
+ -#- for c in e.event_categories do
55
+ p
56
+ a.strong(href="#")= c
57
+ .more-dates.hidden
58
+ ul
59
+ / - e.event_dates_and_times.each do |date,index|
60
+ / li = "#{date.date}, #{date.time}"
61
+ .event-list-item__button-group.col-xs-12.col-md-2
62
+ %p
63
+ = link_to "Details", event_path(event.id), class: 'btn btn-default'
64
+ - unless event.buy_url.blank?
65
+ %p
66
+ =link_to "Tickets", "#{event.buy_url}", class: 'btn btn-default', target: '_blank'