ama_layout 6.3.0.pre → 6.10.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/ama_layout.gemspec +22 -20
  4. data/app/assets/javascripts/ama_layout/desktop/foundation-custom.js +10 -8
  5. data/app/assets/javascripts/ama_layout/desktop/index.js +1 -0
  6. data/app/assets/javascripts/ama_layout/notifications.coffee +17 -0
  7. data/app/controllers/ama_layout/api/v1/notifications_controller.rb +18 -0
  8. data/app/helpers/ama_layout_path_helper.rb +4 -4
  9. data/app/views/ama_layout/_notification.html.erb +10 -0
  10. data/app/views/ama_layout/_notification_sidebar.html.erb +22 -0
  11. data/app/views/ama_layout/_notifications.html.erb +6 -0
  12. data/app/views/ama_layout/_siteheader.html.erb +8 -3
  13. data/config/routes.rb +9 -0
  14. data/lib/ama_layout.rb +27 -20
  15. data/lib/ama_layout/decorators/navigation_decorator.rb +47 -0
  16. data/lib/ama_layout/decorators/notification_decorator.rb +45 -0
  17. data/lib/ama_layout/navigation.rb +3 -0
  18. data/lib/ama_layout/navigation.yml +58 -6
  19. data/lib/ama_layout/navigation_helper.rb +31 -0
  20. data/lib/ama_layout/notification.rb +89 -0
  21. data/lib/ama_layout/notification_scrubber.rb +13 -0
  22. data/lib/ama_layout/notification_set.rb +140 -0
  23. data/lib/ama_layout/notifications.rb +73 -0
  24. data/lib/ama_layout/notifications/abstract_store.rb +17 -0
  25. data/lib/ama_layout/notifications/redis_store.rb +38 -0
  26. data/lib/ama_layout/version.rb +1 -1
  27. data/spec/ama_layout/controllers/ama_layout/api/v1/notifications_controller_spec.rb +13 -0
  28. data/spec/ama_layout/decorators/navigation_decorator_spec.rb +121 -2
  29. data/spec/ama_layout/decorators/notification_decorator_spec.rb +57 -0
  30. data/spec/ama_layout/navigation_helper_spec.rb +63 -0
  31. data/spec/ama_layout/navigation_spec.rb +13 -43
  32. data/spec/ama_layout/notification_scrubber_spec.rb +10 -0
  33. data/spec/ama_layout/notification_set_spec.rb +281 -0
  34. data/spec/ama_layout/notification_spec.rb +193 -0
  35. data/spec/ama_layout/notifications/abstract_store_spec.rb +23 -0
  36. data/spec/ama_layout/notifications/redis_store_spec.rb +94 -0
  37. data/spec/ama_layout/notifications_spec.rb +109 -0
  38. data/spec/factories/users.rb +35 -0
  39. data/spec/helpers/ama_layout_path_helper_spec.rb +6 -6
  40. data/spec/internal/app/controllers/application_controller.rb +21 -0
  41. data/spec/internal/config/routes.rb +1 -0
  42. data/spec/spec_helper.rb +9 -14
  43. data/spec/support/shared_examples/member_navigation.rb +105 -0
  44. metadata +81 -18
  45. data/styles.scss +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: deb2b6ac040de520ac3ff4d6e203bf19c1e25f65
4
- data.tar.gz: f1ea2726a83942149deff0ba04478c4b443bfccd
3
+ metadata.gz: d916fc4391d6da9e16396a302ffd07345566779b
4
+ data.tar.gz: 85c756a461a179396cd619ba12a38e1b53b998e6
5
5
  SHA512:
6
- metadata.gz: 9dc341790258bed5cebf3da1f889adab7b2a0fecfd851e412535cd3fff12a9e8d5fb00147352c1f19d66d7d7a78cfacec8fd321a21abbb699bce713125e28def
7
- data.tar.gz: 7f0ea969256317b13dc1321f3a45303e38454143d530c4ae92fa66bf4cf431f4777c2083d7ac286200399253a6ac156473a5d9f8f4e1f3698d4774de3b5ac66f
6
+ metadata.gz: 722d5c576646f4d9e1959e2c647446d271a64c34b34e11e3999b4694a14a69f81512287123f25ca2f894cad93ce96afd4eec6382981f4e73775e543f0da32996
7
+ data.tar.gz: 67e035cda98f69a883ecbdbc2f4229d3d750b4fa2a4f7e82c0bc8e52b0c72c28b5bbd558c013b69fa1172ef1740bfc51bdcb73cc1ad7ceec6d84247ca3cea23d
@@ -2,3 +2,5 @@ language: ruby
2
2
  rvm:
3
3
  - 2.2.2
4
4
  sudo: false
5
+ services:
6
+ - redis-server
@@ -4,31 +4,33 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'ama_layout/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "ama_layout"
7
+ spec.name = 'ama_layout'
8
8
  spec.version = AmaLayout::VERSION
9
- spec.authors = ["Michael van den Beuken", "Ruben Estevez", "Jordan Babe", "Mathieu Gilbert", "Ryan Jones", "Darko Dosenovic", "Jonathan Weyermann", "Adam Melnyk", "Kayt Campbell", "Kathleen Robertson", "Jesse Doyle"]
10
- spec.email = ["michael.beuken@gmail.com", "ruben.a.estevez@gmail.com", "jorbabe@gmail.com", "mathieu.gilbert@ama.ab.ca", "ryan.michael.jones@gmail.com", "darko.dosenovic@ama.ab.ca", "jonathan.weyermann@ama.ab.ca", "adam.melnyk@ama.ab.ca", "kayt.campbell@ama.ab.ca", "kathleen.robertson@ama.ab.ca", "jesse.doyle@ama.ab.ca"]
9
+ spec.authors = ['Michael van den Beuken', 'Ruben Estevez', 'Jordan Babe', 'Mathieu Gilbert', 'Ryan Jones', 'Darko Dosenovic', 'Jonathan Weyermann', 'Adam Melnyk', 'Kayt Campbell', 'Kathleen Robertson', 'Jesse Doyle']
10
+ spec.email = ['michael.beuken@gmail.com', 'ruben.a.estevez@gmail.com', 'jorbabe@gmail.com', 'mathieu.gilbert@ama.ab.ca', 'ryan.michael.jones@gmail.com', 'darko.dosenovic@ama.ab.ca', 'jonathan.weyermann@ama.ab.ca', 'adam.melnyk@ama.ab.ca', 'kayt.campbell@ama.ab.ca', 'kathleen.robertson@ama.ab.ca', 'jesse.doyle@ama.ab.ca']
11
11
  spec.summary = %q{.ama.ab.ca site layouts}
12
12
  spec.description = %q{.ama.ab.ca site layouts}
13
- spec.homepage = ""
14
- spec.license = "MIT"
13
+ spec.homepage = 'https://github.com/amaabca/ama_layout'
14
+ spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
20
- spec.add_dependency "foundation-rails", "~> 6.3.1.0"
21
- spec.add_dependency "rails", ">= 5.0"
22
- spec.add_dependency "activemodel-serializers-xml"
23
- spec.add_dependency "draper", "3.0.0.pre1"
24
- spec.add_dependency "browser", "~> 2.0"
25
- spec.add_dependency "breadcrumbs_on_rails", "~> 3.0.1"
26
- spec.add_development_dependency "bundler", "~> 1.11"
27
- spec.add_development_dependency "rake", "~> 11.0"
28
- spec.add_development_dependency "rspec-rails"
29
- spec.add_development_dependency "factory_girl"
30
- spec.add_development_dependency "simplecov"
31
- spec.add_development_dependency "pry"
32
- spec.add_development_dependency "combustion"
33
- spec.add_development_dependency "sqlite3"
19
+ spec.require_paths = ['lib']
20
+ spec.add_dependency 'foundation-rails', '>= 6.4.1.2'
21
+ spec.add_dependency 'rails', '>= 5.0'
22
+ spec.add_dependency 'activemodel-serializers-xml'
23
+ spec.add_dependency 'draper', '>= 3.0.0'
24
+ spec.add_dependency 'browser', '~> 2.0'
25
+ spec.add_dependency 'breadcrumbs_on_rails', '>= 3'
26
+ spec.add_dependency 'redis-rails'
27
+ spec.add_development_dependency 'bundler', '~> 1.11'
28
+ spec.add_development_dependency 'rake', '>= 11.0'
29
+ spec.add_development_dependency 'rspec-rails'
30
+ spec.add_development_dependency 'factory_girl'
31
+ spec.add_development_dependency 'simplecov'
32
+ spec.add_development_dependency 'pry'
33
+ spec.add_development_dependency 'combustion'
34
+ spec.add_development_dependency 'sqlite3'
35
+ spec.add_development_dependency 'timecop'
34
36
  end
@@ -1,10 +1,20 @@
1
1
  //= require foundation.core.js
2
+ //= require foundation.util.box.js
3
+ //= require foundation.util.imageLoader.js
4
+ //= require foundation.util.keyboard.js
5
+ //= require foundation.util.mediaQuery.js
6
+ //= require foundation.util.motion.js
7
+ //= require foundation.util.nest.js
8
+ //= require foundation.util.timer.js
9
+ //= require foundation.util.timerAndImageLoader.js
10
+ //= require foundation.util.triggers.js
2
11
  //= require foundation.abide.js
3
12
  //= require foundation.accordion.js
4
13
  //= require foundation.drilldown.js
5
14
  //= require foundation.dropdown.js
6
15
  //= require foundation.dropdownMenu.js
7
16
  //= require foundation.equalizer.js
17
+ //= require foundation.interchange.js
8
18
  //= require foundation.offcanvas.js
9
19
  //= require foundation.responsiveMenu.js
10
20
  //= require foundation.responsiveToggle.js
@@ -12,11 +22,3 @@
12
22
  //= require foundation.tabs.js
13
23
  //= require foundation.toggler.js
14
24
  //= require foundation.tooltip.js
15
- //= require foundation.util.box.js
16
- //= require foundation.util.keyboard.js
17
- //= require foundation.util.mediaQuery.js
18
- //= require foundation.util.motion.js
19
- //= require foundation.util.nest.js
20
- //= require foundation.util.timerAndImageLoader.js
21
- //= require foundation.util.triggers.js
22
- //= require foundation.interchange.js
@@ -5,3 +5,4 @@
5
5
  //= require ./cookie.ready
6
6
  //= require ../mailcheck/index
7
7
  //= require ../real_date_picker
8
+ //= require ../notifications
@@ -0,0 +1,17 @@
1
+ class AMALayout.Notifications
2
+ constructor: () ->
3
+ $(document).on 'click', '[data-notifications-toggle]', (event) =>
4
+ event.preventDefault();
5
+ badge = event.currentTarget
6
+ if $(badge).find('[data-notification-count]').remove().size()
7
+ @request()
8
+
9
+ request: () ->
10
+ $.ajax(
11
+ type: 'DELETE',
12
+ url: '/ama_layout/api/v1/notifications',
13
+ timeout: 10000
14
+ )
15
+
16
+ $(document).ready ->
17
+ window.AMALayout.notifications = new AMALayout.Notifications()
@@ -0,0 +1,18 @@
1
+ module AmaLayout
2
+ module Api
3
+ module V1
4
+ class NotificationsController < ApplicationController
5
+ before_action :require_login
6
+
7
+ # DELETE /api/v1/notifications
8
+ # Dismiss all user notifications
9
+ def dismiss_all
10
+ notifications = current_user.notifications
11
+ notifications.each(&:dismiss!)
12
+ notifications.save
13
+ head :no_content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -7,10 +7,6 @@ module AmaLayoutPathHelper
7
7
  "#{Rails.configuration.youraccount_site}/dashboard"
8
8
  end
9
9
 
10
- def youraccount_help_path
11
- "#{Rails.configuration.youraccount_site}/help"
12
- end
13
-
14
10
  def youraccount_billing_path
15
11
  "#{Rails.configuration.youraccount_site}/billing"
16
12
  end
@@ -63,6 +59,10 @@ module AmaLayoutPathHelper
63
59
  "#{Rails.configuration.membership_site}/reward_cards"
64
60
  end
65
61
 
62
+ def membership_renew_path
63
+ "#{Rails.configuration.membership_site}/renews/new"
64
+ end
65
+
66
66
  def driveredonline_path
67
67
  Rails.configuration.driveredonline_site
68
68
  end
@@ -0,0 +1,10 @@
1
+ <div class="row <%= notification.active_class %>">
2
+ <div class="small-2 column">
3
+ <%= notification.icon %>
4
+ </div>
5
+ <div class="small-10 column">
6
+ <p class="bold"><%= notification.header %></p>
7
+ <p><%= sanitize notification.content, scrubber: AmaLayout::NotificationScrubber.new %></p>
8
+ <p class="micetype"><%= notification.created_at %></p>
9
+ </div>
10
+ </div>
@@ -0,0 +1,22 @@
1
+ <div class="off-canvas position-right right-sidebar" id="offCanvasRight" data-off-canvas>
2
+ <div class="row column right-sidebar__header">
3
+ <h2 class="mt1">Notification Centre</h2>
4
+ <button class="close-button" aria-label="Close menu" type="button" data-close>
5
+ <span aria-hidden="true">&times;</span>
6
+ </button>
7
+ </div>
8
+ <div class="row column">
9
+ <%= navigation.notifications_heading %>
10
+ </div>
11
+ <%= render partial: 'ama_layout/notification', collection: notifications %>
12
+ <div class="row column">
13
+ <p class="mt1">Did You Know?</p>
14
+ <div class="section-content">
15
+ <p class="bold">Sign up for Vehicle Registration Auto-Renew</p>
16
+ <p>
17
+ We'll process your payment and mail you a new registration certificate and licence plate sticker. It's that simple!
18
+ </p>
19
+ <%= link_to 'Sign up now', "#{Rails.configuration.registries_site}/order/registrations/new", class: 'button--right button--expand-small-down' %>
20
+ </div>
21
+ </div>
22
+ </div>
@@ -0,0 +1,6 @@
1
+ <li>
2
+ <a href="#" class="notification link--no-underline" data-toggle="offCanvasRight" data-notifications-toggle>
3
+ <i class="fa fa-2x fa-bell"></i>
4
+ <%= navigation.notification_badge %>
5
+ </a>
6
+ </li>
@@ -2,6 +2,10 @@
2
2
  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="large">
3
3
  <button class="menu-icon" type="button" data-toggle="offCanvasLeft"></button>
4
4
  <%= link_to(image_tag("ama-logo.png"), "https://www.ama.ab.ca", class: "title-bar__logo") %>
5
+ <a href="#" data-toggle="offCanvasRight" data-notifications-toggle>
6
+ <i class="fa fa-2x fa-bell notification__icon"></i>
7
+ <%= navigation.notification_badge %>
8
+ </a>
5
9
  </div>
6
10
  <div class="top-bar" id="main-menu">
7
11
  <div class="top-bar-left">
@@ -9,8 +13,9 @@
9
13
  </div>
10
14
  <div class="top-bar-right">
11
15
  <ul class="menu" data-responsive-menu="drilldown medium-dropdown">
16
+ <%= navigation.notifications %>
12
17
  <li>
13
- <a href="<%= Rails.configuration.gatekeeper_site %>/help" target="_blank">Help</a>
18
+ <a href="https://albertamotorassociation.zendesk.com/hc/en-us" target="_blank">Help</a>
14
19
  </li>
15
20
  <li>
16
21
  <a href="<%= Rails.configuration.amaabca_site %>/membership/contact-us--centre-locations-hours-and-contact-information">Contact Us</a>
@@ -34,7 +39,7 @@
34
39
  <a class="side-nav__link" href="http://amaroadreports.ca/">AMA Road Reports</a>
35
40
  </li>
36
41
  <li class="side-nav__item">
37
- <a class="side-nav__link" href="<%= Rails.configuration.gatekeeper_site %>/help" target="_blank">Help</a>
42
+ <a class="side-nav__link" href="https://albertamotorassociation.zendesk.com/hc/en-us" target="_blank">Help</a>
38
43
  </li>
39
44
  <li class="side-nav__item">
40
45
  <a class="side-nav__link" href="<%= Rails.configuration.amaabca_site %>/membership/contact-us--centre-locations-hours-and-contact-information">Contact Us</a>
@@ -43,7 +48,7 @@
43
48
  </ul>
44
49
  </div>
45
50
  </div>
46
-
51
+ <%= navigation.notification_sidebar %>
47
52
  <div class="javascript_errors error_notification" hidden></div>
48
53
  <noscript>
49
54
  <div class="mt1 large-12 columns text-center error_notification">
@@ -0,0 +1,9 @@
1
+ AmaLayout::Engine.routes.draw do
2
+ scope module: 'ama_layout' do
3
+ namespace :api do
4
+ namespace :v1 do
5
+ delete :notifications, to: 'notifications#dismiss_all'
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,25 +1,32 @@
1
- require "ama_layout/version"
2
- require "rails/all"
3
- require "foundation-rails"
4
- require "draper"
5
- require "browser"
6
- require "breadcrumbs_on_rails"
7
- require "ama_layout/breadcrumb_builder"
8
- require "ama_layout/moneris"
9
- require "ama_layout/navigation"
10
- require "ama_layout/navigation_item"
11
- require "ama_layout/decorators/moneris_decorator"
12
- require "ama_layout/decorators/navigation_decorator"
13
- require "ama_layout/decorators/navigation_item_decorator"
14
- require "ama_layout/controllers/action_controller"
1
+ require 'ama_layout/version'
2
+ require 'rails/all'
3
+ require 'foundation-rails'
4
+ require 'draper'
5
+ require 'browser'
6
+ require 'breadcrumbs_on_rails'
7
+ require 'redis-rails'
8
+ require 'ama_layout/breadcrumb_builder'
9
+ require 'ama_layout/moneris'
10
+ require 'ama_layout/navigation'
11
+ require 'ama_layout/navigation_item'
12
+ require 'ama_layout/navigation_helper'
13
+ require 'ama_layout/decorators/moneris_decorator'
14
+ require 'ama_layout/decorators/navigation_decorator'
15
+ require 'ama_layout/decorators/navigation_item_decorator'
16
+ require 'ama_layout/controllers/action_controller'
17
+ require 'ama_layout/notifications/abstract_store'
18
+ require 'ama_layout/notifications/redis_store'
19
+ require 'ama_layout/notification'
20
+ require 'ama_layout/decorators/notification_decorator'
21
+ require 'ama_layout/notification_scrubber'
22
+ require 'ama_layout/notification_set'
23
+ require 'ama_layout/notifications'
15
24
 
16
25
  module AmaLayout
17
- module Rails
18
- class Engine < ::Rails::Engine
19
- initializer('ama_layout') do
20
- I18n.load_path << File.join(self.root, 'app', 'config', 'locales', 'en.yml')
21
- ::ActionController::Base.send :include, AmaLayout::ActionController
22
- end
26
+ class Engine < Rails::Engine
27
+ initializer('ama_layout') do
28
+ I18n.load_path << File.join(self.root, 'app', 'config', 'locales', 'en.yml')
29
+ ::ActionController::Base.send :include, AmaLayout::ActionController
23
30
  end
24
31
  end
25
32
  end
@@ -32,5 +32,52 @@ module AmaLayout
32
32
  def account_toggle
33
33
  h.render partial: "account_toggle"
34
34
  end
35
+
36
+ def notifications
37
+ if user
38
+ h.render 'ama_layout/notifications', notifications: user.notifications, navigation: self
39
+ end
40
+ end
41
+
42
+ def notification_badge
43
+ if new_notifications?
44
+ h.content_tag(
45
+ :div,
46
+ active_notification_count,
47
+ class: 'notification__badge',
48
+ data: {
49
+ notification_count: true
50
+ }
51
+ )
52
+ end
53
+ end
54
+
55
+ def notification_sidebar
56
+ if user
57
+ h.render 'ama_layout/notification_sidebar', navigation: self, notifications: decorated_notifications
58
+ end
59
+ end
60
+
61
+ def notifications_heading
62
+ if user.notifications.any?
63
+ h.content_tag :p, 'Most Recent Notifications', class: 'mt1'
64
+ else
65
+ h.content_tag :p, 'No Recent Notifications', class: 'mt1 italic'
66
+ end
67
+ end
68
+
69
+ private
70
+
71
+ def decorated_notifications
72
+ AmaLayout::NotificationDecorator.decorate_collection(user.notifications)
73
+ end
74
+
75
+ def active_notification_count
76
+ user && user.notifications.active.size || 0
77
+ end
78
+
79
+ def new_notifications?
80
+ active_notification_count > 0
81
+ end
35
82
  end
36
83
  end
@@ -0,0 +1,45 @@
1
+ module AmaLayout
2
+ class NotificationDecorator < Draper::Decorator
3
+ delegate_all
4
+
5
+ ICONS = {
6
+ notice: {
7
+ icon_class: 'fa-info',
8
+ colour_class: 'right-sidebar__content-icon--blue' # currently not in use
9
+ },
10
+ warning: {
11
+ icon_class: 'fa-exclamation',
12
+ colour_class: 'right-sidebar__content-icon--orange'
13
+ },
14
+ alert: {
15
+ icon_class: 'fa-exclamation-triangle',
16
+ colour_class: 'right-sidebar__content-icon--red'
17
+ }
18
+ }.freeze
19
+
20
+ def created_at
21
+ "#{time_elapsed} ago".humanize
22
+ end
23
+
24
+ def icon
25
+ h.content_tag :div, class: icon_data.fetch(:colour_class) do
26
+ klass = icon_data.fetch(:icon_class)
27
+ h.content_tag :i, nil, class: "fa #{klass} right-sidebar__notice-icon"
28
+ end
29
+ end
30
+
31
+ def active_class
32
+ active? ? 'right-sidebar__content--active' : 'right-sidebar__content--inactive'
33
+ end
34
+
35
+ private
36
+
37
+ def icon_data
38
+ @icon_data ||= ICONS.fetch(type)
39
+ end
40
+
41
+ def time_elapsed
42
+ h.time_ago_in_words(object.created_at, include_seconds: true)
43
+ end
44
+ end
45
+ end
@@ -13,12 +13,15 @@ module AmaLayout
13
13
  cattr_accessor :member do
14
14
  "member"
15
15
  end
16
+
16
17
  cattr_accessor :non_member do
17
18
  "non-member"
18
19
  end
20
+
19
21
  cattr_accessor :member_in_renewal do
20
22
  "member-in-renewal"
21
23
  end
24
+
22
25
  cattr_accessor :member_in_renewal_late do
23
26
  "member-in-renewal-late"
24
27
  end
@@ -81,13 +81,31 @@ non-member:
81
81
  link: "<%= Rails.configuration.gatekeeper_site %>/user/edit"
82
82
  icon: "fa-cogs"
83
83
  member-in-renewal:
84
- - text: "Account Dashboard"
84
+ - text: "My Account Overview"
85
85
  link: "<%= Rails.configuration.gatekeeper_site %>/"
86
86
  icon: "fa-tachometer"
87
- - text: "Renew"
88
- link: "<%= Rails.configuration.youraccount_site %>/renew"
87
+ - text: "My Membership"
88
+ link: "<%= Rails.configuration.membership_site %>/membership/overview"
89
89
  icon: "fa-credit-card"
90
- - text: "Driver Education"
90
+ sub_nav:
91
+ - text: "Membership Overview"
92
+ link: "<%= Rails.configuration.membership_site %>/membership/overview"
93
+ - text: "Renew Membership"
94
+ link: "<%= Rails.configuration.membership_site %>/renews/new"
95
+ icon: "fa-credit-card"
96
+ - text: "Manage Membership"
97
+ link: "<%= Rails.configuration.membership_site %>/membership/manage"
98
+ - text: "Billing Options"
99
+ link: "<%= Rails.configuration.youraccount_site %>/billing"
100
+ - text: "Print/Request New Card"
101
+ link: "<%= Rails.configuration.youraccount_site %>/membership"
102
+ - text: "My Roadside Assistance"
103
+ link: "<%= Rails.configuration.automotive_site %>/"
104
+ icon: "fa-car"
105
+ sub_nav:
106
+ - text: "Roadside Assistance Overview"
107
+ link: "<%= Rails.configuration.automotive_site %>/"
108
+ - text: "My Driver Education"
91
109
  link: "<%= Rails.configuration.driveredonline_site %>/"
92
110
  icon: "fa-car"
93
111
  sub_nav:
@@ -95,12 +113,46 @@ member-in-renewal:
95
113
  link: "<%= Rails.configuration.driveredonline_site %>/"
96
114
  - text: "New Driver Online Program"
97
115
  link: "<%= Rails.configuration.driveredonline_site %>/dashboard"
116
+ - text: "My AMA Rewards"
117
+ link: "<%= Rails.configuration.youraccount_site %>/rewards"
118
+ icon: "fa-usd"
119
+ sub_nav:
120
+ - text: "Rewards Overview"
121
+ link: "<%= Rails.configuration.youraccount_site %>/rewards"
122
+ - text: "Gift Cards"
123
+ link: "<%= Rails.configuration.membership_site %>/reward_cards"
124
+ - text: "Transaction History"
125
+ link: "<%= Rails.configuration.youraccount_site %>/reward_dollars"
126
+ - text: "Pizza 73 Coupon Codes"
127
+ link: "<%= Rails.configuration.youraccount_site %>/pizza73"
128
+ - text: "My Registries"
129
+ link: "<%= Rails.configuration.registries_site %>/"
130
+ icon: "fa-folder-open"
131
+ sub_nav:
132
+ - text: "Registries Overview"
133
+ link: "<%= Rails.configuration.registries_site %>/"
134
+ - text: "Vehicle Registration Auto-Renew"
135
+ link: "<%= Rails.configuration.registries_site %>/order/registrations/new"
136
+ - text: "My Travel"
137
+ link: "<%= Rails.configuration.travel_site %>"
138
+ - text: "My Account Settings"
139
+ link: "<%= Rails.configuration.gatekeeper_site %>/user/edit"
140
+ icon: "fa-cogs"
141
+ sub_nav:
142
+ - text: "Change Email/Password"
143
+ link: "<%= Rails.configuration.gatekeeper_site %>/user/edit"
144
+ - text: "Email Subscriptions"
145
+ link: "<%= Rails.configuration.youraccount_site %>/subscriptions"
146
+ - text: "AMA Insider Magazine"
147
+ link: "<%= Rails.configuration.youraccount_site %>/amainsider"
148
+ - text: "Change Address"
149
+ link: "<%= Rails.configuration.youraccount_site %>/membership_update/new"
98
150
  member-in-renewal-late:
99
151
  - text: "Account Dashboard"
100
152
  link: "<%= Rails.configuration.gatekeeper_site %>/"
101
153
  icon: "fa-tachometer"
102
154
  - text: "Renew"
103
- link: "<%= Rails.configuration.youraccount_site %>/renew"
155
+ link: "<%= Rails.configuration.membership_site %>/renews/new"
104
156
  icon: "fa-credit-card"
105
157
  - text: "Driver Education"
106
158
  link: "<%= Rails.configuration.driveredonline_site %>/"
@@ -115,7 +167,7 @@ member-with-outstanding-balance:
115
167
  link: "<%= Rails.configuration.gatekeeper_site %>/"
116
168
  icon: "fa-tachometer"
117
169
  - text: "Pay Outstanding Balance"
118
- link: "<%= Rails.configuration.youraccount_site %>/renew"
170
+ link: "<%= Rails.configuration.membership_site %>/renews/new"
119
171
  icon: "fa-credit-card"
120
172
  - text: "Driver Education"
121
173
  link: "<%= Rails.configuration.driveredonline_site %>/"