#!/usr/bin/env bash

## Description: Initialize fresh Drupal site with LightGallery Formatter demo
## Usage: lgf:init
## Example: "ddev lgf:init"

set -eu -o pipefail

cd "${DDEV_APPROOT}"

echo "==> Cleaning up previous installation..."
rm -rf web vendor composer.contrib.json composer.contrib.lock

echo "==> Creating composer.contrib.json..."
ddev exec "COMPOSER=composer.contrib.json .ddev/commands/web/expand-composer-json"

echo "==> Running composer install..."
ddev exec "COMPOSER=composer.contrib.json composer update --no-interaction"

echo "==> Adding dev dependencies..."
ddev exec "COMPOSER=composer.contrib.json composer require drupal/admin_toolbar drush/drush --no-interaction"

# Note: composer.contrib.json and composer.contrib.lock are kept for manual modifications
# You can run: ddev exec "COMPOSER=composer.contrib.json composer require <package>"

echo "==> Installing LightGallery library from npm..."
ddev exec "mkdir -p web/libraries && cd web/libraries && rm -rf lightgallery && curl -sL https://registry.npmjs.org/lightgallery/-/lightgallery-2.9.0.tgz | tar -xz && mv package lightgallery"

echo "==> Symlinking project and restarting DDEV..."
ddev restart

echo "==> Dropping existing database..."
ddev drush sql:drop -y 2>/dev/null || true

echo "==> Installing Drupal with demo_umami profile..."
ddev drush site:install demo_umami -y \
  --account-name=admin \
  --account-pass=admin \
  --site-name="LightGallery Formatter Demo"

echo "==> Enabling LightGallery modules..."
ddev drush en lightgallery_formatter lightgallery_formatter_demo lightgallery_formatter_preview admin_toolbar admin_toolbar_tools -y
ddev drush cr

echo ""
echo "============================================"
echo "Installation complete!"
echo "============================================"
echo "Login: admin / admin"
echo ""
ddev drush uli
