<?php
declare(strict_types=1);

namespace Celena\Plugin\Shop\Controllers;

use Celena\Core\Http\Request;
use Celena\Core\Http\Response;
use Celena\Core\Template\Engine;
use Celena\Module\Settings\Options;

/**
 * Корзина живёт в localStorage на клиенте. Сервер только рендерит оболочку
 * страницы — shop.js наполняет её данными из localStorage.
 */
final class CartController
{
    public function __construct(
        private readonly Engine $engine,
        private readonly Options $options,
    ) {
    }

    public function show(Request $request): Response
    {
        $this->engine->setTheme((string) $this->options->get('theme', 'default'));
        $html = $this->engine->render('plugins/shop/front/cart', [
            'site' => ['name' => (string) $this->options->get('site_name', '')],
            'page' => ['title' => 'Корзина', 'seo_title' => 'Корзина', 'seo_description' => '', 'og_image' => ''],
        ]);
        return Response::html($html);
    }
}
