Skip to content

Conversation

@EldarMuhamethanov
Copy link
Contributor


  • Unit-тесты
  • Документация фичи
  • Release notes

Описание

Проблема

Сейчас тултипы на мобильных устройствах работают не очень правильно. Появляются при первом клике на тултип, закрываются при втором клике. И чтобы открыть его снова нужно сначала нажать в другое место. Это происходит потому, что на мобильном устройстве тултип реагирует на фокус в таргет-элемент

Решение

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

Изменения

  • Реализовал хук useLongpress, который реализует логику вызова колбэка при долгом нажатия.
  • Реализовал хук useMatchMedia и useHoverSupported для того, чтобы определять, что устройство, где открыто приложение не имеет ховера
  • Добавил для Popover, Tooltip дополнительный trigger - "longpress", а также свойство longpressDelay, которое позволяет изменить время нажатия.
  • Добавил для Tooltip логику, что при отстутсвии ховера на устройстве тригером становился longpress

Release notes

Улучшения

  • Popover: Добавлен новый тригер для открытия всплывающего элемент - longpress
  • Tooltip: Теперь тултипы на мобильных устройствах будут открываться при долгом нажатии на якорный элемент

@EldarMuhamethanov EldarMuhamethanov requested a review from a team as a code owner November 20, 2025 09:06
@github-actions
Copy link
Contributor

github-actions bot commented Nov 20, 2025

e2e tests

Playwright Report

@github-actions
Copy link
Contributor

github-actions bot commented Nov 20, 2025

📊 Найдены изменения в собранных файлах: Отчет

Commit de26ab1

@github-actions
Copy link
Contributor

github-actions bot commented Nov 20, 2025

👀 Docs deployed

📦 Package ✅

yarn add @vkontakte/vkui@https://development.s3.prodcloud.vk.team/pull/9191/de26ab1222f70fb7330dee6fa9b069e15e17b633/pkg/@vkontakte/vkui/_pkg.tgz

Commit de26ab1

@codecov
Copy link

codecov bot commented Nov 20, 2025

Codecov Report

❌ Patch coverage is 72.34043% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 94.76%. Comparing base (c55d7cb) to head (de26ab1).
⚠️ Report is 142 commits behind head on master.

Files with missing lines Patch % Lines
...ingWithInteractions/useFloatingWithInteractions.ts 63.41% 15 Missing ⚠️
packages/vkui/src/hooks/useMediaQuery.ts 0.00% 14 Missing ⚠️
packages/vkui/src/hooks/useHoverSupported.ts 0.00% 3 Missing ⚠️
...eFloatingWithInteractions/useResolveTriggerType.ts 0.00% 3 Missing ⚠️
...ackages/vkui/src/components/Tooltip/useTooltip.tsx 66.66% 2 Missing ⚠️
packages/vkui/src/hooks/useLongPress.ts 96.66% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9191      +/-   ##
==========================================
- Coverage   95.02%   94.76%   -0.27%     
==========================================
  Files         419      423       +4     
  Lines       11183    11306     +123     
  Branches     4210     4238      +28     
==========================================
+ Hits        10627    10714      +87     
- Misses        556      592      +36     
Flag Coverage Δ
unittests 94.76% <72.34%> (-0.27%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

size-limit report 📦

Path Size
JS 428.4 KB (+0.54% 🔺)
JS (gzip) 129.71 KB (+0.52% 🔺)
JS (brotli) 106.11 KB (+0.53% 🔺)
JS import Div (tree shaking) 1.67 KB (0%)
CSS 370.5 KB (0%)
CSS (gzip) 45.84 KB (0%)
CSS (brotli) 36.32 KB (0%)

@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Nov 28, 2025
@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Dec 7, 2025
@vkcom-publisher vkcom-publisher added pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности and removed pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности labels Dec 17, 2025
@vkcom-publisher vkcom-publisher added the pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности label Dec 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-needs-work Автоматизация: PR автоматически закроется через 14 дней при отсутствии активности

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature][Tooltip]: доработать поведение тултипа на мобильных устройствах

4 participants