Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

namaz-vakit — Намаз PWA + Windows виджет

CI

PWA-приложение + виджет Windows: время намаза, обратный отсчёт, уведомления, компас Киблы, уроки 5 намазов, 99 имён Аллаха с режимом заучивания и офлайн-расчётом.

Скриншоты

Виджет в трее Квиз / Заучивание
taskbar quiz

Возможности

  • ⏰ Время намаза через Aladhan API + авто-GPS + ручной ввод lat/lon, выбор метода (2=MWL, 14=РФ, 3=Egypt) и мазхаба (Ханафи/Шафии)
  • ⏳ Обратный отсчёт ЧЧ:ММ:СС до следующего намаза, подсветка в списке
  • 🔔 Уведомления: за 10 мин — «Подготовка к молитве», в 00:00 — «Время намаза», дедупликация localStorage, тест-кнопки, звук AudioContext
  • 🧭 Компас Киблы: азимут + дистанция до Каабы (21.422487, 39.826206), круглый компас N/S/E/W, DeviceOrientation + fallback слайдер 0-360°, вывод qibla°/heading°/delta°/км + «✅ На Кибле», если delta<8°
  • 📖 Уроки: Вуду по шагам, Фаджр 2, Зухр 4, Аср 4, Магриб 3, Иша 4 + тексты: Фатиха, Ихлас, Ташаххуд, Салават + speak() ar-SA
  • ☝️ 99 имён Аллаха: имя дня (1 имя/сутки по циклу), зикр 99 раз с прогресс-баром, режим заучивания (арабский → 4 варианта перевода, счёт сессии)
  • 🌙 Утреннее уведомление: BalloonTip с именем дня при первом запуске виджета
  • 📴 Офлайн-расчёт: при недоступности API виджет считает время методом Egypt (Fajr 19.5°, Isha 17.5°), Ханафи, погрешность ≤2 мин
  • 📦 PWA: manifest.json, Service Worker cache-first, иконки 192/512 (полумесяц), установка: Android → ⋮ → Установить, iPhone → Поделиться → На экран Домой

Установка

Windows — виджет в трее (автозапуск)

  1. Один клик — запуск скрипта установки:

    Install.bat

    Или вручную:

    • Разместите C:\dev\namaz-app\NamazWidget.ps1 и Start-NamazWidget.vbs на компьютере
    • Start-NamazWidget.vbs создаст ярлык в меню «Автозагрузка» Windows и на рабочий стол
    • При каждом включении ноутбука виджет появится рядом с часами на панели задач
    • Плашка фиксирована: перетаскивание отключено, она сама возвращается рядом с погодой каждые 250 мс
    • Двойной клик — открыть полное приложение в браузере
    • Правый клик → «Скрыть панель» / «Показать панель»
  2. Удаление:

    Uninstall.bat

    Удалит ярлыки из автозагрузки и с рабочего стола, завершит процессы.

На телефон (PWA — без Play Market)

  • Android Chrome: открой https://remageht.github.io/namaz-vakit/ → меню ⋮ → Установить приложение
  • iPhone Safari: открой ссылку → Поделиться → На экран «Домой»

Локальный запуск (для разработки)

Для тестирования локально необходим HTTP-сервер (Service Worker не работает при file:///):

# Вариант 1: через npx serve
npx serve C:\dev\namaz-app

# Вариант 2: через Python
python -m http.server 8000

# Откройте в браузере:
http://localhost:8000

Настройка координат и метода

По умолчанию заданы координаты Саки (Крым): lat=45.1342, lon=33.60, метод=3 (Egypt), школа=1 (Ханафи). Чтобы сменить место — отредактируйте config.json:

{
  "latitude": 55.75,
  "longitude": 37.61,
  "method": 2,
  "school": 1,
  "place": "Москва"
}

Важно: ключи config.json не переименовывать — они используются как виджетом, так и приложением.

Развертывание на GitHub Pages

  1. Залить файлы в репозиторий
  2. Settings → Pages → Deploy from branch → main → / (root) → Save
  3. Сайт доступен по ссылке: https://remageht.github.io/namaz-vakit/
  4. Откройте её на телефоне — баннер установки появится автоматически (нужен HTTPS, который GitHub Pages дает бесплатно)

Структура репозитория

Файл Описание
index.html Главная страница: табы Время / Кибла / Намаз / Имена / Настройки, вся логика
manifest.json Конфигурация PWA: name/short_name Намаз, standalone, #06281f, иконки 192/512
sw.js Service Worker: Cache-First, кэш namaz-v1, skipWaiting(), clients.claim()
icon-192.png Иконка 192×192 px (золотой полумесяц)
icon-512.png Иконка 512×512 px
NamazWidget.ps1 Виджет Windows (трей + мини-панель + офлайн-расчёт + 99 имён)
Start-NamazWidget.vbs VBS-скрипт для автозапуска в меню «Автозагрузка»
Install.bat Быстрая установка виджета в автозагрузку + desktop shortcut
Uninstall.bat Полное удаление ярлыков и процессов
config.json Координаты/метод/школа (Саки по умолчанию)
screenshots/ Скриншоты виджета и PWA
.gitignore Игнорирует .agent/, widget.log, names_start.txt и node_modules/

CI

GitHub Actions (.github/workflows/validate.yml) при каждом push:

  • ✅ Проверяет синтаксис NamazWidget.ps1 через PSParser
  • ✅ Проверяет manifest.json (name, short_name, display)
  • ✅ Проверяет наличие всех обязательных файлов

Публикация

git add index.html manifest.json sw.js icon-*.png README.md .gitignore NamazWidget.ps1 screenshots/ .github/
git commit -m "feat: описание изменений"
git push origin main

Лицензия

MIT License — бесплатное использование, модификация и распространение.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages