v0.319.0: the app page in panels, the login in one place, a password the box never had is said in words
gates / gates (push) Successful in 52s
gates / gates (push) Successful in 52s
- style A (operator 2026-10-16): hero, tab bar and every section are panels on --bg-1, one width, 16px apart; the install page's form groups use the same rule; the settings tab's 700px inner wrapper is gone - „Belépés az alkalmazásba": name + password side by side, fetched on demand (R-254, R-709); pairing in app_login.go - the empty-value rule: no stored value -> a sentence, never an eye; page and reveal endpoint share storedValuePresent - „Cím és kulcsok" is rows (no Domain input, no disabled storage select, no install form); hint under the title - tests red-proved: app_page_tuning_test.go (4); 36 app-page parity fixtures re-captured, 4 new; install fixtures unchanged Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
@@ -187,6 +187,18 @@ func i18nCasesA() []i18nCase {
|
||||
{"deploy_new_memory_blocked", "deploy", func() map[string]interface{} {
|
||||
return i18nDeployData(false, stacks.StateNotDeployed, 3)
|
||||
}},
|
||||
// v0.319.0: `/apps/{slug}/install` opened for an app that IS installed — the form read-only, its
|
||||
// secrets fetched on demand. The settings tab stopped rendering this form, so these two cases are
|
||||
// what renders its installed-app branches now.
|
||||
{"deploy_installed", "deploy", func() map[string]interface{} {
|
||||
return i18nDeployData(true, stacks.StateRunning, 1)
|
||||
}},
|
||||
{"deploy_installed_restored", "deploy", func() map[string]interface{} {
|
||||
d := i18nDeployData(true, stacks.StateRunning, 1)
|
||||
d["DeployedFieldValues"] = map[string]string{"SUBDOMAIN": "paste"}
|
||||
d["RestoredLogins"] = map[string]bool{"ADMIN_PASSWORD": true}
|
||||
return d
|
||||
}},
|
||||
{"app_settings_running", "app_settings", func() map[string]interface{} {
|
||||
return i18nDeployData(true, stacks.StateRunning, 1)
|
||||
}},
|
||||
@@ -198,6 +210,26 @@ func i18nCasesA() []i18nCase {
|
||||
d := i18nDeployData(true, stacks.StateRunning, 1)
|
||||
d["DeployedFieldValues"] = map[string]string{"SUBDOMAIN": "paste"}
|
||||
d["RestoredLogins"] = map[string]bool{"ADMIN_PASSWORD": true}
|
||||
d["LoginFields"] = []AppLoginField{{EnvVar: "ADMIN_PASSWORD", Label: "Admin jelszó mező", OnDemand: true, Stored: true, Restored: true}}
|
||||
return d
|
||||
}},
|
||||
// v0.319.0: the box holds no login value (Calibre-Web installed before its template had one) —
|
||||
// a sentence for each half, never an eye that answers 404.
|
||||
{"app_settings_login_not_stored", "app_settings", func() map[string]interface{} {
|
||||
d := i18nDeployData(true, stacks.StateRunning, 1)
|
||||
d["LoginFields"] = []AppLoginField{
|
||||
{EnvVar: "ADMIN_USER", Label: "Admin név mező", IsName: true, OnDemand: true},
|
||||
{EnvVar: "ADMIN_PASSWORD", Label: "Admin jelszó mező", OnDemand: true},
|
||||
}
|
||||
return d
|
||||
}},
|
||||
// v0.319.0: a plain-text login name (Nextcloud, Paperless) is shown as text beside the password.
|
||||
{"app_settings_login_text_name", "app_settings", func() map[string]interface{} {
|
||||
d := i18nDeployData(true, stacks.StateRunning, 2)
|
||||
d["LoginFields"] = []AppLoginField{
|
||||
{EnvVar: "PAPERLESS_ADMIN_USER", Label: "Admin név mező", IsName: true, Value: "konyveles", Stored: true},
|
||||
{EnvVar: "PAPERLESS_ADMIN_PASSWORD", Label: "Admin jelszó mező", OnDemand: true, Stored: true},
|
||||
}
|
||||
return d
|
||||
}},
|
||||
{"settings_system_full", "settings_system", func() map[string]interface{} {
|
||||
@@ -399,5 +431,18 @@ func i18nDeployData(deployed bool, st stacks.ContainerState, variant int) map[st
|
||||
d["CurrentHDDPathMissing"] = true
|
||||
d["StoragePaths"] = nil
|
||||
}
|
||||
// v0.319.0: the settings tab's login panel and „Cim es kulcsok" rows (app_login.go). The install
|
||||
// page reads neither key, so its fixtures do not move.
|
||||
if deployed {
|
||||
d["CurrentHDDLabel"] = "HDD egy"
|
||||
d["LoginFields"] = []AppLoginField{
|
||||
{EnvVar: "ADMIN_USER", Label: "Admin név mező", IsName: true, OnDemand: true, Stored: true},
|
||||
{EnvVar: "ADMIN_PASSWORD", Label: "Admin jelszó mező", OnDemand: true, Stored: true},
|
||||
}
|
||||
d["SettingsRows"] = []AppSettingRow{
|
||||
{EnvVar: "SECRET_KEY", Label: "Titkos kulcs érték", OnDemand: true},
|
||||
{EnvVar: "LANG_SEL", Label: "Felület nyelve", Value: "Magyar nyelv"},
|
||||
}
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user