UX: Release new user profile navigation for sidebar compatibility (#20134)

With the introduction of the sidebar navigation menu, the design team at
Discourse redesigned the user profile navigation to better coexist with
the sidebar.
This commit is contained in:
Alan Guo Xiang Tan 2023-02-21 10:16:16 +08:00 committed by GitHub
parent c47015b861
commit 359dc1c532
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 18 additions and 61 deletions

View File

@ -293,12 +293,9 @@ class CurrentUserSerializer < BasicUserSerializer
redesigned_user_menu_enabled
end
# TODO(tgxworld): Return true for now until reliance on this attribute has been removed on the client side
def redesigned_user_page_nav_enabled
if SiteSetting.enable_new_user_profile_nav_groups.present?
object.in_any_groups?(SiteSetting.enable_new_user_profile_nav_groups_map)
else
false
end
true
end
def custom_sidebar_sections_enabled

View File

@ -2339,7 +2339,6 @@ ar:
default_sidebar_categories: "سيتم عرض الفئات المحدَّدة ضمن قسم فئات الشريط الجانبي بشكلٍ افتراضي."
default_sidebar_tags: "سيتم عرض الوسوم المحدَّدة ضمن قسم فئات الشريط الجانبي بشكلٍ افتراضي."
enable_new_notifications_menu: "يمكِّن قائمة الإشعارات الجديدة لقائمة التنقل القديمة."
enable_new_user_profile_nav_groups: "تجريبي: سيتم عرض قائمة التنقل الخاصة بملف تعريف المستخدم الجديد لمستخدمي المجموعات المحدَّدة"
enable_experimental_hashtag_autocomplete: "تجريبي: استخدم نظام الإكمال التلقائي #hashtag الجديد للفئات والوسوم التي تعرض العنصر المحدَّد بشكلٍ مختلف وحسَّنت نتائج البحث"
errors:
invalid_css_color: "لون غير صالح. أدخِل اسم لون أو قيمة سداسية عشرية."

View File

@ -2125,7 +2125,6 @@ de:
navigation_menu: "Legt fest, welches Navigationsmenü verwendet werden soll. Die Seitenleisten- und Kopfzeilennavigation kann von den Benutzern angepasst werden. Die Legacy-Option ist zur Abwärtskompatibilität verfügbar."
default_sidebar_categories: "Ausgewählte Kategorien werden standardmäßig im Abschnitt „Kategorien“ der Seitenleiste angezeigt."
default_sidebar_tags: "Ausgewählte Schlagwörter werden standardmäßig im Abschnitt „Schlagwörter“ der Seitenleiste angezeigt."
enable_new_user_profile_nav_groups: "EXPERIMENTELL: Benutzern der ausgewählten Gruppen wird das neue Benutzerprofil-Navigationsmenü angezeigt"
enable_experimental_hashtag_autocomplete: "EXPERIMENTELL: Das neue #hashtag-Autovervollständigungssystem für Kategorien und Schlagwörter, das das ausgewählte Element anders darstellt und eine bessere Suche aufweist, verwenden"
errors:
invalid_css_color: "Ungültige Farbe. Gib einen Farbnamen oder einen Hexadezimalwert ein."

View File

@ -2397,7 +2397,6 @@ en:
default_sidebar_categories: "Selected categories will be displayed under Sidebar's Categories section by default."
default_sidebar_tags: "Selected tags will be displayed under Sidebar's Tags section by default."
enable_new_notifications_menu: "Enables the new notifications menu for the legacy navigation menu."
enable_new_user_profile_nav_groups: "EXPERIMENTAL: Users of the selected groups will be shown the new user profile navigation menu"
enable_experimental_hashtag_autocomplete: "EXPERIMENTAL: Use the new #hashtag autocompletion system for categories and tags that renders the selected item differently and has improved search"
errors:

View File

@ -2125,7 +2125,6 @@ es:
navigation_menu: "Determina qué menú de navegación utilizar. La barra lateral y la navegación del encabezado son personalizables por los usuarios. La opción heredada está disponible para compatibilidad con versiones anteriores."
default_sidebar_categories: "Las categorías seleccionadas aparecerán por defecto en la sección de categorías de la barra lateral."
default_sidebar_tags: "Las etiquetas seleccionadas se mostrarán por defecto en la sección Etiquetas de la barra lateral."
enable_new_user_profile_nav_groups: "EXPERIMENTAL: Los usuarios de los grupos seleccionados verán el nuevo menú de navegación del perfil de usuario"
enable_experimental_hashtag_autocomplete: "EXPERIMENTAL: Utiliza el nuevo sistema de autocompletado #hashtag para categorías y etiquetas que muestra el elemento seleccionado de forma diferente y ha mejorado la búsqueda"
errors:
invalid_css_color: "Color no válido. Introduce el nombre de un color o su valor hexadecimal."

View File

@ -2125,7 +2125,6 @@ fi:
navigation_menu: "Määritä käytettävä navigointivalikko. Sivupalkin ja yläpalkin navigointi ovat käyttäjien mukautettavissa. Vanha vaihtoehto on käytettävissä yhteensopivuuden varmistamiseksi vanhojen versioiden kanssa."
default_sidebar_categories: "Valitut alueet näkyvät sivupalkin Alueet-osiossa oletuksena."
default_sidebar_tags: "Valitut tunnisteet näkyvät sivupalkin Tunnisteet-osiossa oletuksena."
enable_new_user_profile_nav_groups: "KOKEELLINEN: valittujen ryhmien käyttäjille näytetään uusi käyttäjäprofiilin navigointivalikko"
enable_experimental_hashtag_autocomplete: "KOKEELLINEN: käytä alueille ja tunnisteille uutta automaattista #hashtag-täydennysjärjestelmää, jotka hahmontaa valitun kohteen eri tavalla ja on parantanut hakua"
errors:
invalid_css_color: "Virheellinen väri. Anna värin nimi tai heksadesimaaliarvo."

View File

@ -2131,7 +2131,6 @@ fr:
default_sidebar_categories: "Les catégories sélectionnées seront affichées par défaut dans la section Catégories de la barre latérale."
default_sidebar_tags: "Les étiquettes sélectionnées seront affichées par défaut dans la section Étiquettes de la barre latérale."
enable_new_notifications_menu: "Active le nouveau menu de notifications pour l'ancien menu de navigation."
enable_new_user_profile_nav_groups: "EXPÉRIMENTAL : les utilisateurs des groupes sélectionnés verront apparaître le nouveau menu de navigation du profil utilisateur"
enable_experimental_hashtag_autocomplete: "EXPÉRIMENTAL : utilisez le nouveau système de saisie semi-automatique #hashtag pour les catégories et les balises, il affiche différemment l'élément sélectionné et améliore la recherche"
errors:
invalid_css_color: "Couleur non valide. Indiquez un nom de couleur ou une valeur hexadécimale."

View File

@ -2244,7 +2244,6 @@ he:
default_sidebar_categories: "הקטגוריות הנבחרות תוצגנה תחת סעיף הקטגוריות של סרגל הצד כברירת מחדל."
default_sidebar_tags: "התגיות הנבחרות תוצגנה תחת סעיף התגיות של סרגל הצד כברירת מחדל."
enable_new_notifications_menu: "מפעיל את תפריט ההתראות החדש בתפריט הניווט הישן."
enable_new_user_profile_nav_groups: "ניסיוני: משתמשים בקבוצות שנבחרו יופיעו בתפריט הניווט החדש של פרופיל המשתמש"
enable_experimental_hashtag_autocomplete: "ניסיוני: ניתן להשתמש במערכת אוטומטית להשלמת #תגיות עבור קטגוריות ותגיות שמעבדת את הפריט הנבחר באופן שונה והחיפוש בה משופר"
errors:
invalid_css_color: "צבע שגוי. נא למלא את שם הצבע או ערך הקסדצימלי."

View File

@ -1469,7 +1469,6 @@ hr:
navigation_menu: "Odredite koji navigacijski izbornik koristiti. Bočnu traku i navigaciju u zaglavlju korisnici mogu prilagoditi. Naslijeđena opcija dostupna je za kompatibilnost s prethodnim verzijama."
default_sidebar_categories: "Odabrane kategorije će prema zadanim postavkama biti prikazane u odjeljku Kategorije na bočnoj traci."
default_sidebar_tags: "Odabrane oznake će prema zadanim postavkama biti prikazane u odjeljku Oznake bočne trake."
enable_new_user_profile_nav_groups: "EKSPERIMENTALNO: Korisnicima odabranih grupa bit će prikazan novi navigacijski izbornik korisničkog profila"
enable_experimental_hashtag_autocomplete: "EKSPERIMENTALNO: Upotrijebite novi #hashtag sustav automatskog dovršavanja za kategorije i oznake koji drugačije prikazuje odabranu stavku i ima poboljšano pretraživanje"
errors:
invalid_css_color: "Nevažeća boja. Unesite naziv boje ili hex vrijednost."

View File

@ -2125,7 +2125,6 @@ it:
navigation_menu: "Determina quale menu di navigazione utilizzare. La barra laterale e la navigazione dell'intestazione sono personalizzabili dagli utenti. L'opzione Compatibile è disponibile per la compatibilità con le versioni precedenti."
default_sidebar_categories: "Le categorie selezionate appariranno, per impostazione predefinita, nella sezione Categorie della barra laterale."
default_sidebar_tags: "Le etichette selezionate appariranno, per impostazione predefinita, nella sezione Etichette della barra laterale."
enable_new_user_profile_nav_groups: "SPERIMENTALE: Gli utenti dei gruppi selezionati vedranno il nuovo menu di navigazione del profilo utente"
enable_experimental_hashtag_autocomplete: "SPERIMENTALE: utilizza il nuovo sistema di completamento automatico degli #hashtag per categorie ed etichette che rende l'elemento selezionato in modo diverso e con ricerca migliorata"
errors:
invalid_css_color: "Colore non valido. Immettere un nome o un valore esadecimale per il colore."

View File

@ -2073,7 +2073,6 @@ ja:
navigation_menu: "使用するナビゲーションメニューを決定します。サイドバーとヘッダーナビゲーションはユーザーがカスタマイズできます。下位互換性を得るには、レガシーオプションを使用できます。"
default_sidebar_categories: "選択されたカテゴリは、デフォルトでサイドバーのカテゴリセクションに表示されます。"
default_sidebar_tags: "選択されたタグは、デフォルトでサイドバーのタグセクションに表示されます。"
enable_new_user_profile_nav_groups: "実験的: 選択されたグループのユーザーは、新しいユーザープロファイルナビゲーションメニューに表示されます。"
enable_experimental_hashtag_autocomplete: "実験的: 選択した項目を異なる方法で表示し、改善された検索機能を備えた新しい #hashtag 自動補完システムをカテゴリとタグに使用します。"
errors:
invalid_css_color: "無効な色です。色名または 16 進数値を入力してください。"

View File

@ -2125,7 +2125,6 @@ nl:
navigation_menu: "Bepaal welk navigatiemenu u wilt gebruiken. Zijbalk- en kopnavigatie kunnen door gebruikers worden aangepast. Een legacyoptie is beschikbaar voor terugwaartse compatibiliteit."
default_sidebar_categories: "Geselecteerde categorieën worden standaard weergegeven onder de sectie Categorieën van de zijbalk."
default_sidebar_tags: "Geselecteerde tags worden standaard weergegeven onder de sectie Tags van de zijbalk."
enable_new_user_profile_nav_groups: "EXPERIMENTEEL: gebruikers van de geselecteerde groepen krijgen het nieuwe navigatiemenu voor gebruikersprofielen te zien"
enable_experimental_hashtag_autocomplete: "EXPERIMENTEEL: gebruik het nieuwe automatische #hashtag-aanvulsysteem voor categorieën en tags dat het geselecteerde item anders weergeeft en de zoekfunctie verbetert"
errors:
invalid_css_color: "Ongeldige kleur. Voer een kleurnaam of hexadecimale waarde in."

View File

@ -2209,7 +2209,6 @@ pl_PL:
navigation_menu: "Określ, którego menu nawigacyjnego użyć. Pasek boczny i nawigacja z nagłówka są konfigurowalne przez użytkowników. Opcja przestarzała jest dostępna dla kompatybilności wstecznej."
default_sidebar_categories: "Wybrane kategorie będą domyślnie wyświetlane w sekcji Kategorie paska bocznego."
default_sidebar_tags: "Wybrane tagi będą domyślnie wyświetlane w sekcji Tagi paska bocznego."
enable_new_user_profile_nav_groups: "EKSPERYMENTALNE: Użytkownikom wybranych grup zostanie wyświetlone nowe menu nawigacyjne profilu użytkownika"
enable_experimental_hashtag_autocomplete: "EKSPERYMENTALNIE: Użyj nowego systemu autouzupełniania #hashtagów dla kategorii i tagów, który inaczej renderuje wybrany element i usprawnia wyszukiwanie"
errors:
invalid_css_color: "Nieprawidłowy kolor. Wpisz nazwę koloru lub wartość szesnastkową."

View File

@ -2131,7 +2131,6 @@ pt_BR:
default_sidebar_categories: "As categorias selecionadas serão exibidas abaixo da seção de Categorias do Painel Lateral por padrão."
default_sidebar_tags: "As etiquetas selecionadas serão exibidas na seção de Etiquetas da barra lateral por padrão."
enable_new_notifications_menu: "Ativa o novo menu de notificações para o menu de navegação legado."
enable_new_user_profile_nav_groups: "EXPERIMENTAL: os usuários dos grupos selecionados verão o novo menu de navegação do perfil de usuário"
enable_experimental_hashtag_autocomplete: "EXPERIMENTAL: Use o novo sistema de complementação automática #hashtag para categorias e etiquetas que renderiza o item selecionado de maneira diferente e que tem melhorado a busca"
errors:
invalid_css_color: "Cor inválida. Digite o nome da cor ou valor hexadecimal."

View File

@ -2229,7 +2229,6 @@ ru:
navigation_menu: "Какое навигационное меню использовать. Навигация с боковой панелью и заголовком может настраиваться пользователями. Вариант «Старая версия» — для обратной совместимости."
default_sidebar_categories: "Выбранные категории по умолчанию будут отображаться в соответствующем разделе боковой панели."
default_sidebar_tags: "Выбранные теги по умолчанию будут отображаться в соответствующем разделе боковой панели."
enable_new_user_profile_nav_groups: "ЭКСПЕРИМЕНТАЛЬНО: для пользователей выбранных групп будет отображаться новое меню навигации профиля пользователя."
enable_experimental_hashtag_autocomplete: "ЭКСПЕРИМЕНТАЛЬНО: новая система автодополнения #хештегов для категорий и тегов, которая отображает выбранный элемент иначе и улучшает поиск"
errors:
invalid_css_color: "Недопустимый цвет. Введите название цвета или шестнадцатеричное значение."

View File

@ -2140,7 +2140,6 @@ sv:
default_sidebar_categories: "Valda kategorier kommer att visas under sidofältets sektion Kategorier som standard."
default_sidebar_tags: "Valda taggar kommer att visas under sidofältets sektion Taggar som standard."
enable_new_notifications_menu: "Aktiverar den nya aviseringsmenyn för den gamla navigeringsmenyn."
enable_new_user_profile_nav_groups: "EXPERIMENTELL: Användare i de valda grupperna visas den nya navigeringsmenyn för användarprofiler."
enable_experimental_hashtag_autocomplete: "EXPERIMENTELLT: Använd det nya #hashtag-autokompletteringssystemet för kategorier och taggar som renderar det valda objektet annorlunda och har förbättrad sökning"
errors:
invalid_css_color: "Ogiltig färg. Ange ett färgnamn eller ett hexvärde."

View File

@ -2118,7 +2118,6 @@ tr_TR:
navigation_menu: "Hangi gezinme menüsünün kullanılacağını belirleyin. Kenar çubuğu ve başlık gezinmesi, kullanıcılar tarafından özelleştirilebilir. Geriye dönük uyumluluk için eski seçenek mevcuttur."
default_sidebar_categories: "Seçilen kategoriler varsayılan olarak Kenar Çubuğunun Kategoriler bölümünde gösterilir."
default_sidebar_tags: "Seçilen etiketler varsayılan olarak Kenar Çubuğunun Etiketler bölümünde gösterilir."
enable_new_user_profile_nav_groups: "DENEYSEL: Seçilen grupların kullanıcılarına yeni kullanıcı profili gezinme menüsü gösterilir"
enable_experimental_hashtag_autocomplete: "DENEYSEL: Seçilen ögeyi farklı şekilde işleyen ve aramayı iyileştiren kategoriler ve etiketler için yeni #hashtag otomatik tamamlama sistemini kullanın"
errors:
invalid_css_color: "Geçersiz renk. Bir renk adı veya hex değeri girin."

View File

@ -2205,7 +2205,6 @@ uk:
splash_screen: "Показувати екран тимчасового завантаження під час завантаження ресурсів сайту"
default_sidebar_categories: "Вибрані розділи показуватимуться в секції «Розділи» бічної панелі."
default_sidebar_tags: "Вибрані теґи показуватимуться в секції Теґи бічної панелі."
enable_new_user_profile_nav_groups: "ЕКСПЕРИМЕНТАЛЬНИЙ: користувачам вибраних груп буде показано навігаційне меню нового профілю користувача"
errors:
invalid_css_color: "Недійсний колір. Введіть назву кольору або шістнадцяткове значення."
invalid_email: "Невірна адреса електронної пошти."

View File

@ -1372,7 +1372,6 @@ vi:
dashboard_visible_tabs: "Chọn tab bảng điều khiển nào được hiển thị."
dashboard_general_tab_activity_metrics: "Chọn các báo cáo sẽ được hiển thị dưới dạng chỉ số hoạt động trên tab chung."
suggest_weekends_in_date_pickers: "Bao gồm các ngày cuối tuần (Thứ Bảy và Chủ Nhật) trong đề xuất chọn ngày (tắt tính năng này nếu bạn chỉ sử dụng Discourse vào các ngày trong tuần, thứ Hai đến thứ Sáu)."
enable_new_user_profile_nav_groups: "THỬ NGHIỆM: Người dùng của các nhóm đã chọn sẽ được hiển thị menu điều hướng hồ sơ người dùng mới"
errors:
invalid_email: "Địa chỉ email sai"
invalid_username: "Không có thành viên với tên đăng nhập này"

View File

@ -2073,7 +2073,6 @@ zh_CN:
navigation_menu: "确定要使用的导航菜单。边栏和标题导航可由用户自定义。旧版选项用于向后兼容。"
default_sidebar_categories: "所选类别将默认显示在边栏的“类别”版块下。"
default_sidebar_tags: "所选标签将默认显示在边栏的“标签”版块下。"
enable_new_user_profile_nav_groups: "实验性:将向所选群组的用户显示新的用户个人资料导航菜单"
enable_experimental_hashtag_autocomplete: "实验性:对类别和标签使用新的 #hashtag 自动补全系统,以不同方式呈现所选条目,并改进了搜索"
errors:
invalid_css_color: "颜色无效。输入颜色名称或十六进制值。"

View File

@ -2064,13 +2064,6 @@ developer:
default: 20
client: true
hidden: true
enable_new_user_profile_nav_groups:
client: true
type: group_list
list_type: compact
default: ""
allow_any: false
refresh: true
include_associated_account_ids:
default: false
hidden: true

View File

@ -0,0 +1,11 @@
# frozen_string_literal: true
class RemoveEnableNewUserProfileNavGroupsSiteSettings < ActiveRecord::Migration[7.0]
def up
execute "DELETE FROM site_settings WHERE name = 'enable_new_user_profile_nav_groups'"
end
def down
raise ActiveRecord::IrreversibleMigration
end
end

View File

@ -251,28 +251,6 @@ RSpec.describe CurrentUserSerializer do
end
end
describe "#redesigned_user_page_nav_enabled" do
fab!(:group) { Fabricate(:group) }
fab!(:group2) { Fabricate(:group) }
it "is false when enable_new_user_profile_nav_groups site setting has not been set" do
expect(serializer.as_json[:redesigned_user_page_nav_enabled]).to eq(false)
end
it "is false if user does not belong to any of the configured groups in the enable_new_user_profile_nav_groups site setting" do
SiteSetting.enable_new_user_profile_nav_groups = "#{group.id}|#{group2.id}"
expect(serializer.as_json[:redesigned_user_page_nav_enabled]).to eq(false)
end
it "is true if user belongs one of the configured groups in the enable_new_user_profile_nav_groups site setting" do
SiteSetting.enable_new_user_profile_nav_groups = "#{group.id}|#{group2.id}"
group.add(user)
expect(serializer.as_json[:redesigned_user_page_nav_enabled]).to eq(true)
end
end
describe "#associated_account_ids" do
before do
UserAssociatedAccount.create(

View File

@ -9,15 +9,15 @@ module PageObjects
end
def find(selector)
page.find(".user-content-wrapper #{selector}")
page.find(".new-user-wrapper #{selector}")
end
def active_user_primary_navigation
find(".user-primary-navigation li a.active")
find(".user-navigation-primary li a.active")
end
def active_user_secondary_navigation
find(".user-secondary-navigation li a.active")
find(".user-navigation-secondary li a.active")
end
def has_warning_messages_path?(user)

View File

@ -1,15 +1,12 @@
# frozen_string_literal: true
describe "Redesigned user page navigation menu", type: :system, js: true do
describe "User page navigation menu", type: :system, js: true do
fab!(:user) { Fabricate(:user) }
let(:everyone_group) { Group[:everyone] }
let(:user_preferences_page) { PageObjects::Pages::UserPreferences.new }
describe "when visiting the user's preferences page with redesigned user page nav enabled" do
describe "when visiting the user's preferences page" do
it "should allow the user to scroll the horizontal navigation menu when window width is narrow" do
everyone_group.add(user)
SiteSetting.enable_new_user_profile_nav_groups = everyone_group.name
resize_window(width: 400) do
sign_in(user)