@gelabs/ovr 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth-rate-limit.d.ts +11 -2
- package/dist/auth-rate-limit.js +1 -1
- package/dist/auth.d.ts +1 -1
- package/dist/auth.js +1 -1
- package/dist/{chunk-77ULDXQX.js → chunk-6ZJSEM4Y.js} +6 -1
- package/dist/{chunk-VH4J2SIV.js → chunk-ZUMEOZ22.js} +2 -2
- package/dist/generated/client/edge.js +2 -2
- package/dist/generated/client/index.js +2 -2
- package/dist/generated/client/wasm.js +2 -2
- package/dist/ui-components-admin/accounts-manager.js +4 -4
- package/dist/ui-components-admin/admin-nav.js +1 -1
- package/dist/ui-components-admin/issuance-form.js +10 -10
- package/dist/ui-components-admin/logs-viewer.js +3 -3
- package/dist/ui-components-admin/notifications-list.js +1 -1
- package/dist/ui-components-admin/officers-manager.js +3 -3
- package/dist/ui-components-admin/roles-manager.js +3 -3
- package/dist/ui-components-admin/ticket-preview.js +6 -6
- package/dist/ui-components-admin/tickets-table.js +3 -3
- package/dist/ui-components-admin/violations-manager.js +5 -5
- package/dist/ui-components-citizen/payment-form.js +3 -3
- package/dist/ui-components-citizen/payment-qr-dialog.js +2 -2
- package/dist/ui-components-citizen/violation-history-table.js +2 -2
- package/dist/ui-components-shared/ticket-receipt.js +4 -4
- package/dist/ui-components-shared/violations-table.js +2 -2
- package/package.json +6 -6
- package/dist/{chunk-6BH4EFP3.js → chunk-IBZVIUNI.js} +1 -1
- package/dist/{chunk-QCAURREW.js → chunk-TLG4C2XI.js} +1 -1
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fixed-window rate limiting backed by Redis. Used to throttle admin login
|
|
3
3
|
* attempts (per username/IP) before the expensive argon2 verify runs.
|
|
4
|
+
*
|
|
5
|
+
* Toggle: set `EOVR_RATE_LIMIT_DISABLED` to a truthy value (`1`/`true`/`yes`/`on`)
|
|
6
|
+
* to bypass throttling entirely — every call is allowed and Redis is never
|
|
7
|
+
* touched. Intended for staging/QA where repeated login attempts must not lock
|
|
8
|
+
* you out. Leave it unset (the default) to keep throttling on in production.
|
|
4
9
|
*/
|
|
5
10
|
|
|
6
11
|
interface RateLimitResult {
|
|
7
12
|
allowed: boolean;
|
|
8
13
|
remaining: number;
|
|
9
14
|
}
|
|
15
|
+
/** Whether rate limiting is switched off via `EOVR_RATE_LIMIT_DISABLED`. */
|
|
16
|
+
declare function isRateLimitDisabled(): boolean;
|
|
10
17
|
/**
|
|
11
18
|
* Increment a counter for `key`; the first hit in a window sets its TTL. Returns
|
|
12
|
-
* `allowed: false` once more than `max` hits occur within `windowSeconds`.
|
|
19
|
+
* `allowed: false` once more than `max` hits occur within `windowSeconds`. When
|
|
20
|
+
* `EOVR_RATE_LIMIT_DISABLED` is truthy this short-circuits to always-allowed and
|
|
21
|
+
* never touches Redis.
|
|
13
22
|
*/
|
|
14
23
|
declare function rateLimit(key: string, max: number, windowSeconds: number): Promise<RateLimitResult>;
|
|
15
24
|
|
|
16
|
-
export { type RateLimitResult, rateLimit };
|
|
25
|
+
export { type RateLimitResult, isRateLimitDisabled, rateLimit };
|
package/dist/auth-rate-limit.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { rateLimit } from './chunk-
|
|
1
|
+
export { isRateLimitDisabled, rateLimit } from './chunk-6ZJSEM4Y.js';
|
|
2
2
|
import './chunk-ASFB24ZY.js';
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getRedis } from './auth-redis.js';
|
|
2
2
|
export { SESSION_COOKIE, SessionData, cookieSecure, createSession, destroySession, getSession } from './auth-session.js';
|
|
3
|
-
export { RateLimitResult, rateLimit } from './auth-rate-limit.js';
|
|
3
|
+
export { RateLimitResult, isRateLimitDisabled, rateLimit } from './auth-rate-limit.js';
|
|
4
4
|
export { ADMIN_COOKIE, Auth, AuthDeps, createAuth } from './auth-auth.js';
|
|
5
5
|
import 'ioredis';
|
|
6
6
|
import './schema-CdsFQxIg.js';
|
package/dist/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ADMIN_COOKIE, createAuth } from './chunk-AJ2RZTVX.js';
|
|
2
|
-
export { rateLimit } from './chunk-
|
|
2
|
+
export { isRateLimitDisabled, rateLimit } from './chunk-6ZJSEM4Y.js';
|
|
3
3
|
export { SESSION_COOKIE, cookieSecure, createSession, destroySession, getSession } from './chunk-KIKDXRM5.js';
|
|
4
4
|
export { getRedis } from './chunk-ASFB24ZY.js';
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { getRedis } from './chunk-ASFB24ZY.js';
|
|
2
2
|
import 'server-only';
|
|
3
3
|
|
|
4
|
+
function isRateLimitDisabled() {
|
|
5
|
+
const v = process.env.EOVR_RATE_LIMIT_DISABLED?.trim().toLowerCase();
|
|
6
|
+
return v === "1" || v === "true" || v === "yes" || v === "on";
|
|
7
|
+
}
|
|
4
8
|
async function rateLimit(key, max, windowSeconds) {
|
|
9
|
+
if (isRateLimitDisabled()) return { allowed: true, remaining: max };
|
|
5
10
|
const redis = getRedis();
|
|
6
11
|
const k = `eovr:rl:${key}`;
|
|
7
12
|
const count = await redis.incr(k);
|
|
@@ -9,4 +14,4 @@ async function rateLimit(key, max, windowSeconds) {
|
|
|
9
14
|
return { allowed: count <= max, remaining: Math.max(0, max - count) };
|
|
10
15
|
}
|
|
11
16
|
|
|
12
|
-
export { rateLimit };
|
|
17
|
+
export { isRateLimitDisabled, rateLimit };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ViolationsTable } from './chunk-
|
|
2
|
-
import { StatusBadge } from './chunk-OE525ZER.js';
|
|
1
|
+
import { ViolationsTable } from './chunk-IBZVIUNI.js';
|
|
3
2
|
import { AmountSummary } from './chunk-GLIK5BHP.js';
|
|
3
|
+
import { StatusBadge } from './chunk-OE525ZER.js';
|
|
4
4
|
import { Card, CardHeader, CardTitle, CardContent } from './chunk-SETIN6XP.js';
|
|
5
5
|
import { useFormatters } from './chunk-TJSNVTVB.js';
|
|
6
6
|
import { formalName, formatAddress } from './chunk-BI4EGLPG.js';
|
|
@@ -242,7 +242,7 @@ const config = {
|
|
|
242
242
|
"value": "prisma-client-js"
|
|
243
243
|
},
|
|
244
244
|
"output": {
|
|
245
|
-
"value": "/Volumes
|
|
245
|
+
"value": "/private/tmp/claude-501/-Volumes-satechi-Mac-Documents-GELABS/e90bff27-fc99-4707-8f39-f7ce029d695f/scratchpad/gelabs-ovr-pub/packages/ovr-data/src/generated/client",
|
|
246
246
|
"fromEnvVar": null
|
|
247
247
|
},
|
|
248
248
|
"config": {
|
|
@@ -260,7 +260,7 @@ const config = {
|
|
|
260
260
|
}
|
|
261
261
|
],
|
|
262
262
|
"previewFeatures": [],
|
|
263
|
-
"sourceFilePath": "/Volumes
|
|
263
|
+
"sourceFilePath": "/private/tmp/claude-501/-Volumes-satechi-Mac-Documents-GELABS/e90bff27-fc99-4707-8f39-f7ce029d695f/scratchpad/gelabs-ovr-pub/packages/ovr-data/prisma/schema.prisma",
|
|
264
264
|
"isCustomOutput": true
|
|
265
265
|
},
|
|
266
266
|
"relativeEnvPaths": {
|
|
@@ -243,7 +243,7 @@ const config = {
|
|
|
243
243
|
"value": "prisma-client-js"
|
|
244
244
|
},
|
|
245
245
|
"output": {
|
|
246
|
-
"value": "/Volumes
|
|
246
|
+
"value": "/private/tmp/claude-501/-Volumes-satechi-Mac-Documents-GELABS/e90bff27-fc99-4707-8f39-f7ce029d695f/scratchpad/gelabs-ovr-pub/packages/ovr-data/src/generated/client",
|
|
247
247
|
"fromEnvVar": null
|
|
248
248
|
},
|
|
249
249
|
"config": {
|
|
@@ -261,7 +261,7 @@ const config = {
|
|
|
261
261
|
}
|
|
262
262
|
],
|
|
263
263
|
"previewFeatures": [],
|
|
264
|
-
"sourceFilePath": "/Volumes
|
|
264
|
+
"sourceFilePath": "/private/tmp/claude-501/-Volumes-satechi-Mac-Documents-GELABS/e90bff27-fc99-4707-8f39-f7ce029d695f/scratchpad/gelabs-ovr-pub/packages/ovr-data/prisma/schema.prisma",
|
|
265
265
|
"isCustomOutput": true
|
|
266
266
|
},
|
|
267
267
|
"relativeEnvPaths": {
|
|
@@ -242,7 +242,7 @@ const config = {
|
|
|
242
242
|
"value": "prisma-client-js"
|
|
243
243
|
},
|
|
244
244
|
"output": {
|
|
245
|
-
"value": "/Volumes
|
|
245
|
+
"value": "/private/tmp/claude-501/-Volumes-satechi-Mac-Documents-GELABS/e90bff27-fc99-4707-8f39-f7ce029d695f/scratchpad/gelabs-ovr-pub/packages/ovr-data/src/generated/client",
|
|
246
246
|
"fromEnvVar": null
|
|
247
247
|
},
|
|
248
248
|
"config": {
|
|
@@ -260,7 +260,7 @@ const config = {
|
|
|
260
260
|
}
|
|
261
261
|
],
|
|
262
262
|
"previewFeatures": [],
|
|
263
|
-
"sourceFilePath": "/Volumes
|
|
263
|
+
"sourceFilePath": "/private/tmp/claude-501/-Volumes-satechi-Mac-Documents-GELABS/e90bff27-fc99-4707-8f39-f7ce029d695f/scratchpad/gelabs-ovr-pub/packages/ovr-data/prisma/schema.prisma",
|
|
264
264
|
"isCustomOutput": true
|
|
265
265
|
},
|
|
266
266
|
"relativeEnvPaths": {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
2
3
|
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
3
|
-
import { Label } from '../chunk-XQTVSNHC.js';
|
|
4
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
5
|
-
import { Badge } from '../chunk-55FQP2DO.js';
|
|
6
4
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
5
|
+
import { Badge } from '../chunk-55FQP2DO.js';
|
|
6
|
+
import { Label } from '../chunk-XQTVSNHC.js';
|
|
7
7
|
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
8
|
-
import {
|
|
8
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
9
9
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
10
10
|
import { useCopy, useOvrConfig } from '../chunk-TJSNVTVB.js';
|
|
11
11
|
import '../chunk-77QBZC7J.js';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, SheetFooter } from '../chunk-3YKVH4Y7.js';
|
|
3
3
|
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator } from '../chunk-V7VQVDWS.js';
|
|
4
4
|
import { Label } from '../chunk-XQTVSNHC.js';
|
|
5
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
6
5
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
6
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
7
7
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
8
8
|
import { useCopy } from '../chunk-TJSNVTVB.js';
|
|
9
9
|
import { cn } from '../chunk-77QBZC7J.js';
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Skeleton } from '../chunk-EGKFELO3.js';
|
|
3
3
|
import { Textarea } from '../chunk-QCRVT2SS.js';
|
|
4
|
+
import { Alert, AlertDescription } from '../chunk-EYFZWQ4J.js';
|
|
4
5
|
import { Checkbox } from '../chunk-BBQBKQA4.js';
|
|
5
|
-
import { TicketPreview } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import { Label } from '../chunk-XQTVSNHC.js';
|
|
8
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
9
|
-
import '../chunk-OE525ZER.js';
|
|
10
|
-
import '../chunk-55FQP2DO.js';
|
|
11
|
-
import '../chunk-OWCGEEAZ.js';
|
|
6
|
+
import { TicketPreview } from '../chunk-ZUMEOZ22.js';
|
|
7
|
+
import '../chunk-IBZVIUNI.js';
|
|
12
8
|
import '../chunk-GLIK5BHP.js';
|
|
13
|
-
import { Alert, AlertDescription } from '../chunk-EYFZWQ4J.js';
|
|
14
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
15
|
-
import { Card, CardHeader, CardTitle, CardContent, CardDescription } from '../chunk-SETIN6XP.js';
|
|
16
9
|
import '../chunk-NSCIBSCW.js';
|
|
10
|
+
import '../chunk-OE525ZER.js';
|
|
17
11
|
import '../chunk-BVI5XDDA.js';
|
|
12
|
+
import { Card, CardHeader, CardTitle, CardContent, CardDescription } from '../chunk-SETIN6XP.js';
|
|
13
|
+
import '../chunk-OWCGEEAZ.js';
|
|
14
|
+
import '../chunk-55FQP2DO.js';
|
|
15
|
+
import { Label } from '../chunk-XQTVSNHC.js';
|
|
16
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
17
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
18
18
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
19
19
|
import { useFormatters, useOvrConfig } from '../chunk-TJSNVTVB.js';
|
|
20
20
|
import { cn } from '../chunk-77QBZC7J.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
2
3
|
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
3
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
4
|
-
import { Badge } from '../chunk-55FQP2DO.js';
|
|
5
4
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
6
|
-
import {
|
|
5
|
+
import { Badge } from '../chunk-55FQP2DO.js';
|
|
6
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
7
7
|
import '../chunk-I4WDVYHX.js';
|
|
8
8
|
import { useCopy, useOvrConfig } from '../chunk-TJSNVTVB.js';
|
|
9
9
|
import '../chunk-77QBZC7J.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
2
3
|
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
3
4
|
import { Badge } from '../chunk-55FQP2DO.js';
|
|
4
|
-
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
5
5
|
import '../chunk-I4WDVYHX.js';
|
|
6
6
|
import { useCopy, useOvrConfig } from '../chunk-TJSNVTVB.js';
|
|
7
7
|
import '../chunk-77QBZC7J.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
2
3
|
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
3
|
-
import { Label } from '../chunk-XQTVSNHC.js';
|
|
4
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
5
4
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
5
|
+
import { Label } from '../chunk-XQTVSNHC.js';
|
|
6
6
|
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
7
|
-
import {
|
|
7
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
8
8
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
9
9
|
import { useCopy } from '../chunk-TJSNVTVB.js';
|
|
10
10
|
import '../chunk-77QBZC7J.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Checkbox } from '../chunk-BBQBKQA4.js';
|
|
3
|
-
import {
|
|
4
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
3
|
+
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
5
4
|
import { Badge } from '../chunk-55FQP2DO.js';
|
|
5
|
+
import { Label } from '../chunk-XQTVSNHC.js';
|
|
6
6
|
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
7
|
-
import {
|
|
7
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
8
8
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
9
9
|
import { useCopy } from '../chunk-TJSNVTVB.js';
|
|
10
10
|
import '../chunk-77QBZC7J.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { TicketPreview } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-OE525ZER.js';
|
|
5
|
-
import '../chunk-55FQP2DO.js';
|
|
6
|
-
import '../chunk-OWCGEEAZ.js';
|
|
2
|
+
export { TicketPreview } from '../chunk-ZUMEOZ22.js';
|
|
3
|
+
import '../chunk-IBZVIUNI.js';
|
|
7
4
|
import '../chunk-GLIK5BHP.js';
|
|
8
|
-
import '../chunk-SETIN6XP.js';
|
|
9
5
|
import '../chunk-NSCIBSCW.js';
|
|
6
|
+
import '../chunk-OE525ZER.js';
|
|
10
7
|
import '../chunk-BVI5XDDA.js';
|
|
8
|
+
import '../chunk-SETIN6XP.js';
|
|
9
|
+
import '../chunk-OWCGEEAZ.js';
|
|
10
|
+
import '../chunk-55FQP2DO.js';
|
|
11
11
|
import '../chunk-TJSNVTVB.js';
|
|
12
12
|
import '../chunk-77QBZC7J.js';
|
|
13
13
|
import '../chunk-BI4EGLPG.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
3
2
|
import { StatusBadge } from '../chunk-OE525ZER.js';
|
|
4
|
-
import '../chunk-55FQP2DO.js';
|
|
5
|
-
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
6
3
|
import { Money } from '../chunk-BVI5XDDA.js';
|
|
4
|
+
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
5
|
+
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
6
|
+
import '../chunk-55FQP2DO.js';
|
|
7
7
|
import '../chunk-I4WDVYHX.js';
|
|
8
8
|
import { useFormatters } from '../chunk-TJSNVTVB.js';
|
|
9
9
|
import '../chunk-77QBZC7J.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Textarea } from '../chunk-QCRVT2SS.js';
|
|
3
|
+
import { Money } from '../chunk-BVI5XDDA.js';
|
|
4
|
+
import { Card, CardContent } from '../chunk-SETIN6XP.js';
|
|
3
5
|
import { usePagination, Pagination } from '../chunk-6YFZLXFP.js';
|
|
4
|
-
import { Label } from '../chunk-XQTVSNHC.js';
|
|
5
|
-
import { Input } from '../chunk-K3KIBHJF.js';
|
|
6
|
-
import { Badge } from '../chunk-55FQP2DO.js';
|
|
7
6
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
7
|
+
import { Badge } from '../chunk-55FQP2DO.js';
|
|
8
|
+
import { Label } from '../chunk-XQTVSNHC.js';
|
|
8
9
|
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose } from '../chunk-M35R6JLA.js';
|
|
9
|
-
import {
|
|
10
|
-
import { Money } from '../chunk-BVI5XDDA.js';
|
|
10
|
+
import { Input } from '../chunk-K3KIBHJF.js';
|
|
11
11
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
12
12
|
import { useCopy } from '../chunk-TJSNVTVB.js';
|
|
13
13
|
import { cn } from '../chunk-77QBZC7J.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { PaymentQrDialog } from '../chunk-
|
|
2
|
+
import { PaymentQrDialog } from '../chunk-TLG4C2XI.js';
|
|
3
3
|
import { Alert, AlertDescription } from '../chunk-EYFZWQ4J.js';
|
|
4
|
-
import '../chunk-M35R6JLA.js';
|
|
5
|
-
import { Card, CardHeader, CardTitle, CardDescription, CardContent } from '../chunk-SETIN6XP.js';
|
|
6
4
|
import { Separator } from '../chunk-NSCIBSCW.js';
|
|
7
5
|
import { Money } from '../chunk-BVI5XDDA.js';
|
|
6
|
+
import { Card, CardHeader, CardTitle, CardDescription, CardContent } from '../chunk-SETIN6XP.js';
|
|
7
|
+
import '../chunk-M35R6JLA.js';
|
|
8
8
|
import { Button } from '../chunk-I4WDVYHX.js';
|
|
9
9
|
import { useOvrConfig, useCopy } from '../chunk-TJSNVTVB.js';
|
|
10
10
|
import { cn } from '../chunk-77QBZC7J.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { PaymentQrDialog } from '../chunk-
|
|
2
|
+
export { PaymentQrDialog } from '../chunk-TLG4C2XI.js';
|
|
3
3
|
import '../chunk-EYFZWQ4J.js';
|
|
4
|
-
import '../chunk-M35R6JLA.js';
|
|
5
4
|
import '../chunk-BVI5XDDA.js';
|
|
5
|
+
import '../chunk-M35R6JLA.js';
|
|
6
6
|
import '../chunk-I4WDVYHX.js';
|
|
7
7
|
import '../chunk-TJSNVTVB.js';
|
|
8
8
|
import '../chunk-77QBZC7J.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { StatusBadge } from '../chunk-OE525ZER.js';
|
|
3
|
-
import '../chunk-55FQP2DO.js';
|
|
4
|
-
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
5
3
|
import { Money } from '../chunk-BVI5XDDA.js';
|
|
4
|
+
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../chunk-OWCGEEAZ.js';
|
|
5
|
+
import '../chunk-55FQP2DO.js';
|
|
6
6
|
import { useFormatters, useCopy } from '../chunk-TJSNVTVB.js';
|
|
7
7
|
import { cn } from '../chunk-77QBZC7J.js';
|
|
8
8
|
import '../chunk-BI4EGLPG.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { ViolationsTable } from '../chunk-6BH4EFP3.js';
|
|
3
|
-
import { StatusBadge } from '../chunk-OE525ZER.js';
|
|
4
|
-
import '../chunk-55FQP2DO.js';
|
|
5
|
-
import '../chunk-OWCGEEAZ.js';
|
|
6
2
|
import { OfficialHeader } from '../chunk-NT72CQAI.js';
|
|
7
3
|
import '../chunk-YC7G2IOZ.js';
|
|
8
4
|
import '../chunk-WOPU6DI7.js';
|
|
5
|
+
import { ViolationsTable } from '../chunk-IBZVIUNI.js';
|
|
9
6
|
import { Separator } from '../chunk-NSCIBSCW.js';
|
|
7
|
+
import { StatusBadge } from '../chunk-OE525ZER.js';
|
|
10
8
|
import { Money } from '../chunk-BVI5XDDA.js';
|
|
9
|
+
import '../chunk-OWCGEEAZ.js';
|
|
10
|
+
import '../chunk-55FQP2DO.js';
|
|
11
11
|
import { useFormatters, useOvrConfig } from '../chunk-TJSNVTVB.js';
|
|
12
12
|
import { cn } from '../chunk-77QBZC7J.js';
|
|
13
13
|
import { formalName, formatAddress } from '../chunk-BI4EGLPG.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { ViolationsTable } from '../chunk-
|
|
3
|
-
import '../chunk-OWCGEEAZ.js';
|
|
2
|
+
export { ViolationsTable } from '../chunk-IBZVIUNI.js';
|
|
4
3
|
import '../chunk-BVI5XDDA.js';
|
|
4
|
+
import '../chunk-OWCGEEAZ.js';
|
|
5
5
|
import '../chunk-TJSNVTVB.js';
|
|
6
6
|
import '../chunk-77QBZC7J.js';
|
|
7
7
|
import '../chunk-BI4EGLPG.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gelabs/ovr",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "The @gelabs/ovr SDK — one self-contained package over the OVR (Online Ordinance Violation Receipt) platform. A standalone per-LGU app installs ONLY this package and imports from @gelabs/ovr/{config,core,data,runtime,auth,ui,...}; the seven @gelabs/ovr-* implementation packages are bundled in at build time.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -158,14 +158,14 @@
|
|
|
158
158
|
"react-dom": "19.2.4",
|
|
159
159
|
"tsup": "^8.4.0",
|
|
160
160
|
"typescript": "^5",
|
|
161
|
+
"@gelabs/ovr-types": "0.0.0",
|
|
161
162
|
"@gelabs/ovr-config": "0.0.0",
|
|
162
|
-
"@gelabs/ovr-runtime": "0.0.0",
|
|
163
163
|
"@gelabs/ovr-data": "0.0.0",
|
|
164
|
-
"@gelabs/ovr-
|
|
165
|
-
"@gelabs/ovr-
|
|
166
|
-
"@gelabs/ovr-offline": "0.0.0",
|
|
164
|
+
"@gelabs/ovr-core": "0.0.0",
|
|
165
|
+
"@gelabs/ovr-runtime": "0.0.0",
|
|
167
166
|
"@gelabs/ovr-auth": "0.0.0",
|
|
168
|
-
"@gelabs/ovr-
|
|
167
|
+
"@gelabs/ovr-ui": "0.0.0",
|
|
168
|
+
"@gelabs/ovr-offline": "0.0.0"
|
|
169
169
|
},
|
|
170
170
|
"scripts": {
|
|
171
171
|
"build": "tsup && node scripts/copy-assets.mjs",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-OWCGEEAZ.js';
|
|
2
1
|
import { Money } from './chunk-BVI5XDDA.js';
|
|
2
|
+
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-OWCGEEAZ.js';
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
function ViolationsTable({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Alert, AlertDescription } from './chunk-EYFZWQ4J.js';
|
|
2
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from './chunk-M35R6JLA.js';
|
|
3
2
|
import { Money } from './chunk-BVI5XDDA.js';
|
|
3
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from './chunk-M35R6JLA.js';
|
|
4
4
|
import { Button } from './chunk-I4WDVYHX.js';
|
|
5
5
|
import { useCopy } from './chunk-TJSNVTVB.js';
|
|
6
6
|
import * as React from 'react';
|