Add option to force disable SMEI_UNIFIED_PROFILES

Proposed here:
https://groups.google.com/g/twpowertools-discuss/c/QSOXU8IbrYU

Fixes: #47
Change-Id: I05caf5248cec1121ee083362910f81c484bfb3b2
diff --git a/docs/features.es.md b/docs/features.es.md
index 98a5c61..6f2dfbc 100644
--- a/docs/features.es.md
+++ b/docs/features.es.md
@@ -4,6 +4,8 @@
 La extensión Herramientas Avanzadas para TW ofrece las siguientes
 funciones/opciones:
 
+[TOC]
+
 ## Scroll infinito
 ### Listas de hilos
 > **Opción:** _Activa el scroll infinito en las listas de hilos_.
@@ -119,8 +121,8 @@
 ![GIF que muestra cómo funciona la función](resources/batch_lock.gif)
 
 ### Indicador de anuncios nuevos más prominente
-> **Option name:** _Muestra el punto que notifica que hay anuncios sin leer de
-manera más prominente en la Consola de la Comunidad._.
+> **Opción:** _Muestra el punto que notifica que hay anuncios sin leer de manera
+más prominente en la Consola de la Comunidad._.
 
 Cuando esta opción está activada, el banner "Alpha" que aparece en la esquina
 superior izquierda de la Consola de la Comunidad se oculta, y el punto de
@@ -135,7 +137,25 @@
 
 ![Imagen que muestra la función](resources/reposition_expand_thread.jpg)
 
-### Punto indicador
+### Muestra la vieja interfaz de los perfiles
+> **Opción:** _Desactiva forzosamente el experimento `SMEI_UNIFIED_PROFILES` en
+la Consola de la Comunidad._
+
+Esta opción desactiva el experimento `SMEI_UNIFIED_PROFILES`, que cuando está
+activado introduce un rediseño de la interfaz de los perfiles que también
+unifica todos los perfiles de cada foro en uno único.
+
+Esto significa que independientemente de si tu cuenta forma parte de este
+experimento, cuando actives esta opción el experimento se desactivará
+forzosamente y podrás continuar viendo la interfaz vieja/normal de los
+perfiles, que muestra los perfiles de los usuarios separados para cada foro.
+
+Nótese que esto solo aplica a a la Consola de la Comunidad.
+
+Esto podría ser útil si usas el modo oscuro, ya que los nuevos perfiles
+unificados no se han adaptado todavía al tema oscuro.
+
+## Punto indicador
 > **Opciones:** _Muestra si el autor del hilo ha participado en otros hilos_,
 _Muestra el número de preguntas y respuestas escritas por el autor del hilo
 durante los últimos {n} meses al lado de su nombre de usuario_.
diff --git a/docs/features.md b/docs/features.md
index 75a8d57..8fa27ba 100644
--- a/docs/features.md
+++ b/docs/features.md
@@ -3,6 +3,8 @@
 # Features
 The TW Power Tools extension offers the following features/options:
 
+[TOC]
+
 ## Infinite scroll
 ### Thread lists
 > **Option name:** _Enable infinite scrolling in thread lists_.
@@ -128,7 +130,25 @@
 
 ![Picture showing the feature](resources/reposition_expand_thread.jpg)
 
-### Indicator dot
+### Go back to the old profile view
+> **Option name:** _Force disable the `SMEI_UNIFIED_PROFILES` experiment in the
+Community Console._
+
+This option disables the `SMEI_UNIFIED_PROFILES` experiment, which when enabled
+introduces a redesign of the profile view which also unifies all forum profiles
+into a single one.
+
+This means that independently of whether your account is part of this
+experiment, when enabling this option the experiment will be forced disabled
+and you'll continue to see the old/regular profile view, which shows user
+profiles in a per-forum basis.
+
+Note that this only applies to the Community Console.
+
+This might be useful if you're using the dark theme, since the new unified
+profiles haven't been yet adapted to the dark theme.
+
+## Indicator dot
 > **Option names:** _Show whether the OP has participated in other threads_,
 _Show the number of questions and replies written by the OP within the last `n`
 months next to their username_.
diff --git a/docs/features.ru.md b/docs/features.ru.md
index fc5909b..638dcb5 100644
--- a/docs/features.ru.md
+++ b/docs/features.ru.md
@@ -3,6 +3,8 @@
 # Особенности
 Расширение TW Power Tools предлагает следующие функции/опции:
 
+[TOC]
+
 ## Бесконечная прокрутка
 ### Список тем
 > **Опция:** _Включить бесконечную прокрутку в списках тем_.
diff --git a/src/_locales/ca/messages.json b/src/_locales/ca/messages.json
index 5b01409..aa91d18 100644
--- a/src/_locales/ca/messages.json
+++ b/src/_locales/ca/messages.json
@@ -103,6 +103,10 @@
     "message": "Actualitza les llistes de fils de la Consola de la Comunitat automàticament.",
     "description": "Feature checkbox in the options page"
   },
+  "options_disableunifiedprofiles": {
+    "message": "Desactiva a la força l'experiment <code class=\"help\" title=\"Aquest experiment, quan està actiu, introdueix un rediseny de la interfície dels perfils que també unifica tots els perfils en un únic.\">SMEI_UNIFIED_PROFILES</code> a la Consola de la Comunitat.",
+    "description": "Link to learn more about the profile indicator feature"
+  },
   "options_profileindicator_header": {
     "message": "Punt indicador",
     "description": "Heading for the profile indicator feature options"
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index 1e05f3c..09881d9 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -107,6 +107,10 @@
     "message": "Autorefresh thread lists in the Community Console.",
     "description": "Feature checkbox in the options page"
   },
+  "options_disableunifiedprofiles": {
+    "message": "Force disable the <code class=\"help\" title=\"This experiment, when enabled, introduces a redesign of the profile view which also unifies all forum profiles into a single one.\">SMEI_UNIFIED_PROFILES</code> experiment in the Community Console.",
+    "description": "Feature checkbox in the options page"
+  },
   "options_profileindicator_header": {
     "message": "Indicator dot",
     "description": "Heading for the profile indicator feature options"
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
index a591db4..4bea06d 100644
--- a/src/_locales/es/messages.json
+++ b/src/_locales/es/messages.json
@@ -107,6 +107,10 @@
     "message": "Actualiza las listas de hilos de la Consola de la Comunidad automáticamente.",
     "description": "Feature checkbox in the options page"
   },
+  "options_disableunifiedprofiles": {
+    "message": "Desactiva forzosamente el experimento <code class=\"help\" title=\"Este experimento, cuando está activado, introduce un rediseño de la interfaz de los perfiles que también unifica todos los perfiles en cada foro en uno único.\">SMEI_UNIFIED_PROFILES</code> en la Consola de la Comunidad.",
+    "description": "Link to learn more about the profile indicator feature"
+  },
   "options_profileindicator_moreinfo": {
     "message": "+info sobre las 2 opciones anteriores",
     "description": "Link to learn more about the profile indicator feature"
diff --git a/src/common/common.js b/src/common/common.js
index f897837..9212389 100644
--- a/src/common/common.js
+++ b/src/common/common.js
@@ -76,6 +76,10 @@
     defaultValue: false,
     context: 'options',
   },
+  'disableunifiedprofiles': {
+    defaultValue: false,
+    context: 'options',
+  },
 
   // Experiments:
   'threadlistavatars': {
diff --git a/src/content_scripts/console_inject_start.js b/src/content_scripts/console_inject_start.js
index 7d5e87b..78a5d2e 100644
--- a/src/content_scripts/console_inject_start.js
+++ b/src/content_scripts/console_inject_start.js
@@ -1,3 +1,6 @@
+const SMEI_SORT_DIRECTION = 8;
+const SMEI_UNIFIED_PROFILES = 9;
+
 chrome.storage.sync.get(null, function(items) {
   if (items.loaddrafts || items.smei_sortdirection) {
     var startup =
@@ -8,8 +11,14 @@
     }
 
     if (items.smei_sortdirection) {
-      if (!startup[1][6].includes(8))
-        startup[1][6].push(8);
+      if (!startup[1][6].includes(SMEI_SORT_DIRECTION))
+        startup[1][6].push(SMEI_SORT_DIRECTION);
+    }
+
+    if (items.disableunifiedprofiles) {
+      var index = startup[1][6].indexOf(SMEI_UNIFIED_PROFILES);
+      if (index > -1)
+        startup[1][6].splice(index, 1);
     }
 
     document.querySelector('html').setAttribute(
diff --git a/src/options/options.html b/src/options/options.html
index 37f7e7f..c0c1d3e 100644
--- a/src/options/options.html
+++ b/src/options/options.html
@@ -44,6 +44,7 @@
         <div class="option"><input type="checkbox" id="batchlock"> <label for="batchlock" data-i18n="batchlock"></label> <span class="experimental-label" data-i18n="experimental_label"></span></div>
         <div class="option"><input type="checkbox" id="enhancedannouncementsdot"> <label for="enhancedannouncementsdot" data-i18n="enhancedannouncementsdot"></label></div>
         <div class="option"><input type="checkbox" id="repositionexpandthread"> <label for="repositionexpandthread" data-i18n="repositionexpandthread"></label> <span class="experimental-label" data-i18n="experimental_label"></span></div>
+        <div class="option"><input type="checkbox" id="disableunifiedprofiles"> <label for="disableunifiedprofiles" data-i18n="disableunifiedprofiles"></label> <span class="experimental-label" data-i18n="experimental_label"></span></div>
         <h4 data-i18n="profileindicator_header"></h4>
         <div class="option"><input type="checkbox" id="profileindicator"> <label for="profileindicator" data-i18n="profileindicator"></label> <span class="experimental-label" data-i18n="experimental_label"></span></div>
         <div class="option"><input type="checkbox" id="profileindicatoralt"> <label for="profileindicatoralt" data-i18n="profileindicatoralt"></label> <span class="experimental-label" data-i18n="experimental_label"></span></div>