# shellcheck shell=bash disable=SC2034,SC2154,SC2016
# https://gitea.com/api/swagger#/user/userCurrentListRepos
___x_cmd_fjo_user_repo_ls() {
    if ___x_cmd_gx_has_format_args "$@"; then
        ___x_cmd_fjo_user_repo_ll "$@"
        return
    fi

    param:scope     ___x_cmd_fjo
    param:dsl       '
options:
    --limit         "Results per page"                          <>:Numbers="30"
    --page          "Page number of the results to fetch."      <>:Numbers="1"
'
    param:run

    local url
    if [ $# -gt 0 ]; then
        url="/users/$1/repos"
    else
        url="/user/repos"
    fi

    if ___x_cmd_gx_is_interactive_env; then
        local ___X_CMD_TUI_TABLE_FINAL_COMMAND
        local ___X_CMD_TUI_TABLE_CUR_LINE
        local ___X_CMD_TUI_TABLE_CUR_ITEM
        local ___X_CMD_FJO_TUI_TABLE_REQUSET_DATA=''
        ___x_cmd_fjo_tui_app --url "$url" --limit "$limit" --page "$page" --___X_CMD_FCT_API_VENDOR "$___X_CMD_FCT_API_VENDOR" \
            --request-code '___x_cmd_fjo_get_multi "$url"'  \
            --error-msg "Get user repo list fail"           \
            --end ___x_cmd_fjo_user_repo_app_status_handler \
            "user.repo.app.awk"
    else
        ___x_cmd_fjo_get_multi "$url" | \
            ___x_cmd jo 2c  .name
    fi

}

___x_cmd_fjo_user_repo_app_status_handler(){
    case "$___X_CMD_TUI_TABLE_FINAL_COMMAND" in
            "ENTER")        printf "%s\n" "$___X_CMD_TUI_TABLE_CUR_LINE"  ;;
            "c")            ___x_cmd_fjo_repo_create                       ;;
            *)              return   ;;
    esac
}
