package main
import "strings"
func (m model) viewVerify() string {
if !m.verifyDone {
return stylePanel.Render(m.spin.View() + " " + styleBody.Render("Vérification finale…"))
}
var b strings.Builder
for _, v := range m.verify {
g := glyph(statusWarn)
if v.OK {
g = glyph(statusOK)
}
b.WriteString(row(g, v.Label, v.Detail) + "\n")
}
switch {
case !m.ctlInstallDone:
b.WriteString(row(m.spin.View(), "gitfed-ctl (mises à jour futures)", "installation…") + "\n")
case m.ctlInstallErr != nil:
b.WriteString(row(glyph(statusWarn), "gitfed-ctl (mises à jour futures)", "échec — voir INSTALL.md") + "\n")
default:
b.WriteString(row(glyph(statusOK), "gitfed-ctl (mises à jour futures)", "installé") + "\n")
}
return stylePanel.Render(b.String())
}
func (m model) viewAccount() string {
var b strings.Builder
b.WriteString(styleBody.Render(
"Il n'y a aucun compte au démarrage, et pas d'auto-inscription — c'est volontaire.\n"+
"On va lancer l'outil d'administration existant, directement contre le pod, pour\n"+
"que tu crées ton premier compte en interactif (nom, clé SSH publique, mot de\n"+
"passe, puis répondre "+styleBold.Render("y")+" à la question admin).") + "\n\n")
b.WriteString(styleMuted.Render("La commande qui va s'exécuter :") + "\n")
b.WriteString(styleAccent.Render(
"kubectl -n gitfed exec -it deployment/gitfed -c server -- \\\n"+
" gitfed-tui -config /etc/gitfed/gitfed.json") + "\n\n")
b.WriteString(styleBody.Render("Cet assistant se met en pause pendant ce temps — tu reviens ici en quittant gitfed-tui."))
return stylePanel.Render(b.String())
}
func (m model) viewSuccess() string {
domain := m.domainInput.Value()
var b strings.Builder
b.WriteString(styleOK.Render("✓ gitfed est en ligne") + "\n\n")
b.WriteString(row("", "Interface web", "https://"+domain) + "\n")
b.WriteString(row("", "Connexion", "https://"+domain+"/login") + "\n")
b.WriteString(row("", "Clone SSH", "git clone ssh://git@"+domain+":2222/<utilisateur>/<dépôt>") + "\n\n")
updateHint := "sudo gitfed-ctl depuis ce checkout"
if m.ctlInstallErr != nil {
updateHint = "deploy/update.sh (l'installation de gitfed-ctl a échoué — voir INSTALL.md)"
}
b.WriteString(styleMuted.Render(
"Suggéré pour la suite : sauvegardes régulières (deploy/backup.sh), mises à jour\n" +
"(" + updateHint + "), et la page /security de ta propre instance pour le détail\n" +
"du modèle de confiance."))
return stylePanel.Render(b.String())
}