pageflow 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pageflow might be problematic. Click here for more details.

Files changed (99) hide show
  1. checksums.yaml +8 -8
  2. data/admins/pageflow/accounts.rb +3 -1
  3. data/admins/pageflow/entry.rb +2 -1
  4. data/app/assets/javascripts/pageflow/admin.js +1 -0
  5. data/app/assets/javascripts/pageflow/admin/accounts.js +30 -0
  6. data/app/assets/javascripts/pageflow/asset_urls.js.erb +2 -2
  7. data/app/assets/javascripts/pageflow/editor/api.js +136 -0
  8. data/app/assets/javascripts/pageflow/editor/api/failure.js +54 -0
  9. data/app/assets/javascripts/pageflow/editor/api/failures.js +47 -0
  10. data/app/assets/javascripts/pageflow/editor/base.js +8 -0
  11. data/app/assets/javascripts/pageflow/editor/collections/chapters_collection.js +1 -1
  12. data/app/assets/javascripts/pageflow/editor/collections/mixins/ordered_collection.js +9 -4
  13. data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +9 -10
  14. data/app/assets/javascripts/pageflow/editor/initializers/additional_initializers.js +8 -0
  15. data/app/assets/javascripts/pageflow/editor/initializers/boot.js +1 -8
  16. data/app/assets/javascripts/pageflow/editor/initializers/routing.js +17 -0
  17. data/app/assets/javascripts/pageflow/editor/initializers/setup_collections.js +5 -5
  18. data/app/assets/javascripts/pageflow/editor/models/configuration.js +11 -2
  19. data/app/assets/javascripts/pageflow/editor/models/entry.js +2 -2
  20. data/app/assets/javascripts/pageflow/editor/models/mixins/retryable.js +2 -2
  21. data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js +37 -0
  22. data/app/assets/javascripts/pageflow/editor/models/theming.js +8 -0
  23. data/app/assets/javascripts/pageflow/editor/object.js +14 -0
  24. data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +4 -4
  25. data/app/assets/javascripts/pageflow/editor/templates/edit_entry.jst.ejs +4 -4
  26. data/app/assets/javascripts/pageflow/editor/templates/notifications.jst.ejs +1 -1
  27. data/app/assets/javascripts/pageflow/editor/views/back_button_decorator_view.js +3 -2
  28. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +2 -1
  29. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +2 -1
  30. data/app/assets/javascripts/pageflow/editor/views/edit_entry_view.js +23 -11
  31. data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +28 -22
  32. data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +5 -1
  33. data/app/assets/javascripts/pageflow/editor/views/file_item_view.js +3 -2
  34. data/app/assets/javascripts/pageflow/editor/views/files_view.js +3 -10
  35. data/app/assets/javascripts/pageflow/editor/views/input_view.js +39 -1
  36. data/app/assets/javascripts/pageflow/editor/views/inputs/check_box_input_view.js +13 -2
  37. data/app/assets/javascripts/pageflow/editor/views/inputs/file_input_view.js +9 -4
  38. data/app/assets/javascripts/pageflow/editor/views/inputs/text_area_input_view.js +14 -1
  39. data/app/assets/javascripts/pageflow/editor/views/inputs/text_input_view.js +11 -0
  40. data/app/assets/javascripts/pageflow/editor/views/mixins/failure_indicating_view.js +3 -3
  41. data/app/assets/javascripts/pageflow/editor/views/notifications_view.js +7 -6
  42. data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +2 -1
  43. data/app/assets/javascripts/pageflow/page_types/audio.js +13 -8
  44. data/app/assets/javascripts/pageflow/page_types/video.js +9 -5
  45. data/app/assets/javascripts/pageflow/widgets/navigation.js +3 -2
  46. data/app/assets/javascripts/pageflow/widgets/player_controls.js +3 -2
  47. data/app/assets/javascripts/pageflow/widgets/{home_button.js → top_button.js} +4 -4
  48. data/app/assets/stylesheets/pageflow/editor/back_button_decorator.css.scss +3 -0
  49. data/app/assets/stylesheets/pageflow/editor/base.css.scss +1 -0
  50. data/app/assets/stylesheets/pageflow/editor/tabs_view.css.scss +1 -0
  51. data/app/assets/stylesheets/pageflow/ie9.css.scss +8 -7
  52. data/app/assets/stylesheets/pageflow/lt_ie9.css.scss +2 -2
  53. data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +16 -2
  54. data/app/assets/stylesheets/pageflow/themes/default/anchors.css.scss +0 -3
  55. data/app/assets/stylesheets/pageflow/themes/default/navigation.css.scss +13 -4
  56. data/app/controllers/pageflow/entries_controller.rb +4 -9
  57. data/app/helpers/pageflow/entries_helper.rb +2 -6
  58. data/app/helpers/pageflow/themes_helper.rb +9 -0
  59. data/app/helpers/pageflow/themings_helper.rb +11 -0
  60. data/app/jobs/pageflow/poll_zencoder_job.rb +2 -2
  61. data/app/models/pageflow/cname_theming_request_scope.rb +7 -0
  62. data/app/models/pageflow/draft_entry.rb +9 -1
  63. data/app/models/pageflow/entry.rb +3 -1
  64. data/app/models/pageflow/home_button.rb +37 -0
  65. data/app/models/pageflow/published_entry.rb +8 -0
  66. data/app/models/pageflow/revision.rb +6 -0
  67. data/app/models/pageflow/theming.rb +3 -0
  68. data/app/models/pageflow/zencoder_attachment.rb +35 -17
  69. data/app/views/admin/accounts/_form.html.erb +14 -2
  70. data/app/views/admin/entries/_attributes_table.html.arb +1 -1
  71. data/app/views/admin/entries/_links.html.arb +1 -1
  72. data/app/views/layouts/pageflow/_ie_include_tags.html.erb +4 -4
  73. data/app/views/pageflow/editor/entries/_analytics.html.erb +1 -0
  74. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +4 -0
  75. data/app/views/pageflow/editor/themings/_theming.json.jbuilder +2 -0
  76. data/app/views/pageflow/entries/_navigation.html.erb +2 -2
  77. data/app/views/pageflow/entries/edit.html.erb +3 -0
  78. data/app/views/pageflow/entries/navigation/_bar_top.html.erb +2 -1
  79. data/app/views/pageflow/entries/navigation/_home_button.html.erb +8 -0
  80. data/config/initializers/zencoder.rb +11 -1
  81. data/config/locales/activerecord.de.yml +5 -0
  82. data/config/locales/editor.de.yml +5 -0
  83. data/config/routes.rb +1 -0
  84. data/db/migrate/20140819081454_add_home_url_attributes_to_themings_and_revisions.rb +9 -0
  85. data/lib/generators/pageflow/seeds/seeds_generator.rb +4 -4
  86. data/lib/generators/pageflow/seeds/templates/seeds.rb +30 -0
  87. data/lib/pageflow/configuration.rb +47 -1
  88. data/lib/pageflow/page_type.rb +25 -0
  89. data/lib/pageflow/revision_component.rb +39 -0
  90. data/lib/pageflow/seeds.rb +153 -71
  91. data/lib/pageflow/theme.rb +7 -2
  92. data/lib/pageflow/themes.rb +2 -2
  93. data/lib/pageflow/version.rb +1 -1
  94. data/lib/pageflow/zencoder_audio_output_definition.rb +3 -3
  95. data/lib/pageflow/zencoder_output_definition.rb +46 -7
  96. data/lib/pageflow/zencoder_video_output_definition.rb +51 -35
  97. data/spec/factories/entries.rb +6 -2
  98. metadata +687 -668
  99. data/app/assets/javascripts/pageflow/editor/collections/failed_records_collection.js +0 -18
@@ -13,6 +13,9 @@ pageflow.inputView = {
13
13
  if (!this.inlineHelpText()) {
14
14
  this.ui.inlineHelp.hide();
15
15
  }
16
+
17
+ this.updateDisabled();
18
+ this.setupVisibleBinding();
16
19
  },
17
20
 
18
21
  localizedAttributeName: function() {
@@ -20,6 +23,41 @@ pageflow.inputView = {
20
23
  },
21
24
 
22
25
  inlineHelpText: function() {
23
- return I18n.t('editor.inline_help.' + this.model.i18nKey + '.' + this.options.propertyName, {defaultValue: ''});
26
+ var key = 'editor.inline_help.' + this.model.i18nKey + '.' + this.options.propertyName;
27
+ var text = I18n.t(key, {defaultValue: ''});
28
+
29
+ if (this.options.disabled) {
30
+ text = I18n.t(key + '_disabled', {defaultValue: text});
31
+ }
32
+
33
+ return text;
34
+ },
35
+
36
+ updateDisabled: function() {
37
+ if (this.ui.input) {
38
+ this.updateDisabledAttribute(this.ui.input);
39
+ }
40
+ },
41
+
42
+ updateDisabledAttribute: function(element) {
43
+ if (this.options.disabled) {
44
+ element.attr('disabled', true);
45
+ }
46
+ else {
47
+ element.removeAttr('disabled');
48
+ }
49
+ },
50
+
51
+ setupVisibleBinding: function() {
52
+ var view = this;
53
+
54
+ if (this.options.visibleBinding) {
55
+ this.listenTo(this.model, 'change:' + this.options.visibleBinding, updateVisible);
56
+ updateVisible(this.model, this.model.get(this.options.visibleBinding));
57
+ }
58
+
59
+ function updateVisible(model, value) {
60
+ view.$el.toggle(!!value);
61
+ }
24
62
  }
25
63
  };
@@ -20,10 +20,21 @@ pageflow.CheckBoxInputView = Backbone.Marionette.ItemView.extend({
20
20
  },
21
21
 
22
22
  save: function() {
23
- this.model.set(this.options.propertyName, this.ui.input.is(':checked'));
23
+ if (!this.options.disabled) {
24
+ this.model.set(this.options.propertyName, this.ui.input.is(':checked'));
25
+ }
24
26
  },
25
27
 
26
28
  load: function() {
27
- this.ui.input.attr('checked', this.model.get(this.options.propertyName));
29
+ this.ui.input.attr('checked', this.displayValue());
30
+ },
31
+
32
+ displayValue: function() {
33
+ if (this.options.disabled && this.options.displayUncheckedIfDisabled) {
34
+ return false;
35
+ }
36
+ else {
37
+ return this.model.get(this.options.propertyName);
38
+ }
28
39
  }
29
40
  });
@@ -15,10 +15,15 @@ pageflow.FileInputView = Backbone.Marionette.ItemView.extend({
15
15
 
16
16
  events: {
17
17
  'click .choose': function() {
18
- editor.navigate(
19
- '/files/' + this.options.collection.name +'?page=' + this.model.page.id + '&attribute=' + this.options.propertyName,
20
- {trigger: true}
18
+ pageflow.editor.selectFile(
19
+ this.options.collection.name,
20
+ this.options.fileSelectionHandler || 'pageConfiguration',
21
+ {
22
+ id: this.model.getRoutableId ? this.model.getRoutableId() : this.model.id,
23
+ attributeName: this.options.propertyName
24
+ }
21
25
  );
26
+
22
27
  return false;
23
28
  },
24
29
 
@@ -63,4 +68,4 @@ pageflow.FileInputView = Backbone.Marionette.ItemView.extend({
63
68
  _getFile: function() {
64
69
  return this.model.getReference(this.options.propertyName, this.options.collection);
65
70
  }
66
- });
71
+ });
@@ -50,4 +50,17 @@ pageflow.TextAreaInputView = Backbone.Marionette.ItemView.extend({
50
50
  load: function() {
51
51
  this.ui.textarea.val(this.model.get(this.options.propertyName));
52
52
  }
53
- });
53
+ });
54
+
55
+ (function() {
56
+ var isIE11 = navigator.userAgent.indexOf("Trident") !== -1;
57
+ // This browser detections is copied from wysihtml5.
58
+ var isGecko = navigator.userAgent.indexOf("Gecko") !== -1 && navigator.userAgent.indexOf("KHTML") === -1;
59
+
60
+ wysihtml5.browser.insertsLineBreaksOnReturn = function() {
61
+ // Used to be only isGecko. Unfortunately IE 11 is detected as
62
+ // Gecko since it says "like Gecko" in its user agent. Make sure
63
+ // we really are not IE 11.
64
+ return isGecko && !isIE11;
65
+ };
66
+ }());
@@ -12,6 +12,7 @@ pageflow.TextInputView = Backbone.Marionette.ItemView.extend({
12
12
  },
13
13
 
14
14
  onRender: function() {
15
+ this.updatePlaceholder();
15
16
  this.load();
16
17
  this.validate();
17
18
  },
@@ -46,5 +47,15 @@ pageflow.TextInputView = Backbone.Marionette.ItemView.extend({
46
47
  resetValidationError: function(message) {
47
48
  this.$el.removeClass('invalid');
48
49
  this.ui.input.attr('title', '');
50
+ },
51
+
52
+ updatePlaceholder: function() {
53
+ this.ui.input.attr('placeholder', this.placeholderText());
54
+ },
55
+
56
+ placeholderText: function() {
57
+ if (!this.options.disabled || !this.options.hidePlaceholderIfDisabled) {
58
+ return this.options.placeholder;
59
+ }
49
60
  }
50
61
  });
@@ -1,11 +1,11 @@
1
1
  pageflow.failureIndicatingView = {
2
2
  modelEvents: {
3
- 'change:failed': 'updateFailIndicator',
3
+ 'change:failed': 'updateFailIndicator'
4
4
  },
5
5
 
6
6
  events: {
7
7
  'click .retry': function() {
8
- pageflow.failedRecords.retry();
8
+ pageflow.editor.failures.retry();
9
9
  return false;
10
10
  }
11
11
  },
@@ -18,4 +18,4 @@ pageflow.failureIndicatingView = {
18
18
  this.$el.toggleClass('failed', this.model.isFailed());
19
19
  this.$el.find('.failure .message').text(this.model.getFailureMessage());
20
20
  }
21
- };
21
+ };
@@ -11,7 +11,7 @@ pageflow.NotificationsView = Backbone.Marionette.ItemView.extend({
11
11
 
12
12
  events: {
13
13
  'click .retry': function() {
14
- pageflow.failedRecords.retry();
14
+ pageflow.editor.failures.retry();
15
15
  }
16
16
  },
17
17
 
@@ -19,19 +19,20 @@ pageflow.NotificationsView = Backbone.Marionette.ItemView.extend({
19
19
  this.listenTo(pageflow.entry, 'change:uploading_files_count', this.notifyUploadCount);
20
20
  this.listenTo(pageflow.entry, 'change:confirmable_files_count', this.notifyConfirmableFilesCount);
21
21
 
22
- this.listenTo(pageflow.failedRecords, 'add', this.update);
23
- this.listenTo(pageflow.failedRecords, 'remove', this.update);
24
22
  this.listenTo(pageflow.savingRecords, 'add', this.update);
25
23
  this.listenTo(pageflow.savingRecords, 'remove', this.update);
26
24
 
25
+ this.listenTo(pageflow.editor.failures, 'add', this.update);
26
+ this.listenTo(pageflow.editor.failures, 'remove', this.update);
27
+
27
28
  this.update();
28
29
  this.notifyConfirmableFilesCount();
29
30
  },
30
31
 
31
32
  update: function() {
32
- this.$el.toggleClass('failed', !pageflow.failedRecords.isEmpty());
33
+ this.$el.toggleClass('failed', !pageflow.editor.failures.isEmpty());
33
34
  this.$el.toggleClass('saving', !pageflow.savingRecords.isEmpty());
34
- this.ui.failedCount.text(pageflow.failedRecords.length);
35
+ this.ui.failedCount.text(pageflow.editor.failures.count());
35
36
  },
36
37
 
37
38
  notifyUploadCount: function(model, uploadCount) {
@@ -45,4 +46,4 @@ pageflow.NotificationsView = Backbone.Marionette.ItemView.extend({
45
46
  this.$el.toggleClass('has_confirmable_files', confirmableFilesCount > 0);
46
47
  this.ui.confirmableFilesCount.text(confirmableFilesCount);
47
48
  }
48
- });
49
+ });
@@ -56,6 +56,7 @@ pageflow.PagePreviewView = Backbone.Marionette.View.extend({
56
56
  update: function() {
57
57
  this.$el.removeClass(pageflow.Page.transitions.join(' ')).addClass(this.model.configuration.get('transition'));
58
58
  this.pageType().update(this.$el, this.model.configuration);
59
+ _.extend(this.$el.data('configuration'), this.model.configuration.attributes);
59
60
  this.refreshScroller();
60
61
  },
61
62
 
@@ -94,4 +95,4 @@ pageflow.PagePreviewView = Backbone.Marionette.View.extend({
94
95
  _unescape: function(text) {
95
96
  return $('<div/>').html(text).text();
96
97
  }
97
- });
98
+ });
@@ -45,13 +45,18 @@ pageflow.pageType.register('audio', _.extend({
45
45
  activated: function(pageElement, configuration) {
46
46
  var that = this;
47
47
  if(!pageflow.features.has('mobile platform')) {
48
- this.fadeInTimeout = setTimeout(function() {
49
- that.audioPlayer.readyPromise.then(function() {
50
- that.audioPlayer.volume(0);
51
- that.audioPlayer.play();
52
- that.fadeSound(that.audioPlayer, pageflow.settings.get('volume'), 1000);
53
- });
54
- }, 1000);
48
+
49
+ if (configuration.autoplay === false) {
50
+ that.audioPlayer.volume(pageflow.settings.get('volume'));
51
+ } else {
52
+ this.fadeInTimeout = setTimeout(function() {
53
+ that.audioPlayer.readyPromise.then(function() {
54
+ that.audioPlayer.volume(0);
55
+ that.audioPlayer.play();
56
+ that.fadeSound(that.audioPlayer, pageflow.settings.get('volume'), 1000);
57
+ });
58
+ }, 1000);
59
+ }
55
60
  }
56
61
  },
57
62
 
@@ -100,4 +105,4 @@ pageflow.pageType.register('audio', _.extend({
100
105
  player: this.audioPlayer
101
106
  });
102
107
  }
103
- }, pageflow.volumeFade, pageflow.infoBox, pageflow.commonPageCssClasses));
108
+ }, pageflow.volumeFade, pageflow.infoBox, pageflow.commonPageCssClasses));
@@ -56,11 +56,15 @@ pageflow.pageType.register('video', _.extend({
56
56
  videoPlayer.prebuffer().done(function() {
57
57
  videoPlayer.hidePosterImage();
58
58
 
59
- that.fadeInTimeout = setTimeout(function() {
60
- videoPlayer.volume(0);
61
- videoPlayer.play();
62
- that.fadeSound(videoPlayer, pageflow.settings.get('volume'), 1000);
63
- }, 1000);
59
+ if (configuration.autoplay === false) {
60
+ videoPlayer.volume(pageflow.settings.get('volume'));
61
+ } else {
62
+ that.fadeInTimeout = setTimeout(function() {
63
+ videoPlayer.volume(0);
64
+ videoPlayer.play();
65
+ that.fadeSound(videoPlayer, pageflow.settings.get('volume'), 1000);
66
+ }, 1000);
67
+ }
64
68
  });
65
69
  }
66
70
  },
@@ -5,14 +5,15 @@
5
5
  _create: function() {
6
6
  var overlays = this.element.find('.navigation_site_detail'),
7
7
  that = this,
8
+ hasHomeButton = !!this.element.find('.navigation_home').length,
8
9
  toggleIndicators = function() {};
9
10
 
10
11
  this.element.addClass('js').append(overlays);
11
12
 
12
- $('a.navigation_home', this.element).homeButton();
13
+ $('a.navigation_top', this.element).topButton();
13
14
 
14
15
  $('.navigation_bar_bottom', this.element)
15
- .append($('.navigation_bar_top > li', this.element).slice(3));
16
+ .append($('.navigation_bar_top > li', this.element).slice(hasHomeButton ? 4 : 3));
16
17
 
17
18
  /* Volume */
18
19
 
@@ -21,8 +21,9 @@ jQuery.widget('pageflow.playerControls', {
21
21
 
22
22
  player.on('timeupdate', function (position, duration) {
23
23
  var percent = duration > 0 ? (player.position / player.duration) * 100 : 0;
24
- if(!isNaN(position)) {
25
- if(durationDisplay.html().length === 5 && durationDisplay.html().charAt(0) === "0") {
24
+
25
+ if (!isNaN(position)) {
26
+ if (player.duration < 600) {
26
27
  $(currentTimeDisplay).html(player.formatTime(position).substr(1));
27
28
  $(durationDisplay).html(player.formatTime(duration).substr(1));
28
29
  }
@@ -1,5 +1,5 @@
1
1
  (function($) {
2
- $.widget('pageflow.homeButton', {
2
+ $.widget('pageflow.topButton', {
3
3
  _create: function() {
4
4
  var element = this.element;
5
5
 
@@ -16,10 +16,10 @@
16
16
 
17
17
  function toggle(currentPage) {
18
18
  var currentPageId = currentPage.data('id');
19
- var onHomePage = (currentPageId === element.data('link'));
19
+ var onFirstPage = (currentPageId === element.data('link'));
20
20
 
21
- element.toggleClass('deactivated', onHomePage);
22
- element.attr('tabindex', onHomePage ? '-1' : '2');
21
+ element.toggleClass('deactivated', onFirstPage);
22
+ element.attr('tabindex', onFirstPage ? '-1' : '2');
23
23
  }
24
24
  }
25
25
  });
@@ -0,0 +1,3 @@
1
+ .back_button_decorator {
2
+ position: relative;
3
+ }
@@ -61,6 +61,7 @@
61
61
  @import "./other_entry_item";
62
62
  @import "./select_button";
63
63
  @import "./quotas";
64
+ @import "./back_button_decorator";
64
65
 
65
66
  a.publish {
66
67
  @include eye-icon;
@@ -22,6 +22,7 @@
22
22
  padding: 10px;
23
23
  overflow: auto;
24
24
  height: 100%;
25
+ min-height: 110px;
25
26
  }
26
27
 
27
28
  > ul > li.spinner {
@@ -1,8 +1,3 @@
1
- .page .scroller {
2
- /* IE 9 does not trigger mouse events on div without a background - duh */
3
- background-image: url('.');
4
- }
5
-
6
1
  .slideshow section.page {
7
2
  &.animate-out-forwards,
8
3
  &.animate-out-backwards {
@@ -10,13 +5,19 @@
10
5
  }
11
6
  }
12
7
 
8
+ /* IE 9 does not trigger mouse events on div without a background - duh */
9
+
10
+ .page .scroller {
11
+ background-image: url('.');
12
+ }
13
+
13
14
  /* Make sure controls are centered, since translateX(-50%) does not work. */
14
15
 
15
16
  .vjs-control-bar {
16
- margin-left: -217px !important;
17
+ -ms-transform: translate(-50%, 0);
17
18
  }
18
19
 
19
20
  .js .add_info_box {
20
- margin: 0 0 63px -214px;
21
+ -ms-transform: translate(-50%, 0);
21
22
  max-width: 434px;
22
23
  }
@@ -149,5 +149,5 @@
149
149
  }
150
150
 
151
151
  .js .page .close_button {
152
- background-image: image-url('close_sprite_shadow_ie8.png') !important;
153
- }
152
+ background-image: image-url('pageflow/close_sprite_shadow_ie8.png') !important;
153
+ }
@@ -46,7 +46,7 @@ $nav-color: #9c9c9c;
46
46
  border: none;
47
47
  }
48
48
 
49
- a.navigation_main, a.navigation_home, a.navigation_index {
49
+ a.navigation_main, a.navigation_top, a.navigation_index {
50
50
  display: none;
51
51
  }
52
52
 
@@ -295,7 +295,7 @@ $nav-color: #9c9c9c;
295
295
  top: 0;
296
296
  height: 180px;
297
297
 
298
- a.navigation_main, a.navigation_home, a.navigation_index {
298
+ a.navigation_main, a.navigation_top, a.navigation_index {
299
299
  display: block;
300
300
  }
301
301
 
@@ -344,6 +344,20 @@ $nav-color: #9c9c9c;
344
344
  }
345
345
  }
346
346
 
347
+ &.with_home_button {
348
+ .navigation_bar_top {
349
+ height: 224px;
350
+ }
351
+
352
+ .scroller {
353
+ top: 224px;
354
+ }
355
+
356
+ .scroll_indicator.top {
357
+ top: 189px;
358
+ }
359
+ }
360
+
347
361
  .navigation_bar_bottom {
348
362
  display: block;
349
363
  height: 268px;
@@ -37,9 +37,6 @@ $anchor-color: $main-color;
37
37
 
38
38
  .invert .contentText a {
39
39
  color: black;
40
- &:before {
41
- background-image: image-url('pageflow/anchor_black.png');
42
- }
43
40
  }
44
41
 
45
42
  .overview_mobile .credits a,
@@ -55,6 +55,15 @@ $nav-bg-color-transparent: $basic-background-color-transparent;
55
55
 
56
56
  }
57
57
 
58
+ .navigation_bullet.navigation_top {
59
+ padding-top: 0;
60
+ .button {
61
+ border-bottom: 0;
62
+ font-weight: bold;
63
+
64
+ @include fa-arrow-circle-up-icon;
65
+ }
66
+ }
58
67
  .navigation_bullet.navigation_home {
59
68
  padding-top: 0;
60
69
  .button {
@@ -214,11 +223,11 @@ $nav-bg-color-transparent: $basic-background-color-transparent;
214
223
  top: 1px;
215
224
  }
216
225
 
217
- .navigation .navigation_home.deactivated .button {
226
+ .navigation .navigation_top.deactivated .button {
218
227
  background-position: -155px -140px;
219
228
  }
220
229
 
221
- .navigation .navigation_home.deactivated {
230
+ .navigation .navigation_top.deactivated {
222
231
  pointer-events: none;
223
232
  }
224
233
 
@@ -228,7 +237,7 @@ div.navigation > ul.navigation_bar_top > li:nth-child(1) {
228
237
  div.navigation .menu_li {
229
238
  display: none;
230
239
  }
231
- .navigation_bullet.navigation_home {
240
+ .navigation_bullet.navigation_top {
232
241
  padding-top: 20px;
233
242
  }
234
243
 
@@ -244,7 +253,7 @@ div.navigation .menu_li {
244
253
  color: $nav-font;
245
254
  }
246
255
 
247
- .has_no_mobile_platform .navigation .navigation_home.deactivated .button:hover {
256
+ .has_no_mobile_platform .navigation .navigation_top.deactivated .button:hover {
248
257
  background-position: -155px -140px;
249
258
  }
250
259