skyview/assets/assets.go
Ole-Morten Duesund 0d60592b9f Clean up codebase and fix server host binding for IPv6 support
Cleanup:
- Remove unused aircraft-icon.svg (replaced by type-specific icons)
- Remove test files: beast-dump-with-heli.bin, beast.test, main, old.json, ux.png
- Remove duplicate config.json.example (kept config.example.json)
- Remove empty internal/coverage/ directory
- Move CLAUDE.md to project root
- Update assets.go documentation to reflect current icon structure
- Format all Go code with gofmt

Server Host Binding Fix:
- Fix critical bug where server host configuration was ignored
- Add host parameter to Server struct and NewWebServer constructor
- Rename NewServer to NewWebServer for better clarity
- Fix IPv6 address formatting in server binding (wrap in brackets)
- Update startup message to show correct bind address format
- Support localhost-only, IPv4, IPv6, and interface-specific binding

This resolves the "too many colons in address" error for IPv6 hosts like ::1
and enables proper localhost-only deployment as configured.

Closes #15

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-24 18:36:14 +02:00

32 lines
1.3 KiB
Go

// Package assets provides embedded static web assets for the SkyView application.
//
// This package uses Go 1.16+ embed functionality to include all static web files
// directly in the compiled binary, eliminating the need for external file dependencies
// at runtime. The embedded assets include:
// - index.html: Main web interface with aircraft tracking map
// - css/style.css: Styling for the web interface
// - js/app.js: JavaScript client for WebSocket communication and map rendering
// - icons/*.svg: Type-specific SVG icons for aircraft markers
// - favicon.ico: Browser icon
//
// The embedded filesystem is used by the HTTP server to serve static content
// and enables single-binary deployment without external asset dependencies.
package assets
import "embed"
// Static contains all embedded static web assets from the static/ directory.
//
// Files are embedded at build time and can be accessed using the standard
// fs.FS interface. Path names within the embedded filesystem preserve the
// directory structure, so files are accessed as:
// - "static/index.html"
// - "static/css/style.css"
// - "static/js/app.js"
// - etc.
//
// This approach ensures the web interface is always available without requiring
// external file deployment or complicated asset management.
//
//go:embed static
var Static embed.FS