From 46678be02196f713da01a767d3792de49c718a73 Mon Sep 17 00:00:00 2001 From: abdoolyaro Date: Fri, 25 Sep 2026 06:00:38 +0000 Subject: [PATCH 1/3] chore(frontend): remove stale next.config.ts.bak (#1329) next.config.ts.bak was an out-of-date snapshot of next.config.ts (it predates the security headers block) sitting alongside the real config with no explanation. It isn't referenced by any build step or tooling, so it's leftover clutter rather than an intentional backup. Removed. --- frontend/next.config.ts.bak | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 frontend/next.config.ts.bak diff --git a/frontend/next.config.ts.bak b/frontend/next.config.ts.bak deleted file mode 100644 index 0c05faf8..00000000 --- a/frontend/next.config.ts.bak +++ /dev/null @@ -1,17 +0,0 @@ -import type { NextConfig } from "next"; -import createNextIntlPlugin from "next-intl/plugin"; - -const withNextIntl = createNextIntlPlugin("./i18n/request.ts"); - -const nextConfig: NextConfig = { - /* config options here */ - webpack: (config) => { - config.resolve.alias = { - ...config.resolve.alias, - canvas: false, - }; - return config; - }, -}; - -export default withNextIntl(nextConfig); From e54b47498fd4627eddc20aedb70fef19cb3d006f Mon Sep 17 00:00:00 2001 From: abdoolyaro Date: Fri, 25 Sep 2026 06:02:35 +0000 Subject: [PATCH 2/3] chore(frontend): add map route to Lighthouse CI budget (#1330) .lighthouserc.json only exercised "/" and "/verify", leaving out /map -- the heaviest page in the app (Leaflet + tile layer + marker rendering) and the one most likely to regress on performance. Added it to the collected URLs so it's covered by the same accessibility/performance assertions as the other routes. --- frontend/.lighthouserc.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/.lighthouserc.json b/frontend/.lighthouserc.json index d56d1f30..0a4c5b99 100644 --- a/frontend/.lighthouserc.json +++ b/frontend/.lighthouserc.json @@ -2,7 +2,11 @@ "ci": { "collect": { "numberOfRuns": 1, - "url": ["http://localhost:3000/", "http://localhost:3000/verify"] + "url": [ + "http://localhost:3000/", + "http://localhost:3000/verify", + "http://localhost:3000/map" + ] }, "assert": { "assertions": { From 8b42d66269177a22d6d65aa09d0dfba81b810c31 Mon Sep 17 00:00:00 2001 From: abdoolyaro Date: Fri, 25 Sep 2026 06:04:45 +0000 Subject: [PATCH 3/3] refactor(frontend): extract shared Parcel type for ParcelSidebar (#1331) DocumentStatus and ParcelDocument were defined inline in ParcelSidebar.tsx with no home in the shared types directory, so any future consumer of the parcel shape would have had to copy it by hand instead of importing a canonical type. Moved both into types/parcel.ts and re-exported them from ParcelSidebar.tsx for backward compatibility with any existing imports. --- frontend/components/map/ParcelSidebar.tsx | 23 +++++------------------ frontend/types/parcel.ts | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 frontend/types/parcel.ts diff --git a/frontend/components/map/ParcelSidebar.tsx b/frontend/components/map/ParcelSidebar.tsx index 8c623b20..f884582d 100644 --- a/frontend/components/map/ParcelSidebar.tsx +++ b/frontend/components/map/ParcelSidebar.tsx @@ -1,25 +1,12 @@ "use client"; import React, { useEffect, useRef } from "react"; +import type { DocumentStatus, ParcelDocument } from "@/types/parcel"; -// ───────────────────────────────────────────── -// Types -// ───────────────────────────────────────────── -export type DocumentStatus = "VERIFIED" | "PENDING" | "FLAGGED" | "REJECTED"; - -export interface ParcelDocument { - id: string; - name: string; - status: DocumentStatus; - /** 0–100 */ - riskScore: number; - ownerName: string | null; - isOwnedByViewer: boolean; - stellarAnchorDate: string | null; - stellarTxHash: string | null; - flags: string[]; - detailsUrl: string; -} +// Re-exported for backward compatibility with any existing imports of +// these types from this component file; the canonical definitions now +// live in @/types/parcel. +export type { DocumentStatus, ParcelDocument }; interface ParcelSidebarProps { document: ParcelDocument | null; diff --git a/frontend/types/parcel.ts b/frontend/types/parcel.ts new file mode 100644 index 00000000..d274285f --- /dev/null +++ b/frontend/types/parcel.ts @@ -0,0 +1,20 @@ +/** + * Shared shape for a parcel/document as consumed by the map sidebar + * (ParcelSidebar). Lives here so future consumers import this instead of + * duplicating the shape inline. + */ +export type DocumentStatus = "VERIFIED" | "PENDING" | "FLAGGED" | "REJECTED"; + +export interface ParcelDocument { + id: string; + name: string; + status: DocumentStatus; + /** 0–100 */ + riskScore: number; + ownerName: string | null; + isOwnedByViewer: boolean; + stellarAnchorDate: string | null; + stellarTxHash: string | null; + flags: string[]; + detailsUrl: string; +}