ama_layout 6.3.0.pre → 6.10.0.pre

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 (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 %>/"