feat(pwa): экран штрафов с фотографиями нарушений
Список с вкладками «Неоплаченные / Все» и суммой долга в шапке; в карточке — фотография с камеры первой, до реквизитов: по ней водитель узнаёт свою машину и свою поездку. Дальше сумма, скидка с датой (то, ради чего заходят вовремя), скорость и разрешённый предел, постановление, камера, ссылка на PDF. Строка «Долг по штрафам» на главном экране теперь ведёт сюда, а не сразу к оплате: платить, не поняв за что, человек не станет. Аренда по-прежнему ведёт к оплате — за тем её и открывают. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,8 @@ import { HistoryPage } from "@/pages/HistoryPage";
|
||||
import { DevLoginPage } from "@/pages/DevLoginPage";
|
||||
import { DebugPage } from "@/pages/DebugPage";
|
||||
import { MockPayPage } from "@/pages/MockPayPage";
|
||||
import { FinesPage } from "@/pages/FinesPage";
|
||||
import { FineDetailPage } from "@/pages/FineDetailPage";
|
||||
|
||||
function RequireAuth({ children }: { children: ReactNode }) {
|
||||
const token = useAuth((s) => s.token);
|
||||
@@ -44,6 +46,8 @@ export default function App() {
|
||||
<Route path="/pay/:orderId" element={<RequireAuth><PaymentPage /></RequireAuth>} />
|
||||
<Route path="/mock-pay/:orderId" element={<RequireAuth><MockPayPage /></RequireAuth>} />
|
||||
<Route path="/history" element={<RequireAuth><HistoryPage /></RequireAuth>} />
|
||||
<Route path="/fines" element={<RequireAuth><FinesPage /></RequireAuth>} />
|
||||
<Route path="/fines/:fineId" element={<RequireAuth><FineDetailPage /></RequireAuth>} />
|
||||
<Route path="/debug" element={<RequireAuth><RequireStaff><DebugPage /></RequireStaff></RequireAuth>} />
|
||||
<Route path="*" element={<Navigate to="/" replace />} />
|
||||
</Routes>
|
||||
|
||||
Reference in New Issue
Block a user