import React, { useId } from 'react' import { fs } from '../shared/DialogShell' import { EditorField, INPUT } from '../shared/dialogParts' import { SettingsCard, StatusPill } from '../Settings/settingsKit' import { useDevNotifications } from './useDevNotifications' import { Bell, Zap, CheckCircle, Navigation, User, Calendar, Clock, Image, MessageSquare, Tag, UserPlus, Download, MapPin, ChevronDown, FlaskConical, Loader2, Map as MapIcon, ShieldCheck, } from 'lucide-react' /** A native select in the editors' box look, with the chevron the CustomSelect draws. */ const SELECT = `${INPUT} appearance-none pe-9` function SelectBox({ id, children, ...rest }: React.SelectHTMLAttributes): React.ReactElement { return (
) } /** The buttons of one group, two to a row from a small window up. */ function ButtonGrid({ children }: { children: React.ReactNode }): React.ReactElement { return
{children}
} export default function DevNotificationsPanel(): React.ReactElement { const ids = useId() const { sending, trips, selectedTripId, setSelectedTripId, users, selectedUserId, setSelectedUserId, tripInviteId, vacayInviteId, send, } = useDevNotifications() // ── Helpers ────────────────────────────────────────────────────────────── const Btn = ({ id, label, sub, icon: Icon, onClick, }: { id: string; label: string; sub: string; icon: React.ElementType; onClick: () => void }) => ( ) return (
{/* ── Type Testing ─────────────────────────────────────────────────── */} {/* The whole tab is a dev build's tool; the first card, always there, says so in its band. */} DEV ONLY} > {/* ── Trip-Scoped Events ───────────────────────────────────────────── */} {trips.length > 0 && ( setSelectedTripId(Number(e.target.value))} > {trips.map(trip => )} )} {/* ── User-Scoped Events ───────────────────────────────────────────── */} {users.length > 0 && ( setSelectedUserId(Number(e.target.value))} > {users.map(u => )} )} {/* ── Admin-Scoped Events ──────────────────────────────────────────── */}
) }