#!/usr/bin/env bash
# CyberDeck Pi kiosk setup — installs a browser and autostarts it full-screen
# against your Perfect World market. Run this AFTER flashing Raspberry Pi OS
# and completing first boot (raspi-config / initial user setup).
#
# Usage:
#   chmod +x pi-kiosk-setup.sh
#   ./pi-kiosk-setup.sh <your-market-slug>
#
# Example:
#   ./pi-kiosk-setup.sh las-cruces
#
# What this does:
#   1. Installs Chromium if it isn't already present.
#   2. Disables screen blanking/DPMS so the kiosk display never sleeps.
#   3. Writes an autostart entry that launches Chromium in kiosk mode
#      pointed at your market's front page on every boot.
#
# This does NOT touch your window manager's other settings, does NOT disable
# the desktop for non-kiosk use, and does NOT install anything beyond a
# browser — review it before running, like any script from the internet.
set -euo pipefail

MARKET="${1:-}"
if [ -z "$MARKET" ]; then
  echo "usage: $0 <your-market-slug>" >&2
  echo "example: $0 las-cruces" >&2
  exit 1
fi

URL="https://everythingisperfect.org/m/${MARKET}/"

if ! command -v chromium-browser >/dev/null 2>&1 && ! command -v chromium >/dev/null 2>&1; then
  echo "==> installing chromium"
  sudo apt-get update
  sudo apt-get install -y chromium-browser || sudo apt-get install -y chromium
fi
BROWSER_BIN="$(command -v chromium-browser || command -v chromium)"

echo "==> disabling screen blanking"
mkdir -p "$HOME/.config/lxsession/LXDE-pi"
cat >> "$HOME/.config/lxsession/LXDE-pi/autostart" <<EOF
@xset s off
@xset -dpms
@xset s noblank
EOF

echo "==> writing kiosk autostart entry for market: $MARKET"
mkdir -p "$HOME/.config/autostart"
cat > "$HOME/.config/autostart/cyberdeck-kiosk.desktop" <<EOF
[Desktop Entry]
Type=Application
Name=CyberDeck Kiosk
Exec=$BROWSER_BIN --kiosk --noerrdialogs --disable-infobars --incognito "$URL"
X-GNOME-Autostart-enabled=true
EOF

echo "==> done. Reboot to launch the kiosk against $URL"
