#!/bin/bash
set -euo pipefail

decode_b64() {
  local value="$1"
  if printf '%s' "$value" | base64 -D >/dev/null 2>&1; then
    printf '%s' "$value" | base64 -D
  else
    printf '%s' "$value" | base64 -d
  fi
}

APP_URL="https://fs.creative-koala.com/open"
APP_NAME="$(decode_b64 '5Yib5oSP6ICD5ouJ5oql6ZSA57O757uf')"
ICON_URL="https://fs.creative-koala.com/koala-logo-solid.png"
DESKTOP="$HOME/Desktop"
LOG_DIR="$HOME/Library/Logs/CreativeKoala"
LOG_FILE="$LOG_DIR/install.log"
APP_PATH="$DESKTOP/$APP_NAME.app"
RESOURCES="$APP_PATH/Contents/Resources"
MACOS="$APP_PATH/Contents/MacOS"
ICON_PNG="$RESOURCES/koala-logo-solid.png"
ICON_ICNS="$RESOURCES/koala-logo.icns"
ICONSET="$(mktemp -d)/koala-logo.iconset"

mkdir -p "$DESKTOP" "$LOG_DIR"
{
  echo "Start install: $(date '+%Y-%m-%d %H:%M:%S')"
  echo "App path: $APP_PATH"
} > "$LOG_FILE"

rm -rf "$APP_PATH"
mkdir -p "$RESOURCES" "$MACOS"

if command -v curl >/dev/null 2>&1; then
  curl -fsSL "$ICON_URL" -o "$ICON_PNG"
fi

if [ -f "$ICON_PNG" ] && command -v sips >/dev/null 2>&1 && command -v iconutil >/dev/null 2>&1; then
  mkdir -p "$ICONSET"
  sips -z 16 16 "$ICON_PNG" --out "$ICONSET/icon_16x16.png" >/dev/null
  sips -z 32 32 "$ICON_PNG" --out "$ICONSET/icon_16x16@2x.png" >/dev/null
  sips -z 32 32 "$ICON_PNG" --out "$ICONSET/icon_32x32.png" >/dev/null
  sips -z 64 64 "$ICON_PNG" --out "$ICONSET/icon_32x32@2x.png" >/dev/null
  sips -z 128 128 "$ICON_PNG" --out "$ICONSET/icon_128x128.png" >/dev/null
  sips -z 256 256 "$ICON_PNG" --out "$ICONSET/icon_128x128@2x.png" >/dev/null
  sips -z 256 256 "$ICON_PNG" --out "$ICONSET/icon_256x256.png" >/dev/null
  sips -z 512 512 "$ICON_PNG" --out "$ICONSET/icon_256x256@2x.png" >/dev/null
  iconutil -c icns "$ICONSET" -o "$ICON_ICNS"
fi

cat > "$APP_PATH/Contents/Info.plist" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleName</key>
  <string>$APP_NAME</string>
  <key>CFBundleDisplayName</key>
  <string>$APP_NAME</string>
  <key>CFBundleExecutable</key>
  <string>open-url</string>
  <key>CFBundleIconFile</key>
  <string>koala-logo</string>
  <key>CFBundleIdentifier</key>
  <string>com.creativekoala.reimbursement</string>
  <key>CFBundlePackageType</key>
  <string>APPL</string>
  <key>CFBundleShortVersionString</key>
  <string>1.0</string>
</dict>
</plist>
EOF

cat > "$MACOS/open-url" <<EOF
#!/bin/bash
open "$APP_URL"
EOF
chmod +x "$MACOS/open-url"
touch "$APP_PATH"
xattr -dr com.apple.quarantine "$APP_PATH" >/dev/null 2>&1 || true

echo "Created: $APP_PATH" | tee -a "$LOG_FILE"
open -R "$APP_PATH" >/dev/null 2>&1 || true
read -n 1 -s -r -p "Done. Press any key to close."
