Справочник карточек пользователей

Дорогой Дэвид, я обнаружил проблему:

когда я выбираю группу и прокручиваю колёсико мыши для загрузки большего количества пользователей, загружаются все пользователи сразу, а не только участники выбранной группы.

Можешь, пожалуйста, посмотреть на это?

3 лайка

Спасибо за ещё один отличный компонент :heart_eyes:

В новом параметре «Тёмный режим» обнаружена небольшая ошибка:

Тёмная тема:

Светлая тема с включённой автоматической цветовой схемой тёмного режима:

И просьба: можно ли добавить в этот компонент два параметра для

  • выбора временного диапазона по умолчанию
  • выбора типа сортировки по умолчанию и порядка сортировки

Я хотел бы отображать пользователей, которые были самыми активными читателями за последний год, в верхней части списка, установив временной диапазон по умолчанию в «Год» и сортировку по убыванию по параметру «Прочитано».

Можно ли это легко реализовать?

3 лайка

Привет, @david! Этот компонент темы продолжает приносить пользу нашему Discourse, но недавно известная ошибка/особенность вызвала у нас серьёзную путаницу и неудобства.

Известная ошибка/особенность: Авторизованный пользователь всегда возвращается в результатах, даже если он не соответствует условию фильтра.

В приведённом ниже случае мой пользователь не входит в группу ruby, но я всё равно отображаюсь.

Что можно сделать в рамках изменения темы, чтобы пользователь, просматривающий каталог, не видел себя в результатах, где он не должен появляться?

Огромное спасибо за то, что разбираетесь, как мы можем помочь изменить это поведение. Мы используем хостинг на базе Discourse.

3 лайка

Отлично подмечено, @alxpck. Я могу воспроизвести это на версии 2.6.0.beta5.

2 лайка

Мысли @david или @tobiaseigen о том, что здесь возможно?

2 лайка

Привет, @alxpck, извините за задержку с ответом!

Это связано с основным поведением «каталога пользователей» — вы можете увидеть это, открыв /u здесь на Meta и попробовав отфильтровать по имени пользователя. Текущий пользователь всегда будет отображаться в списке, независимо от выбранного фильтра. Например:

Но вы правы: при фильтрации по группам это становится очень запутанным. Если кто-то намеренно применяет такой фильтр, скорее всего, он не хочет видеть себя в списке (если только он не соответствует фильтру).

Я открыл PR в ядре для обсуждения: UX: Do not include current user in group-filtered directory results by davidtaylorhq · Pull Request #11310 · discourse/discourse · GitHub

Посмотрим, как всё сложится — если мы решим не вносить это изменение в ядро, мы можем рассмотреть обходной путь для этого компонента темы.

7 лайков

Огромное спасибо, @david. Я очень ценю, что вы рассматриваете это с точки зрения как ядра Discourse, так и темы User Card Directory.

В любом случае, мы понимаем, что внесение изменений будет чрезвычайно ценным для нашего сообщества.

Никаких проблем из-за задержки — 2020 год, верно?

4 лайка

Да, особенно если это группа подписчиков, используемая плагином Subscriptions.

3 лайка

Я объединил изменения от @david… ваши сайты получат их в течение следующей недели или около того.

Единственный открытый вопрос — решение о том, как вести себя с опцией «всегда показывать мне», если я захожу в каталог и не применяю никаких фильтров.

Вам всё ещё интересна функция «никогда не показывать себя первым при посещении страницы /u (даже без фильтра)»? Мы могли бы как-то обойти это в компоненте.

6 лайков

Отлично! Спасибо @sam, @david и команде!

Касательно «всегда показывать мне»:

  • Понятно, что логично всегда prominently показывать профиль самого пользователя на странице по умолчанию /u, которая представляет собой своего рода лидерборд, основанный на статистике. Так пользователю легче сравнивать себя с другими участниками на Discourse.
  • Однако для наших целей, связанных с каталогом карточек пользователей, страница предназначена не для сравнения, а для поиска. Пользователям не нужно искать свой собственный профиль, поэтому заполнение одного из верхних слотов их личной информацией не полезно и не является оптимальным использованием места. Если они всё же захотят найти свой профиль, мы научили их переходить на /my/summary или нажимать на своё фото.

Я не могу говорить обо всех остальных случаях использования на других платформах Discourse, но для наших нужд мы определённо предпочли бы возможность избежать показа пользователям их собственного профиля (с фильтром или без него).

4 лайка

Я не могу говорить за других и не слышал особых жалоб на каталог пользователей, но лично я тоже не использую его как таблицу лидеров и предпочитаю его в основном для поиска.

Может быть, стоит добавить переключатель, чтобы его можно было скрыть?

3 лайка

Возможно, нужно обратиться к @codinghorror, чтобы уточнить, хочет ли он включить это в базовые настройки сайта или это должно быть частью темы. Эта проблема возникала 2–3 раза за последние годы.

Как минимум, мы можем изменить ядро таким образом, чтобы компонент темы мог это исправить.

5 лайков

Я не уверен, что «сетка карточек» — это что-то специфичное для конкретного сайта. Думаю, имеет смысл сделать это настройкой сайта? У меня нет сильного мнения по этому поводу, но мне кажется, что в качестве значения по умолчанию это не совсем логично.

4 лайка

Вот PR, который добавляет в компонент темы настройку «скрыть текущего пользователя». Если она включена, текущий пользователь всегда будет скрыт от просмотра

4 лайка

А как насчет случая, когда вы действительно хотите увидеть текущего пользователя? Например, вы искали себя… вы находитесь на вершине таблицы лидеров и так далее?

Вероятно, для @alxpck этого достаточно, но я просто размышляю вслух.

3 лайка

Это безоговорочно скрывает текущего пользователя, и это настройка темы, отключённая по умолчанию. Считаете ли вы это приемлемым для макета карточки пользователя? Но для таблицы лидеров это точно не подойдёт.

3 лайка

Спасибо!

Это отличное улучшение.

Мы бы предпочли более детальную настройку, которую упомянул @sam (случаи, когда вы действительно хотите видеть текущего пользователя), но именно проблема с исключением людей из поиска, если они не соответствуют критериям фильтра, привела нас сюда — поэтому я очень благодарен за возможность в настройках темы скрывать текущего пользователя.

3 лайка

Я вижу, что карточки некоторых из моих пользователей отображаются несколько раз… например, “andy1” и “blane” и другие на этой странице:

https://forum.moversmindset.com/u

обновление: Происходит что-то странное. Я видел это в Cognito в Chrome, но при входе в систему через Safari дубликаты не отображаются. Это будет сложно отследить…

3 лайка

Привет, Крейг, спасибо за отчет. Похоже, проблема в ядре Discourse — она возникает даже при отключенном компоненте карточек пользователей.

Суть проблемы в том, что у всех ваших пользователей сейчас значения метрик равны ‘0’, а наша сортировка была некорректной. Я открыл PR для исправления этой проблемы и разверну его на вашем сайте после слияния. Технические детали можно найти в PR, если вам интересно:

5 лайков

Это исправлено, и я развернул основное изменение на вашем сайте @craigconstantine. Дайте знать, если вы всё ещё сталкиваетесь с проблемами.

Это исправлено, извините за долгое ожидание! Обновите компонент темы в вашей панели администратора, и всё должно корректно отображаться в светлой/тёмной теме.

6 лайков