From c87444afa63d92a26e568243b7f20b884b208af9 Mon Sep 17 00:00:00 2001 From: "Mauro Rosero P." Date: Sat, 15 Mar 2025 12:31:48 -0500 Subject: [PATCH] =?UTF-8?q?[IMPROVED]=20A=C3=B1adir=20bot=C3=B3n=20de=20Ay?= =?UTF-8?q?uda=20al=20di=C3=A1logo=20de=20tokens=20con=20gu=C3=ADas=20deta?= =?UTF-8?q?lladas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 馃 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- bin/cversion_token.sh | 93 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 2 deletions(-) diff --git a/bin/cversion_token.sh b/bin/cversion_token.sh index f63ffca..47014dd 100755 --- a/bin/cversion_token.sh +++ b/bin/cversion_token.sh @@ -136,8 +136,97 @@ manage_version_token() { fi fi - # Solicitar token de acceso - dialog_input_pass "$token_prompt" "$token_helper" + # Mostrar pantalla de ayuda para tokens + 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 return 1 fi