#!/bin/bash
# Установка/восстановление кастомизации F7 Office поверх coolwsd/code-brand.
# Запуск: sudo ./install-f7office.sh [--dry-run]
# Ожидается запуск из корня репозитория, где есть каталоги etc/ и usr/.

set -e
DRY_RUN=""
[ "$1" = "--dry-run" ] && DRY_RUN="echo" && shift

ROOT=""
if [ -d "usr/share/coolwsd/browser/dist" ] && [ -d "etc" ]; then
	ROOT="."
elif [ -d "f7office-deploy/usr" ]; then
	ROOT="f7office-deploy"
else
	echo "Запустите скрипт из корня репозитория (где есть usr/ и etc/)."
	exit 1
fi

COPY() {
	$DRY_RUN cp -a "$1" "$2"
}

# Копирование browser/dist (только изменённые файлы)
DIST_SRC="${ROOT}/usr/share/coolwsd/browser/dist"
DIST_DST="/usr/share/coolwsd/browser/dist"

if [ ! -d "$DIST_DST" ]; then
	echo "Каталог $DIST_DST не найден. Сначала установите coolwsd и code-brand."
	exit 1
fi

[ -f "$DIST_SRC/branding.js" ]           && COPY "$DIST_SRC/branding.js"           "$DIST_DST/"
[ -f "$DIST_SRC/branding.css" ]          && COPY "$DIST_SRC/branding.css"          "$DIST_DST/"
[ -f "$DIST_SRC/branding-mobile.css" ]   && COPY "$DIST_SRC/branding-mobile.css"   "$DIST_DST/"
[ -f "$DIST_SRC/branding-tablet.css" ]   && COPY "$DIST_SRC/branding-tablet.css"   "$DIST_DST/"
[ -f "$DIST_SRC/cool.html" ]             && COPY "$DIST_SRC/cool.html"             "$DIST_DST/"
[ -f "$DIST_SRC/wasm.html" ]             && COPY "$DIST_SRC/wasm.html"             "$DIST_DST/"
[ -f "$DIST_SRC/welcome/welcome.html" ]  && COPY "$DIST_SRC/welcome/welcome.html"  "$DIST_DST/welcome/"
[ -f "$DIST_SRC/src/layer/tile/CanvasTileUtils.js" ] && COPY "$DIST_SRC/src/layer/tile/CanvasTileUtils.js" "$DIST_DST/src/layer/tile/"
[ -f "$DIST_SRC/src/layer/tile/TileWorker.js" ]      && COPY "$DIST_SRC/src/layer/tile/TileWorker.js"      "$DIST_DST/src/layer/tile/"

# f7cloud — каталог брендинга F7 Office
if [ -d "$DIST_SRC/f7cloud" ]; then
	$DRY_RUN rm -rf "$DIST_DST/f7cloud"
	$DRY_RUN cp -a "$DIST_SRC/f7cloud" "$DIST_DST/"
fi

# l10n (переводы, в т.ч. ui-ru.json с правками F7 Office)
if [ -d "$DIST_SRC/l10n" ]; then
	$DRY_RUN mkdir -p "$DIST_DST/l10n"
	for f in "$DIST_SRC/l10n"/*.json; do
		[ -f "$f" ] && $DRY_RUN cp -a "$f" "$DIST_DST/l10n/"
	done
fi

# admin (админ-консоль с брендингом F7 Office)
if [ -d "$DIST_SRC/admin" ]; then
	$DRY_RUN mkdir -p "$DIST_DST/admin"
	for f in "$DIST_SRC/admin"/*.html; do
		[ -f "$f" ] && $DRY_RUN cp -a "$f" "$DIST_DST/admin/"
	done
fi

# Конфиги (раскомментируйте при необходимости)
# [ -f "${ROOT}/etc/coolwsd/coolwsd.xml" ] && COPY "${ROOT}/etc/coolwsd/coolwsd.xml" /etc/coolwsd/
# [ -f "${ROOT}/etc/apache2/sites-available/collabora-le-ssl.conf" ] && COPY "${ROOT}/etc/apache2/sites-available/collabora-le-ssl.conf" /etc/apache2/sites-available/

if [ -z "$DRY_RUN" ]; then
	echo "Файлы установлены. Перезапуск coolwsd..."
	systemctl restart coolwsd 2>/dev/null || true
	echo "Готово."
else
	echo "Dry-run: команды выше не выполнялись."
fi
