feat: add admin controls to manage and delete placed camera pins while protecting municipal portals

This commit is contained in:
2026-09-12 09:14:58 -07:00
parent b10b6e0f2f
commit 872be94476
3 changed files with 222 additions and 3 deletions
+36
View File
@@ -221,6 +221,11 @@
<span>Place Camera 400ft Ahead</span>
</button>
<button id="btn-admin-manage-pins" class="btn-hud-action" title="Admin: Manage and remove cameras you placed (the 1,439 official municipal portals are protected)">
<span>🗑️</span>
<span>Admin: Placed Pins</span>
</button>
<button id="btn-test-alert" class="btn-hud-action" title="Immediately test voice alert and radar siren">
<span>🔊</span>
<span>Test Alert Voice</span>
@@ -687,6 +692,26 @@
Continue as Guest Scout
</button>
</div>
<!-- Admin Camera Management Section -->
<div class="admin-profile-section" style="margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border-subtle);">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
<h4 style="font-size: 0.9rem; color: #f8fafc; display: flex; align-items: center; gap: 6px;">
<span>🛡️</span>
<span>Admin: Manage Placed Cameras</span>
</h4>
<span id="admin-placed-count" style="font-size: 0.75rem; color: #38bdf8; background: rgba(56, 189, 248, 0.15); padding: 2px 8px; border-radius: 10px;">0 Placed</span>
</div>
<p style="font-size: 0.76rem; color: #94a3b8; margin-bottom: 12px;">
Manage and remove any cameras you placed or tested. The 1,439 official municipal transparency portals remain permanent and protected.
</p>
<div id="admin-placed-cams-list" style="max-height: 160px; overflow-y: auto; margin-bottom: 12px; display: flex; flex-direction: column; gap: 6px;">
<!-- Rendered via JS -->
</div>
<button type="button" id="btn-admin-clear-all-placed" class="btn-secondary" style="width: 100%; padding: 10px; color: #f87171; border-color: rgba(239, 68, 68, 0.4); justify-content: center;">
🗑️ Clear All Placed Pins (Keep Real Locations)
</button>
</div>
</form>
</div>
</dialog>
@@ -839,6 +864,17 @@
Inspect Official Transparency Portal & Policy Records ↗
</button>
</div>
<!-- Admin Removal Control (Only Active for Custom Placed Pins) -->
<div id="cam-admin-control-box" class="admin-control-box" style="margin-top: 16px; padding-top: 14px; border-top: 1px dashed rgba(239, 68, 68, 0.3); text-align: center; display: none;">
<button type="button" id="btn-admin-delete-cam" class="btn-admin-delete" style="width: 100%; padding: 11px; background: rgba(239, 68, 68, 0.15); border: 1px solid #ef4444; color: #f87171; border-radius: var(--radius-md); font-weight: 600; font-size: 0.82rem; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.2s ease;">
<span>🗑️</span>
<span>Admin: Delete This Placed Camera</span>
</button>
<span style="display: block; font-size: 0.7rem; color: #94a3b8; margin-top: 5px;">
(Only available for custom placed pins. The 1,439 official municipal portals are permanent & protected.)
</span>
</div>
</div>
</dialog>