<?php
$n = $n ?? null;
$layoutArr = [];
if (!empty($n['layout'])) { $d = json_decode($n['layout'], true); if (is_array($d)) $layoutArr = $d; }
// 模式渲染：可视化编辑(builder)且有 layout → 画布；否则固定版式（正文富文本）
$useBuilder = !empty($layoutArr) && ($n['mode'] ?? '') !== 'fixed';
?>
<section class="page-hero">
    <div class="container">
        <h1><?php echo e($n['title']); ?></h1>
        <p><?php echo e(format_date($n['published_at'])); ?> · <?php echo e($n['author']); ?></p>
    </div>
</section>
<div class="container">
    <nav class="breadcrumb"><a href="<?php echo site_url(); ?>">首页</a> / <a href="<?php echo site_url('news'); ?>">新闻动态</a> / <?php echo e($n['title']); ?></nav>
</div>

<?php if ($useBuilder): ?>
<?php echo \Core\View::buffer('parts/canvas', ['layout' => $layoutArr, 'item' => $n, 'module' => 'news']); ?>
<?php else: ?>
<section class="section" style="padding-top:10px">
    <div class="container" style="max-width:780px">
        <article class="detail-desc detail-rich" style="font-size:16px"><?php echo $n['content']; ?></article>
    </div>
</section>
<?php endif; ?>

<section class="section" style="padding-top:0">
    <div class="container" style="max-width:780px">
        <div style="display:flex;justify-content:space-between;margin-top:40px;gap:12px;flex-wrap:wrap">
            <?php if ($prev): ?><a class="btn btn-ghost" href="<?php echo site_url('news/' . $prev['slug']); ?>">← <?php echo e(mb_substr($prev['title'],0,14)); ?></a><?php else: ?><span></span><?php endif; ?>
            <?php if ($next): ?><a class="btn btn-ghost" href="<?php echo site_url('news/' . $next['slug']); ?>"><?php echo e(mb_substr($next['title'],0,14)); ?> →</a><?php else: ?><span></span><?php endif; ?>
        </div>
        <div style="text-align:center;margin-top:30px"><a class="more-link" href="<?php echo site_url('news'); ?>">返回新闻列表</a></div>
    </div>
</section>
