#!/usr/bin/env bash # 🔮 Amethyst Cloud Storage - Standalone Desktop Client Başlatıcı # Pardus & Linux için tek tıkla çalıştırma set -e DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$DIR/desktop-client" echo "==========================================================" echo "🔮 Amethyst Cloud Storage - Masaüstü İstemcisi Başlatılıyor" echo "==========================================================" # 1. Gerekli node_modules denetimi if [ ! -d "node_modules/electron" ]; then echo "[Amethyst Desktop] İlk çalıştırma: Electron yükleniyor..." npm install --save-dev electron fi # 2. IP / URL Parametre Çözümleme (Komut argümanı > Ortam Değişkeni > .env > localhost) CLI_PARAM="$1" if [[ "$CLI_PARAM" =~ ^http ]]; then TARGET_URL="$CLI_PARAM" shift || true elif [ -n "$CLI_PARAM" ] && [[ ! "$CLI_PARAM" =~ ^- ]]; then TARGET_URL="http://${CLI_PARAM}/" shift || true fi # .env dosyasından SERVER_IP oku if [ -z "$TARGET_URL" ] && [ -f "$DIR/.env" ]; then SERVER_IP_VAL=$(grep '^SERVER_IP=' "$DIR/.env" | cut -d '=' -f2 | tr -d ' "' || true) fi SERVER_HOST="${SERVER_IP_VAL:-${SERVER_IP:-localhost}}" export AMETHYST_SERVER_URL="${TARGET_URL:-${AMETHYST_SERVER_URL:-http://${SERVER_HOST}/}}" echo "[Amethyst Desktop] Hedef Sunucu Adresi: $AMETHYST_SERVER_URL" echo "[Amethyst Desktop] Ametist arayüzü ve sistem tepsisi yükleniyor..." # Linux & Pardus Wayland/X11 Tray uyumluluğu için ortam değişkenleri export ELECTRON_OZONE_PLATFORM_HINT="auto" npx electron . "$@"