.PHONY: install dev build docker-build docker-run docker-stop docker-restart clean

IMAGE_NAME    = eventhub-admin-ui
CONTAINER_NAME = admin-ui
NETWORK_NAME  = eventhub_network

# Установить зависимости
install:
	npm install

# Запустить dev‑сервер
dev:
	npm run dev

# Собрать production‑бандл
build:
	npm run build

# Собрать Docker‑образ
docker-build:
	docker build -t $(IMAGE_NAME) .

# Запустить контейнер (внутри сети eventhub_network)
docker-run:
	docker run -d --name $(CONTAINER_NAME) --network $(NETWORK_NAME) --restart unless-stopped $(IMAGE_NAME)

# Остановить и удалить контейнер
docker-stop:
	docker stop $(CONTAINER_NAME) || true
	docker rm $(CONTAINER_NAME) || true

# Перезапустить: стоп → билд → ран
docker-restart: docker-stop docker-build docker-run

# Удалить сгенерированные файлы
clean:
	rm -rf node_modules dist .vite
	npm cache clean --force