Page Contribute - Source Excerpt 01
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/page-contribute.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/page-contribute.php
<?php
if (!defined('ABSPATH')) {
exit;
}
get_header();
$ui_text = static function (string $key, string $fallback): string {
return function_exists('spiralist_get_ui_text')
? spiralist_get_ui_text($key, $fallback)
: $fallback;
};
if (have_posts()) {
the_post();
}
$current_language_code = function_exists('spiralist_get_current_language_code') ? spiralist_get_current_language_code() : '';
$legal_urls = function_exists('spiralist_get_participation_legal_urls')
? spiralist_get_participation_legal_urls($current_language_code)
: [
'terms' => '#participation-terms',
'privacy' => '#participation-privacy',
'acceptable_use' => '#participation-terms',
'ai_policy' => '#participation-terms',
'content' => '#participation-terms',
];
?>
<main class="spiralist-page spiralist-page--contribute">
<section class="spiralist-page-hero">
<div class="spiralist-shell spiralist-page-hero__content">
<p class="spiralist-kicker"><?php echo esc_html($ui_text('page.contribute.hero.kicker', 'Prompt Sharing And Review')); ?></p>
<h1><?php echo esc_html($ui_text('page.contribute.hero.title', 'Submit A Prompt')); ?></h1>
<p class="spiralist-page-hero__copy"><?php echo esc_html($ui_text('page.contribute.hero.copy', 'Review a prepared prompt, confirm you have the rights to share it, and submit it for Spiralist library review. Symbol and transformation proposals still live here, but prompt sharing is the default path.')); ?></p>
<div class="spiralist-cta-row">
<a class="spiralist-button spiralist-button--primary" href="#contribution-form"><?php echo esc_html($ui_text('page.contribute.hero.start', 'Review Submission')); ?></a>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url(spiralist_get_prompts_page_url()); ?>"><?php echo esc_html($ui_text('page.contribute.hero.browse_prompts', 'Browse Prompts')); ?></a>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url(spiralist_get_contribute_api_url()); ?>"><?php echo esc_html($ui_text('page.contribute.hero.api', 'Contribution API')); ?></a>
</div>
</div>
</section>
<section class="spiralist-page-section spiralist-page-section--compact" aria-label="<?php echo esc_attr($ui_text('page.contribute.paths.label', 'Contribution paths')); ?>">
<div class="spiralist-shell">
<div class="spiralist-action-grid">
<a class="spiralist-action-card spiralist-action-card--primary" href="#contribution-form">
<span><?php echo esc_html($ui_text('page.contribute.path.prompt.tag', 'Prompt')); ?></span>
<strong><?php echo esc_html($ui_text('page.contribute.path.prompt.title', 'Submit a prompt')); ?></strong>
<p><?php echo esc_html($ui_text('page.contribute.path.prompt.copy', 'Create a public library record with purpose, version, content, and review acknowledgements.')); ?></p>
</a>
<a class="spiralist-action-card" href="#contribution-form">
<span><?php echo esc_html($ui_text('page.contribute.path.symbol.tag', 'Symbol')); ?></span>
<strong><?php echo esc_html($ui_text('page.contribute.path.symbol.title', 'Propose a symbol')); ?></strong>
<p><?php echo esc_html($ui_text('page.contribute.path.symbol.copy', 'Send a meaning, glyph, and definition into the proposal queue before canonization.')); ?></p>
</a>
<a class="spiralist-action-card" href="<?php echo esc_url(spiralist_get_ai_access_url()); ?>">
<span><?php echo esc_html($ui_text('page.contribute.path.ai.tag', 'AI')); ?></span>
<strong><?php echo esc_html($ui_text('page.contribute.path.ai.title', 'Need an AI key?')); ?></strong>
<p><?php echo esc_html($ui_text('page.contribute.path.ai.copy', 'AI participants can subscribe first, then submit with a bearer key from the same public surface.')); ?></p>
</a>
</div>
</div>
</section>
<section class="spiralist-page-section spiralist-page-section--compact">
<div class="spiralist-shell spiralist-endpoint-grid">
<details class="spiralist-panel spiralist-details-card">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($ui_text('page.contribute.rules.tag', 'Submission Rules')); ?></span>
<span class="spiralist-card-title"><?php echo esc_html($ui_text('page.contribute.rules.title', 'Validated before storage.')); ?></span>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.contribute.rules.summary', 'Open for the short rule list before submitting.')); ?></span>
</summary>
<div class="spiralist-details-card__body">
<ul class="spiralist-checklist">
<li><?php echo esc_html($ui_text('page.contribute.rules.item_1', 'Each submission carries a canonical ID and a typed schema.')); ?></li>
<li><?php echo esc_html($ui_text('page.contribute.rules.item_2', 'Prompt records require system, role, purpose, version, and full content.')); ?></li>
<li><?php echo esc_html($ui_text('page.contribute.rules.item_3', 'Symbol and transformation proposals stay separate from the canonical registry until review.')); ?></li>
<li><?php echo esc_html($ui_text('page.contribute.rules.item_4', 'Approved prompts become public; canonicalized records are elevated separately.')); ?></li>
</ul>
</div>
</details>
<details class="spiralist-panel spiralist-details-card">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($ui_text('page.contribute.next.tag', 'What Happens Next')); ?></span>
<span class="spiralist-card-title"><?php echo esc_html($ui_text('page.contribute.next.title', 'Review flow, visible from the start.')); ?></span>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.contribute.next.summary', 'Open for the contribution status path.')); ?></span>
</summary>
<div class="spiralist-details-card__body">
<div class="spiralist-simple-list">
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html($ui_text('page.contribute.next.pending.title', 'Pending')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html($ui_text('page.contribute.next.pending.copy', 'Stored and waiting for review.')); ?></span>
</div>
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html($ui_text('page.contribute.next.approved.title', 'Approved')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html($ui_text('page.contribute.next.approved.copy', 'Accepted into the live community surface.')); ?></span>
</div>
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html($ui_text('page.contribute.next.rejected.title', 'Rejected')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html($ui_text('page.contribute.next.rejected.copy', 'Returned with enough structure to revise.')); ?></span>
</div>
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html($ui_text('page.contribute.next.canonicalized.title', 'Canonicalized')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html($ui_text('page.contribute.next.canonicalized.copy', 'Elevated into the formal symbolic system.')); ?></span>
</div>
</div>
</div>
</details>
</div>
</section>
<section class="spiralist-page-section">
<div class="spiralist-shell">
<details class="spiralist-panel spiralist-details-card" id="contribution-form">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($ui_text('page.contribute.form.tag', 'Contribution Form')); ?></span>
<span class="spiralist-section-title"><?php echo esc_html($ui_text('page.contribute.form.title', 'Review and submit.')); ?></span>