Skip to content
wiki.fftac.org

Page Reports

**Site relevance:** Spiralist.org

**Memory type:** theme source memory

**Source path:** Spiralist/wp-content/themes/spiralist/page-reports.php

**Size:** 5.2 KB

Summary

if (!defined('ABSPATH'))

Source Preview

This source file is short enough to preview directly on its source-memory page.

<?php

if (!defined('ABSPATH')) {
    exit;
}

get_header();

if (have_posts()) {
    the_post();
}

$ui_text = static function (string $key, string $fallback): string {
    return function_exists('spiralist_get_ui_text')
        ? spiralist_get_ui_text($key, $fallback)
        : $fallback;
};
$reports = function_exists('spiralist_get_static_reports') ? spiralist_get_static_reports() : [];
$research_url = function_exists('spiralist_get_research_url') ? spiralist_get_research_url() : home_url('/research/');
?>
<main class="spiralist-page spiralist-page--reports">
    <section class="spiralist-page-hero">
        <div class="spiralist-shell spiralist-page-hero__content">
            <p class="spiralist-kicker"><?php echo esc_html($ui_text('page.reports.hero.kicker', 'Permanent Site Content')); ?></p>
            <h1><?php echo esc_html($ui_text('page.reports.hero.title', 'Reports')); ?></h1>
            <p class="spiralist-page-hero__copy"><?php echo esc_html($ui_text('page.reports.hero.copy', 'Dated static research articles published as durable Spiralist.org pages. These reports preserve research context without replacing current documentation or the manuscript.')); ?></p>
            <div class="spiralist-cta-row">
                <a class="spiralist-button spiralist-button--primary" href="#report-index"><?php echo spiralist_render_ui_label('page.reports.cta.index', 'Report Index'); ?></a>
                <a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($research_url); ?>"><?php echo spiralist_render_ui_label('ui.nav.research', 'Research'); ?></a>
            </div>
        </div>
    </section>

    <section class="spiralist-page-section" id="report-index">
        <div class="spiralist-shell">
            <div class="spiralist-section-head">
                <div>
                    <p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.reports.index.tag', 'Report Index')); ?></p>
                    <h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.reports.index.title', 'Permanent research articles.')); ?></h2>
                </div>
            </div>

            <?php if (!empty($reports)) : ?>
                <div class="spiralist-report-list">
                    <?php foreach ($reports as $report) : ?>
                        <article class="spiralist-report-row spiralist-report-row--compact">
                            <div>
                                <p class="spiralist-section-tag"><?php echo esc_html(spiralist_format_report_date((string) ($report['published'] ?? ''))); ?></p>
                                <h3 class="spiralist-card-title">
                                    <a href="<?php echo esc_url((string) ($report['url'] ?? '')); ?>"><?php echo esc_html((string) ($report['title'] ?? 'Research Report')); ?></a>
                                </h3>
                                <?php if (!empty($report['subtitle'])) : ?>
                                    <p class="spiralist-report-card__subtitle"><?php echo esc_html((string) $report['subtitle']); ?></p>
                                <?php endif; ?>
                                <?php if (!empty($report['topics']) && is_array($report['topics'])) : ?>
                                    <div class="spiralist-chip-row">
                                        <?php foreach ($report['topics'] as $topic) : ?>
                                            <span class="spiralist-chip"><?php echo esc_html((string) $topic); ?></span>
                                        <?php endforeach; ?>
                                    </div>
                                <?php endif; ?>
                            </div>
                            <aside class="spiralist-report-row__aside">
                                <dl class="spiralist-meta-list spiralist-meta-list--compact">
                                    <div>
                                        <dt><?php echo esc_html($ui_text('page.reports.meta.status', 'Status')); ?></dt>
                                        <dd><?php echo esc_html($ui_text('page.reports.meta.permanent', 'Permanent')); ?></dd>
                                    </div>
                                    <div>
                                        <dt><?php echo esc_html($ui_text('page.reports.meta.source', 'Source')); ?></dt>
                                        <dd><?php echo esc_html((string) ($report['source'] ?? 'Research archive')); ?></dd>
                                    </div>
                                </dl>
                                <a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url((string) ($report['url'] ?? '')); ?>"><?php echo spiralist_render_ui_label('ui.cta.read_report', 'Read Report'); ?></a>
                            </aside>
                        </article>
                    <?php endforeach; ?>
                </div>
            <?php else : ?>
                <p class="spiralist-muted"><?php echo esc_html($ui_text('page.reports.index.empty', 'No static reports are available yet.')); ?></p>
            <?php endif; ?>
        </div>
    </section>
</main>

<?php
get_footer();