fix(parcel-sync): static connection dots, legend position, mismatch labels
- ePay + eTerra pills: removed animate-ping, now show static green dot when connected (no more spinning appearance) - Legend moved to top-left, hides when FeatureInfoPanel is open (no more overlap) - Boundary mismatch parcels now show cadastral numbers as labels (orange for foreign, purple for edge parcels) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -64,10 +64,7 @@ export function ConnectionPill({
|
|||||||
{connecting ? (
|
{connecting ? (
|
||||||
<Loader2 className="h-3 w-3 animate-spin" />
|
<Loader2 className="h-3 w-3 animate-spin" />
|
||||||
) : session.connected ? (
|
) : session.connected ? (
|
||||||
<span className="relative flex h-2 w-2">
|
<span className="inline-flex h-2 w-2 rounded-full bg-emerald-500" />
|
||||||
<span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75" />
|
|
||||||
<span className="relative inline-flex h-2 w-2 rounded-full bg-emerald-500" />
|
|
||||||
</span>
|
|
||||||
) : session.eterraMaintenance ? (
|
) : session.eterraMaintenance ? (
|
||||||
<AlertTriangle className="h-3 w-3" />
|
<AlertTriangle className="h-3 w-3" />
|
||||||
) : connectionError ? (
|
) : connectionError ? (
|
||||||
|
|||||||
@@ -205,10 +205,7 @@ export function EpayConnect({
|
|||||||
{connecting ? (
|
{connecting ? (
|
||||||
<Loader2 className="h-3 w-3 animate-spin" />
|
<Loader2 className="h-3 w-3 animate-spin" />
|
||||||
) : status.connected ? (
|
) : status.connected ? (
|
||||||
<span className="relative flex h-2 w-2">
|
<span className="inline-flex h-2 w-2 rounded-full bg-emerald-500" />
|
||||||
<span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75" />
|
|
||||||
<span className="relative inline-flex h-2 w-2 rounded-full bg-emerald-500" />
|
|
||||||
</span>
|
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<span className="hidden sm:inline">ePay</span>
|
<span className="hidden sm:inline">ePay</span>
|
||||||
|
|||||||
@@ -364,6 +364,30 @@ export function MapTab({ siruta, sirutaValid }: MapTabProps) {
|
|||||||
"line-dasharray": [4, 2],
|
"line-dasharray": [4, 2],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Labels with cadastral numbers
|
||||||
|
map.addLayer({
|
||||||
|
id: "l-mismatch-label",
|
||||||
|
type: "symbol",
|
||||||
|
source: "boundary-mismatch",
|
||||||
|
layout: {
|
||||||
|
"text-field": ["coalesce", ["get", "cadastral_ref"], ""],
|
||||||
|
"text-font": ["Noto Sans Bold"],
|
||||||
|
"text-size": 11,
|
||||||
|
"text-anchor": "center",
|
||||||
|
"text-allow-overlap": true,
|
||||||
|
},
|
||||||
|
paint: {
|
||||||
|
"text-color": [
|
||||||
|
"case",
|
||||||
|
["==", ["get", "mismatch_type"], "foreign"],
|
||||||
|
"#ea580c",
|
||||||
|
"#9333ea",
|
||||||
|
],
|
||||||
|
"text-halo-color": "#ffffff",
|
||||||
|
"text-halo-width": 1.5,
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
@@ -475,8 +499,9 @@ export function MapTab({ siruta, sirutaValid }: MapTabProps) {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Bottom-right: legend */}
|
{/* Top-left: legend (hidden when feature panel is open) */}
|
||||||
<div className="absolute bottom-3 right-3 z-10 rounded-lg bg-background/90 border p-2 text-[10px] space-y-1">
|
{!clickedFeature && (
|
||||||
|
<div className="absolute top-3 left-3 z-10 rounded-lg bg-background/90 border p-2 text-[10px] space-y-1">
|
||||||
<div className="flex items-center gap-1.5">
|
<div className="flex items-center gap-1.5">
|
||||||
<span
|
<span
|
||||||
className="inline-block h-3 w-3 rounded-sm"
|
className="inline-block h-3 w-3 rounded-sm"
|
||||||
@@ -543,6 +568,7 @@ export function MapTab({ siruta, sirutaValid }: MapTabProps) {
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user