diff --git a/app/assets/javascripts/initializePage.js b/app/assets/javascripts/initializePage.js
index fba65c633..cd2771edc 100644
--- a/app/assets/javascripts/initializePage.js
+++ b/app/assets/javascripts/initializePage.js
@@ -12,7 +12,7 @@
initializeHeroBannerClose, initializeOnboardingTaskCard, initScrolling,
nextPage:writable, fetching:writable, done:writable, adClicked:writable,
initializePaymentPointers, initializeSpecialNavigationFunctionality, initializeBroadcast,
- initializeDateHelpers
+ initializeDateHelpers, initializeColorPicker
*/
function callInitializers() {
@@ -65,6 +65,7 @@ function callInitializers() {
initializeHeroBannerClose();
initializeOnboardingTaskCard();
initializeDateHelpers();
+ initializeColorPicker();
function freezeScrolling(event) {
event.preventDefault();
diff --git a/app/assets/javascripts/initializers/initializeColorPicker.js b/app/assets/javascripts/initializers/initializeColorPicker.js
new file mode 100644
index 000000000..7c8905835
--- /dev/null
+++ b/app/assets/javascripts/initializers/initializeColorPicker.js
@@ -0,0 +1,21 @@
+'use strict';
+
+function initializeColorPicker() {
+ var pickers = Array.from(document.getElementsByClassName('js-color-field'));
+
+ function colorValueChange(e) {
+ var field = e.target;
+ var sibling = '';
+ if (field.nextElementSibling) {
+ sibling = field.nextElementSibling;
+ } else {
+ sibling = field.previousElementSibling;
+ }
+
+ sibling.value = field.value;
+ }
+
+ pickers.forEach(function (picker) {
+ picker.addEventListener('change', colorValueChange);
+ });
+}
diff --git a/app/views/users/_profile.html.erb b/app/views/users/_profile.html.erb
index 161f42335..0af8f21ae 100644
--- a/app/views/users/_profile.html.erb
+++ b/app/views/users/_profile.html.erb
@@ -81,23 +81,3 @@
<% end %>
-
-