feat(branding): add white-label branding system (v0.52.0)
Some checks failed
Go / build-and-release (push) Has been cancelled
Some checks failed
Go / build-and-release (push) Has been cancelled
Add runtime-customizable branding allowing relay operators to fully customize UI appearance without rebuilding: - Custom logo, favicon, and PWA icons - Full CSS override capability (colors, themes, components) - Custom app name, title, and NIP-11 relay info - init-branding command with --style generic|orly options - Transparent PNG generation for generic branding New files: - app/branding/ package (branding.go, init.go, types.go) - docs/BRANDING_GUIDE.md Environment variables: - ORLY_BRANDING_DIR: branding directory path - ORLY_BRANDING_ENABLED: enable/disable custom branding Usage: ./orly init-branding --style generic Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -115,6 +115,20 @@ func (s *Server) HandleRelayInfo(w http.ResponseWriter, r *http.Request) {
|
||||
description := version.Description + " dashboard: " + s.DashboardURL(r)
|
||||
icon := "https://i.nostr.build/6wGXAn7Zaw9mHxFg.png"
|
||||
|
||||
// Override with branding config if available
|
||||
if s.brandingMgr != nil {
|
||||
nip11 := s.brandingMgr.NIP11Config()
|
||||
if nip11.Name != "" {
|
||||
name = nip11.Name
|
||||
}
|
||||
if nip11.Description != "" {
|
||||
description = nip11.Description
|
||||
}
|
||||
if nip11.Icon != "" {
|
||||
icon = nip11.Icon
|
||||
}
|
||||
}
|
||||
|
||||
// Override with managed ACL config if in managed mode
|
||||
if s.Config.ACLMode == "managed" {
|
||||
// Get managed ACL instance
|
||||
|
||||
Reference in New Issue
Block a user