defmodule AprsWeb.MapLive.Debug do @moduledoc false use AprsWeb, :live_view @default_center %{lat: 39.8283, lng: -98.5795} @default_zoom 5 def mount(_params, _session, socket) do socket = assign(socket, page_title: "Map Debug", map_center: @default_center, map_zoom: @default_zoom, debug_info: %{ leaflet_loaded: false, map_initialized: false, hook_mounted: false, map_ready: false, element_dimensions: nil, errors: [] } ) {:ok, socket} end def handle_event("debug_info", params, socket) do debug_info = Map.merge(socket.assigns.debug_info, params) {:noreply, assign(socket, debug_info: debug_info)} end def handle_event("map_ready", _params, socket) do debug_info = Map.put(socket.assigns.debug_info, :map_ready, true) {:noreply, assign(socket, debug_info: debug_info)} end def render(assigns) do ~H"""
Map Debug Panel
Map Dimensions:
Checking...
Leaflet Library:
{if @debug_info.leaflet_loaded, do: "✓ Loaded", else: "⏳ Loading..."}
Phoenix Hook:
{if @debug_info.hook_mounted, do: "✓ Mounted", else: "⏳ Waiting..."}
Map Initialization:
{if @debug_info.map_initialized, do: "✓ Initialized", else: "⏳ Waiting..."}
Map Ready:
{if @debug_info.map_ready, do: "✓ Ready", else: "⏳ Waiting..."}
<%= if length(@debug_info.errors) > 0 do %>
Errors:
<%= for error <- @debug_info.errors do %> • {error}
<% end %>
<% end %>
Test Actions:
Console Output:
Instructions:
1. Open browser dev tools (F12)
2. Check Console tab for errors
3. Watch this panel for status updates
4. Use test buttons to debug issues
""" end end