feat(pwa): предложение включить уведомления после установки
Карточка появляется в установленном приложении (и сразу по событию appinstalled), объясняет пользу — новый штраф, дошедшее пополнение — и только по кнопке вызывает системное окно. Порядок именно такой, потому что системное окно показывается ОДИН раз за установку: отказ браузер запоминает навсегда, и переспросить нечем. Своё предложение отказа не стоит — «не сейчас» откладывает разговор на неделю. Во вкладке браузера карточку не показываем: на iPhone уведомления существуют только в установленном приложении, а человеку, ещё не решившему, нужен ли ему сайт, вопрос про уведомления мешает. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,11 @@ export type PushState =
|
||||
| "off" // можно включить
|
||||
| "on"; // подписка есть
|
||||
|
||||
/** Приложение открыто как установленное (с домашнего экрана), а не вкладкой. */
|
||||
export function installed(): boolean {
|
||||
return isStandalone();
|
||||
}
|
||||
|
||||
function isStandalone(): boolean {
|
||||
return window.matchMedia("(display-mode: standalone)").matches ||
|
||||
// iOS до 17 не поддерживает display-mode: standalone в matchMedia
|
||||
|
||||
Reference in New Issue
Block a user