#!/bin/bash
#############################################
# LinuxDataSystem ProxmoxVE Branding Script
# Version  : ProxmoxVE v9.x
# Date     : 2025-09-08
# Author   : kwlee2@linuxdata.co.kr
#############################################
# ❗️ 수정할 파일 경로를 지정하세요.
JS_FILE="/usr/share/pve-manager/js/pvemanagerlib.js"

# $1 인자가 비어있는지 확인
if [ -z "$JS_FILE" ]; then
    echo "❌ 오류: 파일이 없습니다."
    exit 1
fi

# --- 사전 검증 로직 (추가된 부분) ---
# grep -q : 패턴을 찾으면 종료코드 0을 반환하고, 아무 출력도 하지 않습니다.
# 이를 이용해 파일에 특정 문자열이 있는지 확인할 수 있습니다.
if grep -q "^\s*xtype: 'proxmoxlogo', height: 50," "$JS_FILE"; then
    echo "✅ 이미 수정이 적용된 파일입니다. 작업을 중단합니다."
    exit 0
fi
# --- 사전 검증 끝 ---

echo "🔄 파일을 수정합니다..."

sed -i.bak \
-e "s/^\s*xtype: 'proxmoxlogo',$/& height: 50,/" \
-e "/^\s*border: false,$/{
    N
    s/\(border: false,\)\(\n\s*margin: '2 0 2 5',\)/\1 height: 50,\2/
}
" "$JS_FILE" && echo "✅ 파일이 성공적으로 수정되었습니다. (백업: $JS_FILE.bak)"

#########################
# LDS logo file create
echo "Creating LDS logo image..."
LOGO_FILE="/usr/share/pve-manager/images/proxmox_logo.png"

# create backup file
cp -rp "$LOGO_FILE" "$LOGO_FILE".orig

# Base64 Decoding
base64 -d > "$LOGO_FILE" <<EOF
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
EOF

echo "Logo image created."

