Indeed, Tramp doesn't like your fancy prompt. The Tramp manual explains what to do, the FAQ section. In short, you shall add to your remote .profile
[[ $TERM == "dumb" ]] && PS1='$ ' && return
If the shell on the remote host is zsh, you need to set
[[ $TERM == "dumb" ]] && unsetopt zle &&...