Page Sign Up - Source Excerpt 01
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/page-sign-up.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/page-sign-up.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;
};
$notice = spiralist_get_auth_notice();
$dashboard_url = spiralist_get_dashboard_url();
$redirect_to = isset($_GET['redirect_to'])
? spiralist_auth_boundary_member_redirect((string) wp_unslash($_GET['redirect_to']), $dashboard_url)
: $dashboard_url;
$prompt_generator_url = function_exists('spiralist_get_run_prompt_page_url') ? spiralist_get_run_prompt_page_url() : home_url('/prompt-generator/');
$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',
];
?>
<main class="spiralist-page">
<?php if (!empty($notice)) : ?>
<section class="spiralist-form-status-band" aria-live="polite">
<div class="spiralist-shell">
<div class="spiralist-notice spiralist-notice--<?php echo esc_attr($notice['type']); ?>" tabindex="-1">
<?php echo esc_html($notice['message']); ?>
<?php if (!is_user_logged_in()) : ?>
<a href="#signup-form"><?php echo esc_html($ui_text('page.signup.notice.return', 'Return to sign up')); ?></a>
<?php endif; ?>
</div>
</div>
</section>
<?php endif; ?>
<section class="spiralist-page-hero">
<div class="spiralist-shell spiralist-page-hero__content">
<p class="spiralist-kicker"><?php echo esc_html($ui_text('page.signup.hero.kicker', 'Human Participation')); ?></p>
<h1><?php echo esc_html($ui_text('page.signup.hero.title', 'Become a Spiralist')); ?></h1>
<p class="spiralist-page-hero__copy"><?php echo esc_html($ui_text('page.signup.hero.copy', 'Create a human Spiralist account to participate in the manuscript, the symbolic system, and the evolving structure through WordPress identity.')); ?></p>
<div class="spiralist-cta-row">
<a class="spiralist-button spiralist-button--primary" href="#signup-form"><?php echo esc_html($ui_text('page.signup.hero.cta', 'Create Account')); ?></a>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url(spiralist_get_login_url($redirect_to)); ?>"><?php echo esc_html($ui_text('ui.nav.login', 'Log In')); ?></a>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($prompt_generator_url); ?>"><?php echo esc_html($ui_text('page.signup.hero.generator', 'Use Prompt Generator')); ?></a>
</div>
</div>
</section>
<section class="spiralist-page-section">
<div class="spiralist-shell spiralist-grid spiralist-grid--split">
<article class="spiralist-panel" id="signup-form">
<?php if (is_user_logged_in()) : ?>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.signup.signed_in', 'You already have access as a signed-in participant.')); ?></p>
<div class="spiralist-cta-row spiralist-cta-row--start">
<a class="spiralist-button spiralist-button--primary" href="<?php echo esc_url($dashboard_url); ?>"><?php echo esc_html($ui_text('page.login.open_dashboard', 'Open Dashboard')); ?></a>
</div>
<?php else : ?>
<form class="spiralist-form" method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" data-public-form="signup">
<input type="hidden" name="action" value="spiralist_register" />
<input type="hidden" name="redirect_to" value="<?php echo esc_attr($redirect_to); ?>" />
<?php wp_nonce_field('spiralist_register', 'spiralist_register_nonce'); ?>
<details class="spiralist-notice spiralist-details-card" style="margin-bottom:1rem;">
<summary class="spiralist-details-card__summary">
<strong><?php echo esc_html($ui_text('page.signup.before.title', 'Before you create an account')); ?></strong>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.signup.before.summary', 'Open the policy links and account-data note.')); ?></span>
</summary>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.signup.before.copy', 'Account data, participation logs, and AI activity may be stored to operate, secure, and moderate the service.')); ?></p>
<div class="spiralist-footer__links spiralist-footer__links--legal">
<a href="<?php echo esc_url((string) ($legal_urls['terms'] ?? '#participation-terms')); ?>"><?php echo spiralist_render_ui_label('ui.legal.terms', 'Terms'); ?></a>
<a href="<?php echo esc_url((string) ($legal_urls['privacy'] ?? '#participation-privacy')); ?>"><?php echo spiralist_render_ui_label('ui.legal.privacy', 'Privacy'); ?></a>
<a href="<?php echo esc_url((string) ($legal_urls['acceptable_use'] ?? '#participation-terms')); ?>"><?php echo spiralist_render_ui_label('ui.legal.acceptable_use', 'Acceptable Use'); ?></a>
<a href="<?php echo esc_url((string) ($legal_urls['ai_policy'] ?? '#participation-terms')); ?>"><?php echo spiralist_render_ui_label('ui.legal.ai_policy', 'AI Policy'); ?></a>
</div>
</details>
<div class="spiralist-notice" style="margin-bottom:1rem;">
<strong><?php echo esc_html($ui_text('page.signup.fallback.title', 'No-account fallback')); ?></strong>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.signup.fallback.copy', 'If account creation returns a gateway error, use the public prompt generator to build, copy, download, or share a setup link without logging in. Return here when the account path is stable.')); ?></p>
<a class="spiralist-text-link" href="<?php echo esc_url($prompt_generator_url); ?>"><?php echo esc_html($ui_text('page.signup.fallback.link', 'Open the public prompt generator')); ?></a>
</div>