fix(radar): open camera intelligence & directory records in-map, eliminate view switching

This commit is contained in:
2026-09-12 09:39:07 -07:00
parent fef8ab6417
commit 0e47dfa1d8
4 changed files with 199 additions and 42 deletions
+70 -10
View File
@@ -28,7 +28,7 @@
<meta name="apple-mobile-web-app-title" content="FlockRadar">
<!-- Main Stylesheet -->
<link rel="stylesheet" href="css/styles.css?v=9">
<link rel="stylesheet" href="css/styles.css?v=10">
</head>
<body>
@@ -886,11 +886,71 @@
</a>
</div>
<!-- Public Transparency Portal Link -->
<div id="proof-portal-link-box" style="margin-top: 16px; text-align: center;">
<button id="btn-proof-open-portal" class="btn-secondary" style="width: 100%; padding: 12px;">
Inspect Official Transparency Portal & Policy Records ↗
</button>
<!-- Specific Agency Directory Records & Surveillance Policy -->
<div class="modal-section proof-directory-records-section" id="proof-directory-records-section" style="margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border-subtle);">
<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;">
<h3 class="modal-section-title" style="margin: 0; font-size: 0.95rem; color: #38bdf8; display: flex; align-items: center; gap: 6px;">
<span>📋</span>
<span>Agency Surveillance & Policy Records</span>
</h3>
<span id="proof-dir-source-badge" style="font-size: 0.72rem; padding: 2px 8px; border-radius: 10px; background: rgba(56, 189, 248, 0.15); color: #38bdf8; border: 1px solid rgba(56, 189, 248, 0.3);">
Official Transparency Data
</span>
</div>
<!-- 4-Box Key Stats (Cameras, Volume, Searches, Retention) -->
<div class="proof-specs-grid" style="margin-bottom: 14px;">
<div class="proof-spec-card">
<span class="spec-label">CAMERAS IN FLEET</span>
<span class="spec-val" id="proof-dir-cameras" style="color: #38bdf8;">--</span>
</div>
<div class="proof-spec-card">
<span class="spec-label">30-DAY DETECTIONS</span>
<span class="spec-val" id="proof-dir-volume" style="color: #34d399;">--</span>
</div>
<div class="proof-spec-card">
<span class="spec-label">POLICE SEARCHES</span>
<span class="spec-val" id="proof-dir-searches">--</span>
</div>
<div class="proof-spec-card">
<span class="spec-label">DATA RETENTION</span>
<span class="spec-val" id="proof-dir-retention" style="color: #fbbf24;">30 Days Auto-Purge</span>
</div>
</div>
<!-- Inter-Agency Data Sharing Network -->
<div class="proof-sharing-section" style="margin-bottom: 14px; background: rgba(15, 23, 42, 0.6); border: 1px solid rgba(148, 163, 184, 0.15); border-radius: 12px; padding: 12px 14px;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px;">
<strong style="font-size: 0.8rem; color: #e2e8f0; display: flex; align-items: center; gap: 6px;">
<span>🔗</span> Inter-Agency Surveillance Sharing:
</strong>
<span id="proof-dir-sharing-count" style="font-size: 0.75rem; color: #38bdf8; font-weight: 700;">Regional Law Enforcement</span>
</div>
<p style="font-size: 0.74rem; color: #94a3b8; margin: 0 0 8px; line-height: 1.4;">
Plate reads from this camera are broadcast to regional and federal law enforcement partners:
</p>
<div id="proof-dir-sharing-tags" style="display: flex; flex-wrap: wrap; gap: 5px; max-height: 90px; overflow-y: auto;">
<!-- Sharing tags rendered dynamically -->
</div>
</div>
<!-- Top Search Justifications -->
<div id="proof-dir-reasons-box" style="margin-bottom: 14px; background: rgba(15, 23, 42, 0.6); border: 1px solid rgba(148, 163, 184, 0.15); border-radius: 12px; padding: 12px 14px;">
<strong style="font-size: 0.8rem; color: #e2e8f0; display: block; margin-bottom: 6px;">
🔍 Primary Search Audit Reasons:
</strong>
<div id="proof-dir-reasons-list" style="display: flex; flex-direction: column; gap: 4px; font-size: 0.75rem; color: #cbd5e1;">
<!-- Rendered dynamically -->
</div>
</div>
<!-- Official City Portal Link (Opens in New Tab - Never leaves the radar map) -->
<div id="proof-portal-link-box" style="margin-top: 12px;">
<a id="btn-proof-official-portal" href="#" target="_blank" rel="noopener noreferrer" class="btn-secondary" style="width: 100%; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; border-color: #06b6d4; color: #38bdf8; font-weight: 600;">
<span>🌐</span>
<span id="btn-proof-portal-text">Open Official Transparency Portal ↗</span>
</a>
</div>
</div>
<!-- Admin Removal Control (Only Active for Custom Placed Pins) -->
@@ -971,10 +1031,10 @@
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
<!-- Data & Application Logic with Cache Busting -->
<script src="data/portals.js?v=9"></script>
<script src="js/auth.js?v=9"></script>
<script src="js/radar.js?v=9"></script>
<script src="js/app.js?v=9"></script>
<script src="data/portals.js?v=10"></script>
<script src="js/auth.js?v=10"></script>
<script src="js/radar.js?v=10"></script>
<script src="js/app.js?v=10"></script>
<!-- Service Worker Instant Cache Invalidation -->
<script>