From 6804ca5cdbf5192333393b69fdcdcdd5548d5167 Mon Sep 17 00:00:00 2001 From: Zakhar Timoshenko Date: Tue, 15 Sep 2026 22:11:10 +0300 Subject: [PATCH] feat: add AppLayout, BrandLogo, ProfileMenu, and RouteBadge components - Implemented AppLayout component for application shell with navigation and sidebar. - Created BrandLogo component to display the application logo. - Developed ProfileMenu component for user profile management with dropdown functionality. - Added RouteBadge component to visually represent route numbers with color coding. style: add CSS styles for Dashboard and Routes pages - Introduced Dashboard.css for styling the dashboard layout and components. - Created RoutesPage.css for styling the routes page, including filters and table layout. - Added SchedulesPage.css for styling the schedules layout and route options. --- .env.example | 8 +- .gitignore | 3 + .../src/services/alertNotificationService.js | 25 +- backend/test/alertNotificationService.test.js | 31 +- docker-compose.yml | 3 +- docs/fcm-alert-notifications.md | 83 +- frontend/src/App.jsx | 227 +----- frontend/src/assets/dashboard-background.png | Bin 0 -> 124384 bytes frontend/src/assets/logo-with-text.svg | 26 + frontend/src/components/AppLayout.jsx | 82 ++ frontend/src/components/BrandLogo.jsx | 5 + frontend/src/components/ProfileMenu.jsx | 117 +++ frontend/src/components/RouteBadge.jsx | 7 + frontend/src/index.css | 101 ++- frontend/src/pages/Dashboard.css | 97 +++ frontend/src/pages/Dashboard.jsx | 720 +++++------------- frontend/src/pages/LoginPage.jsx | 27 +- frontend/src/pages/RouteEditorPage.jsx | 20 +- frontend/src/pages/RoutesPage.css | 59 ++ frontend/src/pages/RoutesPage.jsx | 542 ++++--------- frontend/src/pages/SchedulesPage.css | 19 + frontend/src/pages/SchedulesPage.jsx | 134 ++-- frontend/tailwind.config.js | 12 +- 23 files changed, 999 insertions(+), 1349 deletions(-) create mode 100644 frontend/src/assets/dashboard-background.png create mode 100644 frontend/src/assets/logo-with-text.svg create mode 100644 frontend/src/components/AppLayout.jsx create mode 100644 frontend/src/components/BrandLogo.jsx create mode 100644 frontend/src/components/ProfileMenu.jsx create mode 100644 frontend/src/components/RouteBadge.jsx create mode 100644 frontend/src/pages/Dashboard.css create mode 100644 frontend/src/pages/RoutesPage.css create mode 100644 frontend/src/pages/SchedulesPage.css diff --git a/.env.example b/.env.example index 075c1d5..b91993a 100644 --- a/.env.example +++ b/.env.example @@ -17,9 +17,11 @@ FCM_ENABLED=false FCM_TOPIC=route_alerts FCM_ANDROID_CHANNEL_ID=route_alerts FIREBASE_PROJECT_ID= -# Standard Application Default Credentials path. Store the JSON file outside -# the repository and leave this empty while FCM_ENABLED=false. -GOOGLE_APPLICATION_CREDENTIALS= +# Directory on the Docker host (VM/LXC inside Proxmox), mounted read-only. +FIREBASE_SECRETS_DIR=/opt/polotsk-transit/secrets +# Path inside the backend container. For a direct Node.js launch, replace it +# with the absolute host path to the JSON file. +GOOGLE_APPLICATION_CREDENTIALS=/run/secrets/firebase-service-account.json # Bootstrap admin BOOTSTRAP_ADMIN=true diff --git a/.gitignore b/.gitignore index 0624a34..ea7eef0 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,9 @@ redis_data/ # SSL certificates nginx/ssl/ +# Runtime secrets +secrets/ + # Temp files *.tmp .cache/ diff --git a/backend/src/services/alertNotificationService.js b/backend/src/services/alertNotificationService.js index 5b14f8a..b482904 100644 --- a/backend/src/services/alertNotificationService.js +++ b/backend/src/services/alertNotificationService.js @@ -1,6 +1,5 @@ const { DEFAULT_FCM_TOPIC, - DEFAULT_FCM_ANDROID_CHANNEL_ID, getFirebaseConfig, getFirebaseMessaging } = require('../config/firebase'); @@ -91,14 +90,9 @@ function isAlertActive(alert = {}) { function buildAlertCreatedMessage(alert, options = {}) { const alertId = getAlertId(alert); const topic = options.topic || DEFAULT_FCM_TOPIC; - const channelId = options.androidChannelId || options.channelId || DEFAULT_FCM_ANDROID_CHANNEL_ID; return { topic, - notification: { - title: getNotificationTitle(alert), - body: getNotificationBody(alert) - }, data: { event: 'alert_created', alertId, @@ -106,14 +100,12 @@ function buildAlertCreatedMessage(alert, options = {}) { routeId: getRouteId(alert), routeNumber: getRouteNumber(alert), startTime: toIsoString(firstDefined(alert.start_time, alert.startTime)), - endTime: toIsoString(firstDefined(alert.end_time, alert.endTime)) + endTime: toIsoString(firstDefined(alert.end_time, alert.endTime)), + title: getNotificationTitle(alert), + body: getNotificationBody(alert) }, android: { - priority: 'high', - notification: { - channelId, - tag: `alert_${alertId}` - } + priority: 'high' } }; } @@ -131,14 +123,12 @@ class AlertNotificationService { this.enabled = options.enabled === undefined ? firebaseConfig.enabled : options.enabled; this.topic = options.topic || firebaseConfig.topic; - this.androidChannelId = options.androidChannelId || options.channelId || firebaseConfig.androidChannelId; this.logger = options.logger || getDefaultLogger(); this.getMessaging = options.getMessaging || options.messagingFactory || (() => ( options.messaging || getFirebaseMessaging({ ...firebaseConfig, enabled: this.enabled, - topic: this.topic, - androidChannelId: this.androidChannelId + topic: this.topic }) )); } @@ -160,10 +150,7 @@ class AlertNotificationService { throw new Error('Firebase Messaging is unavailable'); } - const message = buildAlertCreatedMessage(alert, { - topic: this.topic, - androidChannelId: this.androidChannelId - }); + const message = buildAlertCreatedMessage(alert, { topic: this.topic }); const messageId = await messaging.send(message); const normalizedMessageId = toDataString(messageId); diff --git a/backend/test/alertNotificationService.test.js b/backend/test/alertNotificationService.test.js index ed263b5..30bca0c 100644 --- a/backend/test/alertNotificationService.test.js +++ b/backend/test/alertNotificationService.test.js @@ -18,7 +18,7 @@ function createLogger() { }; } -test('sends an exact alert-created notification and string-only data payload', async () => { +test('sends an exact data-only alert-created message with string-only data', async () => { const messages = []; const service = new AlertNotificationService({ enabled: true, @@ -52,10 +52,6 @@ test('sends an exact alert-created notification and string-only data payload', a assert.equal(messages.length, 1); assert.deepEqual(messages[0], { topic: 'route_alerts', - notification: { - title: 'Автобус задерживается', - body: 'Задержка около 15 минут' - }, data: { event: 'alert_created', alertId: '42', @@ -63,16 +59,19 @@ test('sends an exact alert-created notification and string-only data payload', a routeId: '7', routeNumber: '12', startTime: '2026-07-11T08:30:00.000Z', - endTime: '2026-07-11T09:30:00.000Z' + endTime: '2026-07-11T09:30:00.000Z', + title: 'Автобус задерживается', + body: 'Задержка около 15 минут' }, android: { - priority: 'high', - notification: { - channelId: 'route_alerts', - tag: 'alert_42' - } + priority: 'high' } }); + assert.equal('notification' in messages[0], false); + assert.equal('notification' in messages[0].android, false); + assert.equal(messages[0].android.priority, 'high'); + assert.equal(messages[0].data.title, 'Автобус задерживается'); + assert.equal(messages[0].data.body, 'Задержка около 15 минут'); assert.ok(Object.values(messages[0].data).every((value) => typeof value === 'string')); }); @@ -92,6 +91,10 @@ test('serializes a null route id and missing optional values as empty strings', assert.equal(message.data.routeNumber, ''); assert.equal(message.data.startTime, ''); assert.equal(message.data.endTime, ''); + assert.equal(message.data.title, 'Новость'); + assert.equal(message.data.body, 'Важная информация'); + assert.equal('notification' in message, false); + assert.equal('notification' in message.android, false); }); test('does not initialize messaging or send for an inactive alert', async () => { @@ -207,8 +210,8 @@ test('uses the requested Russian title fallbacks and a route-aware body fallback route_number: '5' }); - assert.equal(message.notification.title, expectedTitle); - assert.equal(message.notification.body, 'Актуальная информация по маршруту №5'); + assert.equal(message.data.title, expectedTitle); + assert.equal(message.data.body, 'Актуальная информация по маршруту №5'); } const withoutRoute = buildAlertCreatedMessage({ @@ -217,7 +220,7 @@ test('uses the requested Russian title fallbacks and a route-aware body fallback title: '', message: '' }); - assert.equal(withoutRoute.notification.body, 'Актуальная информация о движении транспорта'); + assert.equal(withoutRoute.data.body, 'Актуальная информация о движении транспорта'); }); test('reads disabled-by-default Firebase configuration and environment overrides', () => { diff --git a/docker-compose.yml b/docker-compose.yml index e52ba3b..8054d8c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,7 +59,7 @@ services: FCM_TOPIC: "${FCM_TOPIC:-route_alerts}" FCM_ANDROID_CHANNEL_ID: "${FCM_ANDROID_CHANNEL_ID:-route_alerts}" FIREBASE_PROJECT_ID: "${FIREBASE_PROJECT_ID:-}" - GOOGLE_APPLICATION_CREDENTIALS: "${GOOGLE_APPLICATION_CREDENTIALS:-}" + GOOGLE_APPLICATION_CREDENTIALS: "${GOOGLE_APPLICATION_CREDENTIALS:-/run/secrets/firebase-service-account.json}" ports: - "3000:3000" depends_on: @@ -73,6 +73,7 @@ services: volumes: - ./backend/logs:/app/logs - avatars_data:/app/public/uploads/avatars + - ${FIREBASE_SECRETS_DIR:-./secrets}:/run/secrets:ro frontend: build: diff --git a/docs/fcm-alert-notifications.md b/docs/fcm-alert-notifications.md index 22b7536..671b795 100644 --- a/docs/fcm-alert-notifications.md +++ b/docs/fcm-alert-notifications.md @@ -155,45 +155,48 @@ GOOGLE_APPLICATION_CREDENTIALS=/absolute/private/path/firebase-service-account.j После этого запустите `npm run dev`. Не копируйте JSON в `backend/`, не добавляйте его в `.env` в виде текста и не коммитьте файл. -### Локальный запуск в Docker Compose +### Запуск в Docker Compose на Proxmox -Значение `GOOGLE_APPLICATION_CREDENTIALS` внутри контейнера должно указывать на -путь внутри контейнера, поэтому одного host-пути в корневом `.env` недостаточно. -Создайте локальный, не коммитящийся файл -`docker-compose.firebase.override.yml`: - -```yaml -services: - backend: - environment: - FCM_ENABLED: "true" - FIREBASE_PROJECT_ID: ridebus-development - GOOGLE_APPLICATION_CREDENTIALS: /run/secrets/firebase-service-account.json - volumes: - - /absolute/private/path/firebase-service-account.json:/run/secrets/firebase-service-account.json:ro -``` - -Запуск: +Docker должен работать внутри VM или LXC-контейнера Proxmox. На этом Docker- +хосте создайте закрытый каталог и положите в него service account JSON: ```bash -docker compose \ - -f docker-compose.yml \ - -f docker-compose.firebase.override.yml \ - up -d --build backend +sudo install -d -m 700 /opt/polotsk-transit/secrets +sudo install -m 600 /private/path/firebase-service-account.json \ + /opt/polotsk-transit/secrets/firebase-service-account.json ``` -Основной `docker-compose.yml` передаёт все FCM-переменные, но не требует и не -монтирует credential-файл. Поэтому обычный запуск с `FCM_ENABLED=false` -остается рабочим без Firebase. +В корневом `.env` проекта задайте: + +```env +FCM_ENABLED=true +FCM_TOPIC=route_alerts +FCM_ANDROID_CHANNEL_ID=route_alerts +FIREBASE_PROJECT_ID=ridebus-production +FIREBASE_SECRETS_DIR=/opt/polotsk-transit/secrets +GOOGLE_APPLICATION_CREDENTIALS=/run/secrets/firebase-service-account.json +``` + +Основной `docker-compose.yml` монтирует `FIREBASE_SECRETS_DIR` в backend как +read-only `/run/secrets`. Запуск отдельного override-файла больше не требуется: + +```bash +docker compose up -d --build backend +docker compose logs -f backend +``` + +При `FCM_ENABLED=false` Firebase не инициализируется, поэтому отсутствие JSON +не мешает работе приложения. ## Формирование сообщения -FCM получает одновременно видимый `notification` payload и строковый `data` -payload. Android priority всегда `high`. Все значения в `data`, включая ID и -даты, преобразуются в строки; отсутствующие значения передаются как пустые -строки. +FCM получает только строковый `data` payload. Верхнеуровневого `notification` +и `android.notification` нет, поэтому Android-клиент сам создаёт уведомление и +может добавить локальные действия, включая кнопку «Прочитано». Android +priority всегда `high`. Все значения в `data`, включая ID, даты, заголовок и +текст, являются строками; отсутствующие значения передаются как пустые строки. -`notification.title` берётся из `alert.title`. Если заголовок отсутствует или +`data.title` берётся из `alert.title`. Если заголовок отсутствует или состоит только из пробелов, используется fallback по типу: | `alert_type` | Fallback title | @@ -203,7 +206,7 @@ payload. Android priority всегда `high`. Все значения в `data` | `detour` | `Изменение маршрута` | | `info` | `Информация о маршруте` | -`notification.body` содержит `alert.message`. Для пустого сообщения +`data.body` содержит `alert.message`. Для пустого сообщения используется безопасный текст с номером маршрута, а если маршрут не указан — общий текст об обновлении движения. @@ -212,10 +215,6 @@ payload. Android priority всегда `high`. Все значения в `data` ```json { "topic": "route_alerts", - "notification": { - "title": "Задержка движения", - "body": "Автобусы задерживаются примерно на 15 минут" - }, "data": { "event": "alert_created", "alertId": "42", @@ -223,14 +222,12 @@ payload. Android priority всегда `high`. Все значения в `data` "routeId": "7", "routeNumber": "5", "startTime": "2026-07-11T09:00:00.000Z", - "endTime": "2026-07-11T11:00:00.000Z" + "endTime": "2026-07-11T11:00:00.000Z", + "title": "Задержка движения", + "body": "Автобусы задерживаются примерно на 15 минут" }, "android": { - "priority": "high", - "notification": { - "channelId": "route_alerts", - "tag": "alert_42" - } + "priority": "high" } } ``` @@ -295,5 +292,5 @@ curl -i -X POST http://localhost:3000/api/v1/alerts \ вернуть `201`, а лог должен содержать `alertId`, Firebase code и причину без credentials или токенов. -Поведение Android при foreground/background зависит от клиентской реализации, -но серверный контракт всегда содержит и `notification`, и `data` payload. +Поведение Android при foreground/background полностью определяется клиентской +обработкой data-only сообщения. diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 15b0b84..7f073df 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,9 +1,8 @@ -import { useState } from 'react'; -import { BrowserRouter as Router, Routes, Route, Link, useLocation, Navigate } from 'react-router-dom'; -import { Bus, MapPin, Calendar, Settings, Gift, Menu, X, AlertCircle, Users, UserCircle, LogOut } from 'lucide-react'; +import { BrowserRouter as Router, Routes, Route, useLocation, Navigate } from 'react-router-dom'; import { AuthProvider, useAuth } from './contexts/AuthContext'; import { ProtectedRoute } from './components/ProtectedRoute'; -import { Avatar } from './components/AvatarUpload'; +import AppLayout from './components/AppLayout'; +import { PageLoader } from './components/AnimatedComponents'; // Pages import LoginPage from './pages/LoginPage'; @@ -28,7 +27,9 @@ function App() { } function AppContent() { - const { isAuthenticated } = useAuth(); + const { isAuthenticated, loading } = useAuth(); + + if (loading) return ; if (!isAuthenticated) { return ( @@ -40,15 +41,9 @@ function AppContent() { } return ( -
- - -
- -
- - -
+ + + ); } @@ -76,206 +71,4 @@ function AnimatedRoutes() { ); } -function Navigation() { - const [mobileMenuOpen, setMobileMenuOpen] = useState(false); - const [showUserMenu, setShowUserMenu] = useState(false); - const { user, logout, isAdmin } = useAuth(); - - return ( - - ); -} - -function MobileBottomNav() { - const location = useLocation(); - const { isAdmin } = useAuth(); - - const navItems = [ - { to: '/', icon: Settings, label: 'Главная' }, - { to: '/routes', icon: Bus, label: 'Маршруты' }, - { to: '/stops', icon: MapPin, label: 'Остановки' }, - { to: '/alerts', icon: AlertCircle, label: 'Уведомл.' }, - isAdmin - ? { to: '/users', icon: Users, label: 'Пользов.' } - : { to: '/profile', icon: UserCircle, label: 'Профиль' }, - ]; - - return ( -
-
- {navItems.map(({ to, icon: Icon, label }) => { - const isActive = location.pathname === to || - (to !== '/' && location.pathname.startsWith(to)); - - return ( - - - {label} - {isActive && ( -
- )} - - ); - })} -
-
- ); -} - -function NavLink({ to, icon, children }) { - const location = useLocation(); - const isActive = location.pathname === to || - (to !== '/' && location.pathname.startsWith(to)); - - return ( - - {icon} - {children} - - ); -} - -function MobileNavLink({ to, icon, children, onClick, delay = 0 }) { - const location = useLocation(); - const isActive = location.pathname === to || - (to !== '/' && location.pathname.startsWith(to)); - - return ( - - {icon} - {children} - - ); -} - -export default App; \ No newline at end of file +export default App; diff --git a/frontend/src/assets/dashboard-background.png b/frontend/src/assets/dashboard-background.png new file mode 100644 index 0000000000000000000000000000000000000000..82e6c05f9257080ef3d6f0923c089df55064d8ce GIT binary patch literal 124384 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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/components/AppLayout.jsx b/frontend/src/components/AppLayout.jsx new file mode 100644 index 0000000..81a997e --- /dev/null +++ b/frontend/src/components/AppLayout.jsx @@ -0,0 +1,82 @@ +import { useEffect, useRef, useState } from 'react'; +import { Link, NavLink, useLocation } from 'react-router-dom'; +import { Bus, Menu, X, LayoutDashboard, MapPin, CalendarDays, Gift, Bell, Users, User } from 'lucide-react'; +import { useAuth } from '../contexts/AuthContext'; +import BrandLogo from './BrandLogo'; +import ProfileMenu from './ProfileMenu'; + +const navigationGroups = [ + { label: 'Обзор', items: [{ to: '/', label: 'Главная', icon: LayoutDashboard }] }, + { label: 'Транспорт', items: [ + { to: '/routes', label: 'Маршруты', icon: Bus }, + { to: '/stops', label: 'Остановки', icon: MapPin }, + { to: '/schedules', label: 'Расписания', icon: CalendarDays }, + { to: '/holidays', label: 'Праздники', icon: Gift }, + ] }, + { label: 'Управление', items: [ + { to: '/alerts', label: 'Уведомления', icon: Bell }, + { to: '/users', label: 'Пользователи', icon: Users, adminOnly: true }, + { to: '/profile', label: 'Профиль', icon: User }, + ] }, +]; + +export default function AppLayout({ children }) { + const { isAdmin } = useAuth(); + const { pathname } = useLocation(); + const [menuOpen, setMenuOpen] = useState(false); + const menuButton = useRef(null); + + useEffect(() => { setMenuOpen(false); }, [pathname]); + + function closeMenu() { + setMenuOpen(false); + menuButton.current?.focus(); + } + + return ( +
+ Перейти к содержимому + +
+
{children}
+
+
+ ); +} diff --git a/frontend/src/components/BrandLogo.jsx b/frontend/src/components/BrandLogo.jsx new file mode 100644 index 0000000..af25154 --- /dev/null +++ b/frontend/src/components/BrandLogo.jsx @@ -0,0 +1,5 @@ +import logo from '../assets/logo-with-text.svg'; + +export default function BrandLogo({ className = '' }) { + return RideBus; +} diff --git a/frontend/src/components/ProfileMenu.jsx b/frontend/src/components/ProfileMenu.jsx new file mode 100644 index 0000000..6197b4c --- /dev/null +++ b/frontend/src/components/ProfileMenu.jsx @@ -0,0 +1,117 @@ +import { useEffect, useLayoutEffect, useRef, useState } from 'react'; +import { createPortal } from 'react-dom'; +import { Link, useLocation } from 'react-router-dom'; +import { ChevronDown, LogOut, User } from 'lucide-react'; +import { useAuth } from '../contexts/AuthContext'; +import { Avatar } from './AvatarUpload'; + +export default function ProfileMenu() { + const { user, isAdmin, logout } = useAuth(); + const { pathname } = useLocation(); + const [open, setOpen] = useState(false); + const [position, setPosition] = useState({}); + const trigger = useRef(null); + const menu = useRef(null); + const focusLast = useRef(false); + + function close(restoreFocus = false) { + setOpen(false); + if (restoreFocus) trigger.current?.focus(); + } + + useEffect(() => { setOpen(false); }, [pathname]); + + useLayoutEffect(() => { + if (!open) return; + function placeMenu() { + const rect = trigger.current.getBoundingClientRect(); + if (!rect.width) { setOpen(false); return; } + const width = Math.min(Math.max(rect.width, 248), window.innerWidth - 32); + const height = menu.current?.offsetHeight || 164; + setPosition({ + width, + left: Math.max(16, Math.min(rect.left, window.innerWidth - width - 16)), + top: rect.bottom + height + 8 < window.innerHeight + ? rect.bottom + 8 : Math.max(8, rect.top - height - 8), + }); + } + placeMenu(); + window.addEventListener('resize', placeMenu); + window.addEventListener('scroll', placeMenu, true); + return () => { + window.removeEventListener('resize', placeMenu); + window.removeEventListener('scroll', placeMenu, true); + }; + }, [open]); + + useEffect(() => { + if (!open) return; + const items = menu.current.querySelectorAll('[role="menuitem"]'); + items[focusLast.current ? items.length - 1 : 0]?.focus(); + function dismiss(event) { + if (!menu.current?.contains(event.target) && !trigger.current?.contains(event.target)) close(); + } + document.addEventListener('pointerdown', dismiss); + document.addEventListener('focusin', dismiss); + return () => { + document.removeEventListener('pointerdown', dismiss); + document.removeEventListener('focusin', dismiss); + }; + }, [open]); + + function onMenuKeyDown(event) { + const items = [...menu.current.querySelectorAll('[role="menuitem"]')]; + const current = items.indexOf(document.activeElement); + if (event.key === 'Escape') { + event.preventDefault(); + event.stopPropagation(); + close(true); + } else if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) { + event.preventDefault(); + const next = event.key === 'Home' ? 0 : event.key === 'End' ? items.length - 1 + : (current + (event.key === 'ArrowDown' ? 1 : -1) + items.length) % items.length; + items[next]?.focus(); + } else if (event.key === 'Tab') { + // Return to the trigger's position in the document tab order before moving on. + close(true); + } + } + + return ( + <> + + {open && createPortal( +