[IMPROVED] Añadir botón de Ayuda al diálogo de tokens con guías detalladas

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-15 12:31:48 -05:00
parent feed5c1089
commit c87444afa6
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26

View file

@ -136,8 +136,97 @@ manage_version_token() {
fi fi
fi fi
# Solicitar token de acceso # Mostrar pantalla de ayuda para tokens
dialog_input_pass "$token_prompt" "$token_helper" show_token_help() {
local vcs_type="$1"
local help_text=""
case "$vcs_type" in
"GitHub")
help_text="AYUDA PARA TOKENS DE GITHUB\n\n"
help_text+="Para generar un token personal en GitHub:\n\n"
help_text+="1. Inicie sesión en GitHub y vaya a Configuración -> Configuración de desarrollador -> Tokens de acceso personal\n"
help_text+=" URL: https://github.com/settings/tokens\n\n"
help_text+="2. Haga clic en 'Generar nuevo token'\n\n"
help_text+="3. Proporcione una nota descriptiva para el token\n\n"
help_text+="4. Seleccione los permisos necesarios:\n"
help_text+=" - Para uso general: repo, workflow, read:org\n"
help_text+=" - Para acceso más limitado, solo seleccione lo que necesite\n\n"
help_text+="5. Haga clic en 'Generar token'\n\n"
help_text+="6. Copie el token inmediatamente (solo se muestra una vez)"
;;
"GitLab")
help_text="AYUDA PARA TOKENS DE GITLAB\n\n"
help_text+="Para generar un token personal en GitLab:\n\n"
help_text+="1. Inicie sesión en GitLab y vaya a Preferencias -> Tokens de acceso\n"
help_text+=" URL: https://gitlab.com/-/profile/personal_access_tokens\n\n"
help_text+="2. Proporcione un nombre para el token\n\n"
help_text+="3. Opcionalmente, establezca una fecha de vencimiento\n\n"
help_text+="4. Seleccione los permisos necesarios:\n"
help_text+=" - Para uso general: api, read_repository, write_repository\n"
help_text+=" - Para acceso más limitado, solo seleccione lo que necesite\n\n"
help_text+="5. Haga clic en 'Crear token de acceso personal'\n\n"
help_text+="6. Copie el token inmediatamente (solo se muestra una vez)"
;;
"Forgejo")
help_text="AYUDA PARA TOKENS DE FORGEJO/CODEBERG\n\n"
help_text+="Para generar un token personal en Forgejo o Codeberg:\n\n"
help_text+="1. Inicie sesión en su instancia de Forgejo o en Codeberg\n\n"
help_text+="2. Vaya a Configuración -> Aplicaciones\n\n"
help_text+="3. En la sección 'Generar nuevo token', proporcione un nombre\n\n"
help_text+="4. Seleccione los permisos necesarios (alcances):\n"
help_text+=" - Para uso general: repo, repo:status\n"
help_text+=" - Para acceso más limitado, solo seleccione lo que necesite\n\n"
help_text+="5. Haga clic en 'Generar token'\n\n"
help_text+="6. Copie el token inmediatamente (solo se muestra una vez)"
;;
esac
dialog --backtitle "${title}" --title "Ayuda sobre tokens de $vcs_type" --msgbox "$help_text" 20 75
}
# Función personalizada para solicitar token con botón de ayuda
token_password_dialog() {
local prompt="$1"
local helper="$2"
local vcs_type="$3"
local button=0
local token=""
while [ $button -ne 1 ]; do
# Crear diálogo temporal
tempfile=$(mktemp)
# Mostrar diálogo con 3 botones (Cancelar, OK, Ayuda)
dialog --backtitle "${title}" --title "${apps_title}" \
--passwordbox "\n$prompt\n$helper" 12 70 \
--extra-button --extra-label "Ayuda" 2>"$tempfile"
button=$?
# Procesar resultado según el botón presionado
case $button in
0) # OK
value=$(cat "$tempfile")
codex=0
rm -f "$tempfile"
return 0
;;
1) # Cancelar
codex=1
rm -f "$tempfile"
return 1
;;
3) # Botón extra (Ayuda)
rm -f "$tempfile"
show_token_help "$vcs_type"
;;
esac
done
}
# Solicitar token de acceso con botón de ayuda
token_password_dialog "$token_prompt" "$token_helper" "$vcs_type"
if [ $codex -ne 0 ]; then if [ $codex -ne 0 ]; then
return 1 return 1
fi fi