feat: add web dashboard with slide-in drawer navigation
- Flask backend with 23 API routes (entertainment, telegram, docker, system) - Alpine.js + Tailwind CSS dark-mode SPA with 4 tabs - pos-dashboard CLI tool with port/config management - Mobile slide-in drawer with swipe-to-close - Sticky header stays pinned on scroll - Tab completion fixes for category-less tools - POST /api/telegram/commands endpoint for adding commands
This commit is contained in:
+5
-11
@@ -2,6 +2,8 @@
|
||||
set -euo pipefail
|
||||
# POS: network ip — Show interfaces, routes, public IP + location
|
||||
|
||||
source "$(dirname "$0")/../lib/common.sh" 2>/dev/null || source "$(dirname "$0")/common.sh"
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: pos network ip
|
||||
@@ -15,11 +17,7 @@ case "${1:-}" in
|
||||
-h|--help) usage ;;
|
||||
esac
|
||||
|
||||
SEP() { printf '\u2550%.0s' $(seq 1 47); echo; }
|
||||
|
||||
SEP
|
||||
echo "Network Interfaces"
|
||||
SEP
|
||||
section "Network Interfaces"
|
||||
|
||||
ip -o -4 addr show | while read -r _ ifname _ ipaddr _; do
|
||||
printf "%-20s %s\n" "$ifname" "${ipaddr%%/*}"
|
||||
@@ -27,9 +25,7 @@ done
|
||||
|
||||
echo
|
||||
|
||||
SEP
|
||||
echo "Default Route"
|
||||
SEP
|
||||
section "Default Route"
|
||||
|
||||
gateway=$(ip route | awk '/default/ {print $3; exit}')
|
||||
iface=$(ip route | awk '/default/ {print $5; exit}')
|
||||
@@ -39,9 +35,7 @@ printf "%-20s %s\n" "Gateway" "${gateway:-N/A}"
|
||||
|
||||
echo
|
||||
|
||||
SEP
|
||||
echo "Public IP"
|
||||
SEP
|
||||
section "Public IP"
|
||||
|
||||
PUBLIC_IP=$(curl -4 -s --max-time 5 https://ifconfig.me 2>/dev/null) || true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user