Можно ли добавить возможность для пользователей выбирать предпочитаемый вид по умолчанию с помощью меню навигации? Это была бы опция, выбираемая пользователем, на экране Профиль: Настройки: Интерфейс.
Она работала бы как опция «Страница по умолчанию», но называлась бы «Навигация по умолчанию». Варианты: боковая панель слева и выпадающее меню в заголовке.
Ну, вы всё ещё описываете функцию. Но в чём польза? Кто её недополучает и какую проблему создаёт её отсутствие? Кроме чистой возможности выбора. Но ПОЧЕМУ?
Да, ваш первый вопрос касался вариантов использования — это вопрос «что». Вопрос «почему» — это обоснование варианта использования. (Вопрос «как» раскрывается в документации по дизайну.)
Существует несколько причин «почему»:
У нас есть частичная реализация пользовательского интерфейса, определяемая пользователем. В Discourse доступны две крупные настройки интерфейса: главная страница по умолчанию и выпадающее меню левой навигации/заголовка. В Discourse уже реализована возможность выбора пользователем интерфейса главной страницы с переопределением глобального значения по умолчанию. Чтобы обеспечить пользователю полную настройку интерфейса, пользователь должен иметь возможность выбрать предпочтительный вариант для выпадающего меню левой навигации/заголовка.
Пользователи просят об этом. Пользователи привыкли к выпадающему меню в заголовке в других средах Discourse. Эта функция является тем, к чему они привыкли в среде Discourse. Такое разнообразие вариантов создает проблемы с удобством использования и неприветливостью между различными средами Discourse, где реализована опция выпадающего меню в заголовке как глобальная настройка. Последнее, чего хочет любая организация, — это трения в удобстве использования. Эта функция позволяет пользователям переключаться на то, что им удобно, во всех взаимодействиях с Discourse — независимо от веб-сайта.
Это два основных аргумента, которые сразу приходят в голову. Уверен, есть и другие.
Сегодня вы можете переключаться между левым меню и выпадающим списком в заголовке, изменив глобальную настройку сайта в реальном времени. Это указывает на наличие переключателя (оператор if или аналогичный), который оценивает глобальную настройку сайта и настраивает интерфейс. Поскольку этот переключатель принимает решение на основе глобальной настройки сайта, добавление пользовательской настройки сайта означает реализацию логики «или» в этом переключателе.
ЕСЛИ (глобальная настройка сайта ИЛИ пользовательская настройка сайта), то … иначе …
Если бы переключение между левым меню и выпадающим списком в заголовке требовало повторной компиляции для внесения изменений, то это была бы совсем другая история…