<?php
declare(strict_types=1);

/**
 * «Сайт у сайті» — міні-інтерфейс усередині mockup-екрана (не постер-картинка).
 *
 * @param array<string, mixed> $p
 */
function nestor_project_coded_preview(array $p, bool $isMobile): void
{
    $slug = (string)($p['slug'] ?? '');
    $title = trim((string)($p['title'] ?? 'Project'));
    $line = nestor_line_clamp((string)($p['description'] ?? ''), $isMobile ? 36 : 52);

    $base = 'case-code case-code--' . ($isMobile ? 'mobile' : 'desktop');
    $theme = match ($slug) {
        'velora-wedding' => 'case-code--theme-velora',
        'aurelia-photo-studio' => 'case-code--theme-aurelia',
        'malkina-photographer' => 'case-code--theme-malkina',
        default => 'case-code--theme-default',
    };

    echo '<div class="' . e($base . ' ' . $theme) . '" aria-hidden="true">';

    switch ($slug) {
        case 'velora-wedding':
            echo nestor_code_velora_inner($title, $line, $isMobile);
            break;
        case 'aurelia-photo-studio':
            echo nestor_code_aurelia_inner($title, $line, $isMobile);
            break;
        case 'malkina-photographer':
            echo nestor_code_malkina_inner($title, $line, $isMobile);
            break;
        default:
            echo nestor_code_default_inner($title, $line, $isMobile);
            break;
    }

    echo '</div>';
}

function nestor_code_velora_inner(string $title, string $line, bool $m): string
{
    if ($m) {
        return '<div class="case-code__bar"></div>'
            . '<div class="case-code__hero case-code__hero--sm">'
            . '<span class="case-code__eyebrow">Wedding · fine art</span>'
            . '<p class="case-code__h1">' . e($title) . '</p>'
            . '<p class="case-code__sub">' . e($line) . '</p>'
            . '<span class="case-code__pill">Записатись</span>'
            . '</div>'
            . '<div class="case-code__photo case-code__photo--1"></div>';
    }

    return '<header class="case-code__top">'
        . '<span class="case-code__logo">' . e($title) . '</span>'
        . '<nav class="case-code__nav"><span>Портфоліо</span><span>Послуги</span><span>Контакти</span></nav>'
        . '</header>'
        . '<div class="case-code__split">'
        . '<div class="case-code__col case-code__col--text">'
        . '<span class="case-code__eyebrow">Fine art wedding</span>'
        . '<p class="case-code__h1">' . e($title) . '</p>'
        . '<p class="case-code__sub">' . e($line) . '</p>'
        . '<div class="case-code__row"><span class="case-code__pill">Обговорити дату</span><span class="case-code__ghost">Галерея</span></div>'
        . '</div>'
        . '<div class="case-code__col case-code__col--visual">'
        . '<div class="case-code__photo case-code__photo--1"></div>'
        . '<div class="case-code__photo case-code__photo--2"></div>'
        . '</div>'
        . '</div>'
        . '<div class="case-code__thumbs"><i></i><i></i><i></i></div>';
}

function nestor_code_aurelia_inner(string $title, string $line, bool $m): string
{
    if ($m) {
        return '<div class="case-code__bar case-code__bar--light"></div>'
            . '<p class="case-code__caps">Aurelia</p>'
            . '<p class="case-code__h2">' . e($title) . '</p>'
            . '<div class="case-code__tiles case-code__tiles--sm"><i></i><i></i></div>'
            . '<p class="case-code__micro">' . e($line) . '</p>';
    }

    return '<header class="case-code__top case-code__top--light">'
        . '<span class="case-code__caps">Studio</span>'
        . '<nav class="case-code__nav case-code__nav--muted"><span>Зал</span><span>Послуги</span><span>Бронь</span></nav>'
        . '</header>'
        . '<div class="case-code__hero-block">'
        . '<p class="case-code__h2">' . e($title) . '</p>'
        . '<p class="case-code__sub case-code__sub--dark">' . e($line) . '</p>'
        . '</div>'
        . '<div class="case-code__tiles"><i></i><i></i><i></i><i></i></div>'
        . '<footer class="case-code__foot"><span>Бронювання онлайн</span><span class="case-code__dot">·</span><span>Простір світла</span></footer>';
}

function nestor_code_malkina_inner(string $title, string $line, bool $m): string
{
    if ($m) {
        return '<div class="case-code__bar case-code__bar--dark"></div>'
            . '<p class="case-code__mono">Portfolio</p>'
            . '<p class="case-code__h1 case-code__h1--light">' . e($title) . '</p>'
            . '<div class="case-code__line"></div>'
            . '<p class="case-code__micro case-code__micro--dim">' . e($line) . '</p>';
    }

    return '<header class="case-code__top case-code__top--invert">'
        . '<span class="case-code__mono">Fashion — editorial</span>'
        . '<nav class="case-code__nav case-code__nav--light"><span>Work</span><span>Info</span><span>Book</span></nav>'
        . '</header>'
        . '<div class="case-code__editorial">'
        . '<div class="case-code__rule"></div>'
        . '<div>'
        . '<p class="case-code__h1 case-code__h1--light">' . e($title) . '</p>'
        . '<p class="case-code__sub case-code__sub--dim">' . e($line) . '</p>'
        . '</div>'
        . '</div>'
        . '<div class="case-code__mosaic"><i></i><i></i><i></i></div>';
}

function nestor_code_default_inner(string $title, string $line, bool $m): string
{
    if ($m) {
        return '<div class="case-code__bar case-code__bar--light"></div>'
            . '<p class="case-code__h2">' . e($title) . '</p>'
            . '<p class="case-code__micro">' . e($line) . '</p>'
            . '<div class="case-code__tiles case-code__tiles--sm"><i></i><i></i></div>';
    }

    return '<header class="case-code__top case-code__top--light">'
        . '<span class="case-code__logo case-code__logo--dark">' . e($title) . '</span>'
        . '<nav class="case-code__nav case-code__nav--muted"><span>Work</span><span>About</span><span>Contact</span></nav>'
        . '</header>'
        . '<div class="case-code__hero-block">'
        . '<p class="case-code__sub case-code__sub--dark">' . e($line) . '</p>'
        . '</div>'
        . '<div class="case-code__tiles"><i></i><i></i><i></i></div>';
}
