feat: catch-all page for stopped apps, deploy controls, dashboard open button
Stopped/undeployed app subdomains now show a branded page instead of Traefik 404. Deploy settings page gains start/stop/restart controls. Dashboard shows "Megnyitás" button for running apps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -171,6 +171,21 @@ func (s *Server) dashboardHandler(w http.ResponseWriter, r *http.Request) {
|
||||
data["CrossDriveFailed"] = crossDriveFailed
|
||||
}
|
||||
|
||||
// Build subdomain map for "Megnyitás" buttons
|
||||
subdomains := make(map[string]string)
|
||||
for _, stack := range deployedStacks {
|
||||
if stack.Deployed {
|
||||
if appCfg := s.stackMgr.LoadAppConfigByName(stack.Name); appCfg != nil {
|
||||
if sd, ok := appCfg.Env["SUBDOMAIN"]; ok && sd != "" {
|
||||
subdomains[stack.Name] = sd
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
subdomains[stack.Name] = stack.Meta.Subdomain
|
||||
}
|
||||
data["Subdomains"] = subdomains
|
||||
|
||||
if s.alertManager != nil {
|
||||
data["DiskWarnings"] = s.alertManager.GetInlineAlerts("dashboard")
|
||||
}
|
||||
@@ -303,6 +318,13 @@ func (s *Server) deployHandler(w http.ResponseWriter, r *http.Request, name stri
|
||||
}
|
||||
data["StoragePaths"] = deployPaths
|
||||
|
||||
// Effective subdomain for "Megnyitás" button
|
||||
if alreadyDeployed && appCfg != nil {
|
||||
if sd, ok := appCfg.Env["SUBDOMAIN"]; ok && sd != "" {
|
||||
data["EffectiveSubdomain"] = sd
|
||||
}
|
||||
}
|
||||
|
||||
// Storage info for already-deployed apps with HDD data
|
||||
if alreadyDeployed {
|
||||
storageInfo := s.storageInfoForStack(name)
|
||||
|
||||
Reference in New Issue
Block a user