● Zion Boggan
repos/Sightline/frontend/src/app/map/page.tsx
zionboggan.com ↗
26 lines · tsx
History for this file →
1
"use client";
2
import { useState } from "react";
3
import dynamic from "next/dynamic";
4
 
5
const IntelMap = dynamic(() => import("@/components/IntelMap"), { ssr: false,
6
  loading: () => <div className="card muted">Loading map…</div> });
7
 
8
const OPS = ["", "Flock Safety", "Motorola Solutions", "Genetec", "Police"];
9
 
10
export default function MapPage() {
11
  const [op, setOp] = useState("");
12
  return (
13
    <div>
14
      <h1>Live Map</h1>
15
      <p className="sub">Real ALPR/Flock camera network (OSM/DeFlock) + live imaging-satellite positions.</p>
16
      <div className="row" style={{ margin: "10px 0" }}>
17
        {OPS.map((o) => (
18
          <span key={o} className={"chip " + (op === o ? "on" : "")} onClick={() => setOp(o)}>
19
            {o || "All operators"}
20
          </span>
21
        ))}
22
      </div>
23
      <IntelMap operatorFilter={op || undefined} />
24
    </div>
25
  );
26
}