Модальное окно предпросмотра темы

Да, я думаю, это потому, что iPad не считается мобильным устройством в Discourse. Я изменил определение на основе ширины окна просмотра. Можешь попробовать ещё раз?

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

Лично мне… для меня этого вполне достаточно. К тому же планшеты, особенно iPad, занимают довольно скромную долю среди устройств, поэтому я не уверен, что стоит тратить слишком много времени на их подгонку — даже планшеты по сути являются мобильными устройствами, а «десктопный» стиль они несут только благодаря размеру.

1 лайк

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

Таким образом, варианты None/Grip/Gesture изменяют поведение только на мобильных экранах. Пользователи на десктопе по-прежнему будут использовать стандартное поведение модального окна (кнопка X или клик вне окна).

Десктопное модальное окно (свайп не будет работать)

Мобильное модальное окно (свайп должен работать)

Небольшое дополнение :blush:

Буду очень признателен, если ещё несколько людей протестируют это на своих телефонах. Спасибо!

1 лайк

iPhone 15+, последняя версия iOS, хаб/PWA/Safari:

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

Спасибо, @Jagster. Хочу уточнить: когда вы используете жест свайпа назад, пока открыто модальное окно предпросмотра темы, оно закрывается и вы остаётесь в списке тем, или происходит возврат на предыдущую страницу?

Могу подтвердить, что жест назад и свайп вверх/вниз работают на Android 17 (AOSP) :raised_fist:

Небольшая деталь: анимация немного «рваная»/медленная.

1 лайк

Спасибо за тестирование! :raising_hands:

Когда вы говорите, что анимация немного «дёргается» или работает медленно, вы имеете в виду анимацию закрытия жестом вверх?

Именно, остальные анимации очень плавные! В кайф тестировать ваши творения, босс.

1 лайк

Спасибо, я это исправил! Пожалуйста, проверьте ещё раз. :slightly_smiling_face:

1 лайк

Не могу дождаться, чтобы вернуться и протестировать это. Очень жду, лол

2 лайка

Класс, спасибо тебе! Жесты свайпа вниз и назад стали работать лучше — теперь они просто супер плавные.

Честно говоря, свайп вверх, кажется, всё ещё работает как раньше. Это мелочь, но, как ты понимаешь, устройства бывают разные. К слову, это на Android 17, если тебе важно.

1 лайк

Ах, спасибо! Не могли бы вы сделать быструю видеозапись жеста свайпа вверх для закрытия? Мне хотелось бы увидеть, где именно анимация ощущается некорректно. На моём устройстве с Android 16 всё работает плавно.

2 лайка

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

1 лайк

Сafari в iOS 27 — это просто отлично! Спасибо за вашу работу! :heart:

1 лайк

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

Спасибо всем за тестирование! :heart:

Я объединил(а) этот PR: FEATURE: Add configurable mobile modal dismiss gestures - Pull Request #7 - VaperinaDEV/discourse-topic-preview-modal - GitHub


Настраиваемые жесты закрытия на мобильных

Это обновление добавляет настраиваемые варианты закрытия для модального окна предпросмотра темы:

  • None (Нет): без дополнительных жестов закрытия
  • Grip (Ручка): отображает визуальную ручку в нижнем колонтитуле модального окна
  • Gesture (Жест): позволяет закрыть модальное окно жестами:
    • свайп вверх, когда вы внизу
    • нативный жест или кнопка «Назад» на мобильных устройствах

Закрытие свайпом вниз доступно во всех режимах.


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

На модальное окно для десктопа эти параметры не влияют.


Если вам это полезно, рассмотрите возможность поддержки дальнейшего развития проекта. :heart:
> ./support --coffee

2 лайка

Я также добавил необязательную тактильную обратную связь для модального окна предпросмотра темы: FEATURE: Add haptic feedback to modal open and close - Pull Request #8 - VaperinaDEV/discourse-topic-preview-modal - GitHub

Если эта функция включена, поддерживаемые устройства на Android будут обеспечивать:

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

Обратную связь можно включить или отключить с помощью нового параметра Тактильная обратная связь (modal_haptic_feedback).

По умолчанию она включена.

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

1 лайк

Привет :waving_hand:

Я добавил одну отсутствующую функцию: FEATURE: Add topic progress bar (timeline) - Pull Request #9 - VaperinaDEV/discourse-topic-preview-modal - GitHub

> ./support --coffee :heart:

1 лайк