Кнопка «Загрузить ещё»

:information_source: Сводка Добавляет кнопку «Загрузить ещё», которую нужно нажать, чтобы загрузить больше тем / сообщений / пользователей / групп / чего угодно
:eyeglasses: Предпросмотр https://discourse.theme-creator.io/theme/RGJ/load-more-button
:hammer_and_wrench: Репозиторий GitHub - communiteq/discourse-tc-load-more-button · GitHub
:question: Руководство по установке Как установить тему или компонент темы
:open_book: Новичок в темах Discourse? Начинающее руководство по использованию тем Discourse

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

Добавляет кнопку «Загрузить ещё», чтобы гарантировать, что Discourse не будет квалифицироваться как «ОТОБРАЖАЕТ ДОПОЛНИТЕЛЬНЫЕ МЕДИА-МАТЕРИАЛЫ ВНИЗУ ТАКОЙ ЛЕНТЫ ИЛИ ЦЕЛЕВОЙ СТРАНИЦЫ БЕЗ ЛЮБОГО РУЧНОГО ВВОДА ОТ ПОКРЫТОГО ПОЛЬЗОВАТЕЛЯ».

Контекст здесь: Time to reconsider infinite scroll?

Список тем

Просмотр темы

Каталог пользователей

Подробное описание…

10 лайков

ха-ха, круто! я тоже думал попробовать это — планировал разместить кнопку в боковой панели или сделать её плавающей. отличная работа :clap:

7 лайков


На мобильном устройстве кнопка неудобно расположена для большого пальца правой руки :slight_smile:

Было бы лучше, если бы она была отцентрирована.

7 лайков

Для центрирования на мобильных устройствах:

@use "lib/viewport";

@include viewport.until(md) {

  .load-more-btn.btn.btn-primary {
    display: block;
    margin: 0 auto;   
  }
}
5 лайков

Это очень приятно — спасибо! У меня есть сообщение об ошибке, которая явно проявляется на моём сайте Discourse:

Этот сайт довольно небольшой, и большая часть контента скрыта до входа в систему как студент. Поэтому на главной странице отображается всего пять сообщений. Тем не менее, кнопка «Загрузить ещё» появляется, хотя её быть не должно. Если нажать на неё, она исчезает. Если немного прокрутить вверх, а затем снова вниз, она появляется снова.

На страницах тем всё работает отлично. Вам придётся поверить мне на слово, так как они скрыты от публичного просмотра.

Конечно, я понимаю, что вы сделали это в своё свободное время, но я подумал, что стоит сообщить вам об этом. И ещё раз спасибо!

6 лайков

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

Спасибо, объединено!

7 лайков

Это довольно интересно, вопрос: это влияет на Core Web Vitals? Это почти как компромисс для пагинации. Мне нравится давать пользователю возможность загружать больше, уменьшая зависимость от прокрутки DOM, и при этом, полагаю, это немного снижает задержку при загрузке. Или я ошибаюсь?

Единственное, что он делает, — это вставляет кнопку в поток. Не вижу, как это снижает основные показатели веб-жизненного цикла или задержку загрузки (он ничего не предзагружает). Кроме того, он по-прежнему использует IntersectionObserver, чтобы определить, когда и где должна появиться кнопка, поэтому всё ещё зависит от прокрутки DOM.

6 лайков

Разве они не могли бы использовать CSS, чтобы скрыть кнопку на главной странице для незарегистрированных пользователей? Для их случая использования?

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

Отличный компонент для обсуждения бесконечной прокрутки как решения проблемы.

1 лайк

У меня есть форк компонента, который уже это делает, но это крайний случай, если mcmcclur захочет. Этот компонент довольно хаковатый, как и сказал RGJ.

2 лайка

Круто.

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

Этот компонент напоминает старый “|more” из дней DOS, когда использовался type для отображения текстового файла.

1 лайк