Языки и уведомления
Переключатель «Language / Язык» доступен на странице входа и в верхней панели приложения. Русский выбран по умолчанию. Выбор сохраняется в cookie на год и действует после входа, перехода между страницами и перезагрузки. Названия, заметки и документы пользователя сохраняются на исходном языке.
Колокольчик показывает число непрочитанных уведомлений. Нажмите его, чтобы посмотреть последние события, или откройте «Все уведомления» для полной истории. Можно отметить одно уведомление или все уведомления прочитанными. Состояние прочтения сохраняется в учётной записи. Клавиша Escape закрывает панель и возвращает фокус на колокольчик.
Изменения задач уведомляют остальных активных участников семьи. База проверяет сроки задач и этапов каждые 15 минут: предупреждает за три дня до срока и отдельно после просрочки. Повторная проверка не дублирует событие. Завершённые, приостановленные и удалённые записи исключаются. День определяется часовым поясом семьи.
Уведомления поступают внутри приложения через Supabase Realtime. Их тексты переводятся при просмотре, включая ранее полученные события. Письма используются для входа; рассылка уведомлений по email не включена.
Каталоги находятся в apps/web/messages/ru.json и en.json. Тесты проверяют
соответствие ключей, ICU-шаблоны и формы множественного числа. Новая подпись
должна появиться в обоих каталогах. Отсутствующий перевод вызывает ошибку.
Таблица notifications разрешает участнику читать только собственные события
и менять только отметку прочтения. Генерация выполняется триггером и заданием
foliovera-deadline-notifications; клиент не может создавать уведомления.