Скрыть значок замка

:information_source: Сводка Скрывает значок замка для защищённых категорий и каналов чата
:hammer_and_wrench: Репозиторий https://github.com/Lillinator/hide-lock-badge-icon
:question: Инструкция по установке Как установить тему или компонент темы

Установить этот компонент темы

Обзор

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

Некоторые пользователи считают значок замка вводящим в заблуждение, полагая, что он означает, что категория заблокирована и недоступна. В Discourse пользователь видит только то, к чему у него есть доступ, поэтому значок замка просто указывает на то, что категория ограничена для других. Кроме того, значок замка также используется для обозначения закрытой темы (этот компонент не скрывает такие значки). Таким образом, некоторые администраторы могут просто захотеть полностью скрыть значок замка у категорий, и именно это делает данный компонент.

Настройки

Существует одна настройка — опция для отображения значка замка для сотрудников, так как для них этот значок может быть полезным индикатором.

Скриншот

эффект компонента

Без включённого компонента:

С включённым компонентом:


Посмотрите другие мои материалы для Discourse
16 лайков

Отлично! Я несколько раз собирал подобные решения вручную на разных сайтах — здорово, что теперь это компонент темы с настраиваемыми параметрами. У вас настоящий талант создавать по-настоящему полезные кастомизации!!

Просто уточняю: можно ли использовать селектор категорий вместо указания каждого слайга и ID? Мне казалось, что это будет более надёжным решением для тех, кто, как я, иногда переименовывает или перемещает категории. Кроме того, это могло бы помочь в управлении подкатегориями.

Кстати, на данный момент как нам вводить подкатегории?

2 лайка

Спасибо, Нейтан! Я это ценю :slight_smile:

Значки замка на самом деле довольно сложно скрыть в некоторых местах, поэтому также требуется ID категории. Я пытаюсь понять, как сделать это и для результатов поиска, но выделить отдельные категории в результатах кажется почти невозможным. :upside_down_face:

2 лайка

Отличная мысль. Можно разделять слаг через косую черту, например category-slug/subcategory-slug (например: boats/motorboats;8), и просто использовать ID подкатегории. Однако подкатегория унаследует родительскую категорию, если вы скрываете значок замка там.

Я добавлю это в первое сообщение темы.

Да, я на самом деле начал разрабатывать именно так, но получал результаты, которые не соответствовали моим ожиданиям. Я продолжу работать над этим методом, так как он предпочтителен по причинам, которые вы описали. Спасибо за отличные отзывы, Натан, я ценю это. :slight_smile:

2 лайка

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

3 лайка

Отличный компонент темы, созданный в ответ на мой вопрос по другой теме здесь. Огромное спасибо за время, которое вы уделили, помогая нам, неспециалистам в CSS, эффективнее управлять нашими форумами.

2 лайка

Ох, спасибо за это. Я нахожу все эти иконки скорее отвлекающими, чем информативными — особенно потому, что они могут означать так много разных вещей в плане реального доступа.

1 лайк

Я обновил этот компонент со следующими изменениями:

  • настройка для переключения отображения иконок замка для сотрудников;
  • если поле «Категории» оставить пустым, по умолчанию иконка замка скрывается для всех защищённых категорий;
  • теперь иконка замка скрывается в результатах поиска и в панели меню поиска;
  • иконка замка скрыта в модальном окне селектора категорий в боковом меню навигации.

4 лайка

Отлично!!! Мне очень нравится расширение панели навигации и поиска.

У тебя были какие-то новые мысли насчет того, чтобы сделать это селектором категорий? На мой неопытный взгляд, и слаг, и ID должны быть относительно простыми для получения из объекта категории.

1 лайк

Хех, да, я немного поработал над этим и почти добился результата, но у меня возникли проблемы с JavaScript при попытке получить слаг категории по её ID. Я знаю, что это возможно, какие методы из существующей библиотеки нужно использовать и какова базовая структура, мне просто нужно уделить этому ещё немного времени и отладить. Я добился того, что могу получить большую часть данных через селектор категорий, но в некоторых местах требуется именно слаг. Уверен, что кто-то более опытный в JavaScript справился бы с этим быстрее. LolaBot (GPT) вообще не помог и постоянно создавал какие-то неясные массивы из ниоткуда. lol

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

3 лайка

:clinking_glasses:

Ещё одна просьба о добавлении функции

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

Я считаю, что для категорий и подкатегорий в Discourse больше подходит :unlock:. Иконка :lock: кажется гораздо более подходящей для закрытых тем.

Кстати, это уже точно попадает под «правило трёх» (включая вас!). И любовь со стороны со-генерального директора:

Это возможно, и я экспериментировал с этим, когда работал над компонентом. Когда я заменил его на разблокированный замок, разница во внешнем виде была не так заметна, потому что иконки такие маленькие (заблокированный и разблокированный варианты не сильно отличаются в таком размере). Возможно, я вернусь к этому вопросу. Честно говоря, даже ключ не выглядел хорошо в таком размере.

2 лайка

Думаю, компонент темы Category Icons уже имеет эту функцию, если это может быть полезно?

4 лайка

В прошлый раз, когда я смотрел, это не работало в боковой панели — это, вероятно, было исправлено очень давно! Но сейчас всё работает отлично — спасибо!

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

1 лайк

Вы были бы не против добавить совместимость с этим отличным (но неофициальным) компонентом темы?

Или, может быть, стоит поступить наоборот и сделать его совместимым с этим. Что вы думаете по этому поводу?

2 лайка

Буду рад, если кто-нибудь создаст pull request с этим? Выглядит как полезное дополнение.

2 лайка

Я открыт к любым решениям. Сейчас у меня нет времени работать над этим, но я знаю, что у нас есть общий план сделать компонент значка скрытой блокировки официальным, мы просто ещё не дошли до этого. Также я хочу немного улучшить его — особенно настройка категории, которая недостаточно интуитивна; мне очень не нравятся такие поля ввода разделённого текста с разделителями. Вероятно, учитывая некоторые наши основные изменения, код стоит немного обновить и освежить. Не стесняйтесь форкнуть и экспериментировать! PR всегда приветствуются. Думаю, это был один из первых компонентов темы, которые я создал.

2 лайка

Я заметил небольшую ошибку в этом:

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

2 лайка

Вот соответствующий PR:

1 лайк

Объединено. Спасибо, Нейтан! :hugs:

1 лайк