#!/bin/bash

# Et robust script til at vælge og forbinde til Wi-Fi,
# der åbner en ny terminal for at spørge om password.

# Viser listen af netværk i vores stylede wofi-menu
CHOSEN_SSID=$(nmcli -t -f SSID,IN-USE device wifi list --rescan yes | sed '/\*/d' | sed 's/\\:/-/g' | sort -u | wofi \
    --show dmenu \
    --conf "$HOME/.config/wofi/config-network" \
    --style "$HOME/.config/wofi/style.css" \
    -p "Vælg Wi-Fi Netværk")

# Afslut hvis intet blev valgt (brugeren trykkede Esc)
if [ -z "$CHOSEN_SSID" ]; then
    exit 0
fi

# Tjek om vi allerede er forbundet til det valgte netværk
# '-w' for præcist match, '-q' for stille
if nmcli connection show --active | grep -wq "^${CHOSEN_SSID}"; then
    # Hvis ja, så gør intet.
    exit 0
fi

# Tjek om der findes en gemt forbindelse med dette navn
if nmcli connection show | grep -wq "^${CHOSEN_SSID}"; then
    # Hvis ja, aktiver den i et nyt terminalvindue, så brugeren ser status.
    kitty --title "Forbinder til Wi-Fi..." bash -c "nmcli connection up '$CHOSEN_SSID'; read -p 'Forbindelse aktiveret. Tryk Enter for at lukke.'"
else
    # Hvis nej, er det et nyt netværk.
    # Åbn en ny terminal, der kører 'nmcli' med '--ask' flaget for at bede om password.
    kitty --title "Netværks-adgangskode" bash -c "nmcli device wifi connect '$CHOSEN_SSID' --ask; read -p 'Tryk Enter for at lukke...'"
fi
