2.9 KiB
2.9 KiB
LiveView Pages
Non-map LiveView pages in the application.
Packet Streams
PacketsLive.Index (/packets)
- Real-time stream of all incoming packets (max 100)
- Subscribes to
"postgres:aprsme_packets"Phoenix PubSub topic - Uses
stream/4for efficient DOM updates
PacketsLive.CallsignView (/packets/:callsign)
- Filtered packet stream for a single callsign
- Subscribes to
"packets:#{callsign}"topic - Includes device information parsed per-packet
Station Info
InfoLive.Show (/info/:callsign)
- Comprehensive station information page
- Latest packet details, device identification
- Nearby stations via spatial query (neighbors)
- APRS path decoding — "heard by" and "stations heard" analysis
- Digipeater relationships
- APRS symbol rendering
- Embedded single-station map via
InfoMapComponent(JS hook) - Subscribes to
"packets:#{callsign}"for live updates
Weather
WeatherLive.CallsignView (/weather/:callsign)
- Weather station data visualization with Chart.js charts
- Temperature, humidity, wind, pressure, rainfall trends
- Locale-aware unit conversions (metric/imperial)
- Subscribes to
"weather:#{callsign}"for live updates - Pushes
"update_weather_charts"events to refresh Chart.js
Status
StatusLive.Index (/status)
- System status dashboard
- APRS-IS connection state, uptime, health score
- Cluster node information (when clustered)
- Polls every 5 seconds via
Process.send_after - Inline
render/1(no template file) - Subscribes to
"aprs_status"topic
Bad Packets
BadPacketsLive.Index (/badpackets)
- Malformed/rejected packet viewer
- Shows raw packet data + error type/message
- Debounced refresh (2s delay)
- Subscribes to
"postgres:aprsme_events"
Static Pages
AboutLive (/about)
- Simple about page, title assign only
ApiDocsLive (/api)
- API documentation with interactive testing form
- Inline render (~970 lines)
- Self-documenting with example requests/responses
Authentication Pages
All auth LiveViews use inline render/1:
| LiveView | Route | Auth Pipeline |
|---|---|---|
UserLoginLive |
/users/log_in |
redirect_if_user_is_authenticated |
UserRegistrationLive |
/users/register |
redirect_if_user_is_authenticated |
UserForgotPasswordLive |
/users/reset_password |
redirect_if_user_is_authenticated |
UserResetPasswordLive |
/users/reset_password/:token |
redirect_if_user_is_authenticated |
UserConfirmationLive |
/users/confirm/:token |
:current_user |
UserConfirmationInstructionsLive |
/users/confirm |
:current_user |
UserSettingsLive |
/users/settings |
require_authenticated_user |
Shared LiveView Modules
Located in lib/aprsme_web/live/shared/:
BoundsUtils— Map boundary calculationsPacketHandler— Shared packet enrichmentParamUtils— URL parameter parsingPacketUtils— Shared packet queryingCoordinateUtils— Coordinate math