#!/bin/bash
# Скрипт для автоматической загрузки всех необходимых библиотек

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"

echo "Загрузка библиотек для админ-панели..."
echo ""

# Создаем необходимые директории
mkdir -p css/fonts
mkdir -p js

# Bootstrap CSS 5.3.2
echo "Загрузка Bootstrap CSS..."
curl -L -o css/bootstrap.min.css https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css

# Bootstrap JS Bundle 5.3.2
echo "Загрузка Bootstrap JS..."
curl -L -o js/bootstrap.bundle.min.js https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js

# Bootstrap Icons CSS 1.11.1
echo "Загрузка Bootstrap Icons CSS..."
curl -L -o css/bootstrap-icons.css https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css

# Bootstrap Icons Fonts
echo "Загрузка Bootstrap Icons Fonts..."
curl -L -o css/fonts/bootstrap-icons.woff2 https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/fonts/bootstrap-icons.woff2
curl -L -o css/fonts/bootstrap-icons.woff https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/fonts/bootstrap-icons.woff

# Исправляем пути к шрифтам в bootstrap-icons.css
if [[ "$OSTYPE" == "darwin"* ]]; then
    # macOS
    sed -i '' 's|url("../fonts/|url("fonts/|g' css/bootstrap-icons.css
else
    # Linux
    sed -i 's|url("../fonts/|url("fonts/|g' css/bootstrap-icons.css
fi

# D3.js v7
echo "Загрузка D3.js..."
curl -L -o js/d3.min.js https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js

# Chart.js 4.4.0
echo "Загрузка Chart.js..."
curl -L -o js/chart.umd.min.js https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js

# SortableJS Latest
echo "Загрузка SortableJS..."
curl -L -o js/sortable.min.js https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js

# Vue 3 runtime-only (без компилятора шаблонов — совместимо с CSP без unsafe-eval)
echo "Загрузка Vue 3 (runtime)..."
curl -L -o js/vue.runtime.global.prod.js https://cdn.jsdelivr.net/npm/vue@3.4.21/dist/vue.runtime.global.prod.js

# Vue I18n 9 (глобальная сборка для использования после Vue)
echo "Загрузка Vue I18n..."
curl -L -o js/vue-i18n.global.prod.js https://cdn.jsdelivr.net/npm/vue-i18n@9.14.0/dist/vue-i18n.global.prod.js

# Swagger UI 5.10.3 (API Explorer 1.0.5)
echo "Загрузка Swagger UI..."
mkdir -p swagger
curl -L -o swagger/swagger-ui.css https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.10.3/swagger-ui.css
curl -L -o swagger/swagger-ui-bundle.js https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.10.3/swagger-ui-bundle.js
curl -L -o swagger/swagger-ui-standalone-preset.js https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.10.3/swagger-ui-standalone-preset.js

echo ""
echo "✅ Все библиотеки успешно загружены!"
echo ""
echo "Загруженные файлы:"
echo "  CSS:"
echo "    - css/bootstrap.min.css"
echo "    - css/bootstrap-icons.css"
echo "    - css/fonts/bootstrap-icons.woff2"
echo "    - css/fonts/bootstrap-icons.woff"
echo "  JS:"
echo "    - js/bootstrap.bundle.min.js"
echo "    - js/d3.min.js"
echo "    - js/chart.umd.min.js"
echo "    - js/sortable.min.js"
echo "    - js/vue.runtime.global.prod.js"
echo "    - js/vue-i18n.global.prod.js"
