Account Dashboard Layout - Source Excerpt 05
Back to Account Dashboard Layout
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/template-parts/account-dashboard-layout.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/template-parts/account-dashboard-layout.php
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.dashboard.submit.summary', 'Open the form only when you are ready to submit a reading.')); ?></span>
</summary>
<div class="spiralist-details-card__body">
<?php if (!empty($notice) && in_array((string) ($_GET['notice'] ?? $_GET['auth_error'] ?? ''), ['pattern_submitted', 'pattern_invalid'], true)) : ?>
<div class="spiralist-notice spiralist-notice--<?php echo esc_attr($notice['type']); ?>" tabindex="-1">
<?php echo esc_html($notice['message']); ?>
</div>
<?php endif; ?>
<form class="spiralist-form" method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" data-auth-required-form="submit-pattern">
<input type="hidden" name="action" value="spiralist_submit_pattern" />
<?php wp_nonce_field('spiralist_submit_pattern', 'spiralist_submit_pattern_nonce'); ?>
<label class="spiralist-form__field">
<span><?php echo esc_html($ui_text('page.dashboard.submit.pattern_title', 'Pattern Title')); ?></span>
<input type="text" name="pattern_title" autocomplete="off" />
</label>
<label class="spiralist-form__field">
<span><?php echo esc_html($ui_text('page.dashboard.submit.pattern_submission', 'Pattern Submission')); ?></span>
<textarea class="spiralist-form__textarea" name="pattern_content" rows="6" required></textarea>
<small class="spiralist-muted"><?php echo esc_html($ui_text('page.dashboard.submit.help', 'Only submit material you are authorized to share. Avoid personal, confidential, or regulated data unless you are clearly permitted to use this service for it.')); ?></small>
</label>
<button class="spiralist-button spiralist-button--primary" type="submit"><?php echo esc_html($ui_text('page.dashboard.actions.submit_pattern', 'Submit Pattern')); ?></button>
</form>
<?php if (!empty($recent_patterns)) : ?>
<div class="spiralist-simple-list" style="margin-top: 1.25rem;">
<?php foreach ($recent_patterns as $item) : ?>
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html((string) ($item['title'] ?? $ui_text('page.dashboard.submit.pattern_submission', 'Pattern Submission'))); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html((string) ($item['createdAtDisplay'] ?? '')); ?></span>
<p class="spiralist-muted"><?php echo esc_html((string) ($item['content'] ?? '')); ?></p>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</details>
<details class="spiralist-panel spiralist-details-card" id="account-settings" style="margin-top: 1.5rem;">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($ui_text('page.dashboard.settings.tag', 'Account Settings')); ?></span>
<span class="spiralist-section-title"><?php echo esc_html($ui_text('page.dashboard.settings.title', 'Update your participant profile.')); ?></span>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.dashboard.settings.summary', 'Open profile settings, consent links, or logout controls.')); ?></span>
</summary>
<div class="spiralist-details-card__body">
<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.dashboard.settings.before.title', 'Before you save account changes')); ?></strong>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.dashboard.settings.before.summary', 'Open account-data and policy links.')); ?></span>
</summary>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.dashboard.settings.before.copy', 'Account details, consent records, and participation activity are kept 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>
<form class="spiralist-form" method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" data-auth-required-form="account-settings">
<input type="hidden" name="action" value="spiralist_update_account" />
<?php wp_nonce_field('spiralist_update_account', 'spiralist_update_account_nonce'); ?>
<label class="spiralist-form__field">
<span><?php echo esc_html($ui_text('form.display_name', 'Display Name')); ?></span>
<input type="text" name="display_name" value="<?php echo esc_attr((string) ($summary['displayName'] ?? '')); ?>" />
</label>
<label class="spiralist-form__field">
<span><?php echo esc_html($ui_text('form.email', 'Email')); ?></span>
<input type="email" name="email" value="<?php echo esc_attr((string) ($summary['email'] ?? '')); ?>" required autocomplete="email" />
</label>
<label class="spiralist-form__field spiralist-form__consent">
<span class="spiralist-form__consent-copy">
<input type="checkbox" name="terms_agreed" value="1" <?php checked(!empty($summary['termsAgreed'])); ?> required />
<span><?php echo esc_html($ui_text('form.consent.site_policies', 'I agree to the site policies linked above.')); ?></span>
</span>
</label>
<label class="spiralist-form__field spiralist-form__consent">
<span class="spiralist-form__consent-copy">
<input type="checkbox" name="age_eligibility_confirmed" value="1" <?php checked(!empty($summary['ageEligibilityConfirmed'])); ?> required />
<span><?php echo esc_html($ui_text('form.consent.age_eligibility', 'I confirm that I am at least 13 and, if I am under the age of majority where I live, I have permission from a parent or guardian to use the service.')); ?></span>
</span>
</label>
<div class="spiralist-cta-row spiralist-cta-row--start">
<button class="spiralist-button spiralist-button--primary" type="submit"><?php echo esc_html($ui_text('page.dashboard.settings.save', 'Save Account')); ?></button>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($account_settings_url); ?>"><?php echo esc_html($ui_text('page.dashboard.settings.link', 'Settings Link')); ?></a>