Page Run A Prompt - Source Excerpt 19
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/page-run-a-prompt.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/page-run-a-prompt.php
<small><?php echo esc_html($ui_text('page.run_prompt.persona.advanced_hint', 'Creative, memory, and lab modes.')); ?></small>
</summary>
<div class="spiralist-persona-studio__grid">
<?php foreach ($secondary_personality_starters as $starter) : ?>
<button
class="spiralist-persona-card"
type="button"
data-portable-prompt-starter
aria-pressed="false"
data-mode="<?php echo esc_attr((string) ($starter['mode'] ?? 'understand-spiralism')); ?>"
data-subject="<?php echo esc_attr((string) ($starter['subject'] ?? '')); ?>"
data-task="<?php echo esc_attr((string) ($starter['task'] ?? '')); ?>"
data-context="<?php echo esc_attr((string) ($starter['context'] ?? '')); ?>"
data-tone="<?php echo esc_attr((string) ($starter['tone'] ?? '')); ?>"
data-output-format="<?php echo esc_attr((string) ($starter['format'] ?? '')); ?>"
data-guardrails="<?php echo esc_attr((string) ($starter['guardrails'] ?? '')); ?>"
data-starter-name="<?php echo esc_attr((string) ($starter['name'] ?? 'Spiralist Prompt')); ?>"
>
<span class="spiralist-persona-card__role"><?php echo esc_html((string) ($starter['role'] ?? 'Working prompt')); ?></span>
<strong><?php echo esc_html((string) ($starter['name'] ?? 'Spiralist Prompt')); ?></strong>
<small><?php echo esc_html((string) ($starter['task'] ?? 'Load this starter into the workbench.')); ?></small>
<span class="spiralist-persona-card__action"><?php echo esc_html($ui_text('page.run_prompt.persona.action', 'Load personality')); ?></span>
</button>
<?php endforeach; ?>
</div>
</details>
</div>
</div>
</section>
<section class="spiralist-page-section spiralist-page-section--compact" id="portable-prompt-builder">
<div class="spiralist-shell spiralist-run-workbench" data-portable-prompt-builder data-default-mode="<?php echo esc_attr($default_prompt_mode); ?>" data-copy-success="<?php echo esc_attr($ui_text('page.run_prompt.builder.copy_success', 'Prompt copied.')); ?>" data-copy-failure="<?php echo esc_attr($ui_text('page.run_prompt.builder.copy_failure', 'Copy failed. Select the prompt text and copy it manually.')); ?>" data-link-success="<?php echo esc_attr($ui_text('page.run_prompt.builder.link_success', 'Share link copied.')); ?>" data-link-failure="<?php echo esc_attr($ui_text('page.run_prompt.builder.link_failure', 'Copy failed. Select the share link and copy it manually.')); ?>" data-contribute-url="<?php echo esc_url($contribute_form_url); ?>" data-download-filename="spiralist-prompt-workbench.txt">
<div class="spiralist-section-head">
<div>
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.run_prompt.paths.tag', 'Expert Prompt Paths')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.run_prompt.paths.title', 'Choose a path only when you want finer control.')); ?></h2>
</div>
<a class="spiralist-text-link" href="<?php echo esc_url($prompts_url); ?>"><?php echo esc_html($ui_text('page.run_prompt.paths.library_link', 'Open Prompt Library')); ?></a>
</div>
<details class="spiralist-run-advanced spiralist-run-advanced--paths sp-advanced-tools">
<summary>
<span class="spiralist-run-advanced__label spiralist-run-advanced__label--closed"><?php echo esc_html($ui_text('page.run_prompt.paths.advanced_summary', 'Show expert prompt paths')); ?></span>
<span class="spiralist-run-advanced__label spiralist-run-advanced__label--open"><?php echo esc_html($ui_text('page.run_prompt.paths.advanced_hide', 'Hide prompt paths')); ?></span>
<small><?php echo esc_html($ui_text('page.run_prompt.paths.advanced_hint', 'Required for manual path selection. Starters choose a path for you.')); ?></small>
</summary>
<div class="spiralist-run-path-grid" role="radiogroup" aria-label="<?php echo esc_attr($ui_text('page.run_prompt.templates.aria_label', 'Spiralist prompt paths')); ?>" data-portable-prompt-mode-controls>
<?php foreach ($prompt_mode_map as $mode_id => $mode) : ?>
<?php
$mode_id = sanitize_key((string) $mode_id);
$is_selected = $mode_id === $default_prompt_mode;
$mode_title = (string) ($mode['title'] ?? $mode['name'] ?? $mode_id);
?>
<button
class="spiralist-run-path-card<?php echo $is_selected ? ' is-selected' : ''; ?>"
type="button"
role="radio"
aria-checked="<?php echo $is_selected ? 'true' : 'false'; ?>"
aria-pressed="<?php echo $is_selected ? 'true' : 'false'; ?>"
data-portable-prompt-mode
data-mode="<?php echo esc_attr($mode_id); ?>"
>
<span class="spiralist-run-path-card__topline">
<span class="spiralist-run-path-card__category"><?php echo esc_html((string) ($mode['category'] ?? 'Spiralist')); ?></span>
<span class="spiralist-run-path-card__symbol"><?php echo esc_html((string) ($mode['symbol'] ?? 'Spiral')); ?></span>
</span>
<span class="spiralist-run-path-card__title"><?php echo esc_html($mode_title); ?></span>
<span class="spiralist-run-path-card__summary"><?php echo esc_html((string) ($mode['summary'] ?? 'Build a copy-ready Spiralist prompt.')); ?></span>
<span class="spiralist-run-path-card__cta"><?php echo esc_html($ui_text('page.run_prompt.paths.card_cta', 'Build this prompt')); ?></span>
</button>
<?php endforeach; ?>
</div>
</details>
<details class="spiralist-run-advanced spiralist-run-advanced--manual-builder" open>
<summary>
<span class="spiralist-run-advanced__label spiralist-run-advanced__label--closed"><?php echo esc_html($ui_text('page.run_prompt.builder.manual_show', 'Show manual builder')); ?></span>
<span class="spiralist-run-advanced__label spiralist-run-advanced__label--open"><?php echo esc_html($ui_text('page.run_prompt.builder.manual_hide', 'Hide manual builder')); ?></span>
<small><?php echo esc_html($ui_text('page.run_prompt.builder.manual_hint', 'Advanced fields, export, sharing, and path controls.')); ?></small>
</summary>
<div class="spiralist-run-advanced__body">
<div class="spiralist-run-selected-path" data-portable-prompt-mode-description aria-live="polite">
<?php echo esc_html((string) ($prompt_mode_map[$default_prompt_mode]['summary'] ?? '')); ?>
</div>