Manuscript Workstation - Source Excerpt 06
Back to Manuscript Workstation
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/ns12-manuscript/templates/manuscript-workstation.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/plugins/ns12-manuscript/templates/manuscript-workstation.php
</section>
<section class="spiralist-manuscript-progress-card" aria-labelledby="manuscript-section-progress">
<p class="spiralist-section-tag">Chapter Progress</p>
<div class="spiralist-manuscript-progress-card__heading">
<h3 class="spiralist-card-title" id="manuscript-section-progress"><?php echo esc_html($current_section_title); ?></h3>
<span><?php echo esc_html($section_progress_percent . '%'); ?></span>
</div>
<div class="spiralist-manuscript-progress-bar" role="progressbar" aria-label="Chapter progress" aria-valuemin="0" aria-valuemax="100" aria-valuenow="<?php echo esc_attr($section_progress_percent); ?>">
<span style="width: <?php echo esc_attr($section_progress_percent); ?>%;"></span>
</div>
<p class="spiralist-muted">
<?php
echo esc_html(
$current_section_summary !== ''
? $current_section_summary
: sprintf('Folio %d of %d in %s.', $current_section_sequence, $current_section_count, $current_page_section_label)
);
?>
</p>
</section>
<section class="spiralist-manuscript-progress-card" aria-labelledby="manuscript-prompt-coverage">
<p class="spiralist-section-tag">Prompt Coverage</p>
<div class="spiralist-manuscript-progress-card__heading">
<h3 class="spiralist-card-title" id="manuscript-prompt-coverage"><?php echo esc_html($context_prompt_summary); ?></h3>
<span><?php echo esc_html($prompt_coverage_percent . '%'); ?></span>
</div>
<div class="spiralist-manuscript-progress-bar" role="progressbar" aria-label="Prompt coverage" aria-valuemin="0" aria-valuemax="100" aria-valuenow="<?php echo esc_attr($prompt_coverage_percent); ?>">
<span style="width: <?php echo esc_attr($prompt_coverage_percent); ?>%;"></span>
</div>
<div class="spiralist-inline-meta">
<span class="spiralist-status-pill <?php echo esc_attr($prompt_coverage_status_class); ?>">
<?php echo esc_html($prompt_coverage_complete ? 'All folios linked' : sprintf('%d folio%s need attention', $prompt_attention_count, $prompt_attention_count === 1 ? '' : 's')); ?>
</span>
</div>
</section>
</div>
</div>
</div>
</details>
<?php endif; ?>
<div class="spiralist-manuscript-workstation__grid">
<?php if (!$workstation_use_header_folio_dock) : ?>
<aside class="spiralist-manuscript-workstation__folios" aria-labelledby="manuscript-workstation-folios">
<div class="spiralist-manuscript-workstation__panel-head">
<div>
<p class="spiralist-section-tag">Folio Rail</p>
<h3 class="spiralist-card-title" id="manuscript-workstation-folios"><?php echo esc_html($current_section_title); ?></h3>
<p class="spiralist-muted"><?php echo esc_html($thumb_count_copy . '. Jump straight to any folio.'); ?></p>
</div>
<?php if ($workstation_can_edit && ($workstation_upload_url !== '' || $workstation_library_url !== '' || $workstation_prompt_url !== '' || $workstation_fragment_url !== '')) : ?>
<div class="spiralist-manuscript-workstation__folio-actions" role="group" aria-label="Folio list actions">
<?php if ($workstation_upload_url !== '') : ?>
<a class="spiralist-manuscript-workstation__mini-action" href="<?php echo esc_url($workstation_upload_url); ?>">Import</a>
<?php else : ?>
<button class="spiralist-manuscript-workstation__mini-action" type="button" disabled>Import</button>
<?php endif; ?>
<?php if ($workstation_library_url !== '') : ?>
<a class="spiralist-manuscript-workstation__mini-action" href="<?php echo esc_url($workstation_library_url); ?>">Folios</a>
<?php endif; ?>
<?php if ($workstation_prompt_url !== '') : ?>
<a class="spiralist-manuscript-workstation__mini-action" href="<?php echo esc_url($workstation_prompt_url); ?>">Prompts</a>
<?php else : ?>
<button class="spiralist-manuscript-workstation__mini-action" type="button" disabled>Prompts</button>
<?php endif; ?>
<?php if ($workstation_fragment_url !== '') : ?>
<a class="spiralist-manuscript-workstation__mini-action" href="<?php echo esc_url($workstation_fragment_url); ?>">Fragments</a>
<?php elseif ($workstation_prompt_url !== '') : ?>
<button class="spiralist-manuscript-workstation__mini-action" type="button" disabled>Fragments</button>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
<?php if ($workstation_can_edit && ($workstation_prompt_url !== '' || $workstation_fragment_url !== '')) : ?>
<p class="spiralist-manuscript-workstation__hook-copy">Import, prompt, and shared-fragment tools are now available directly inside the book admin.</p>
<?php elseif ($workstation_can_edit && $workstation_library_url !== '') : ?>
<p class="spiralist-manuscript-workstation__hook-copy">Media-library upload access is available for editors.</p>
<?php else : ?>
<p class="spiralist-manuscript-workstation__hook-copy">Use the section links and jump menu to move through the public codex without leaving the reading surface.</p>
<?php endif; ?>
<?php $render_workstation_section_nav(); ?>
<?php $render_workstation_jump_control(); ?>
<?php $render_workstation_thumb_list(); ?>
</aside>
<?php endif; ?>
<section class="spiralist-manuscript-workstation__viewer" aria-labelledby="manuscript-workstation-viewer">
<div class="spiralist-manuscript-workstation__panel-head">
<div class="spiralist-manuscript-workstation__viewer-title-block">
<div class="spiralist-manuscript-workstation__viewer-title-row">
<p class="spiralist-section-tag">Manuscript Viewer</p>
<h3 class="spiralist-card-title" id="manuscript-workstation-viewer"><?php echo esc_html($viewer_panel_title); ?></h3>
</div>
<p class="spiralist-manuscript-workstation__viewer-summary"><?php echo esc_html($viewer_panel_summary); ?></p>
</div>
</div>
<div class="spiralist-manuscript-workstation__viewer-controls">
<div class="spiralist-manuscript-workstation__meta-chips">
<?php if ($workstation_is_detail_route) : ?>
<span class="spiralist-manuscript-workstation__chip"><?php echo esc_html(sprintf('Route %d', $current_page_sequence)); ?></span>
<span class="spiralist-manuscript-workstation__chip"><?php echo esc_html($spread_mode_label); ?></span>
<span class="spiralist-manuscript-workstation__chip"><?php echo esc_html($is_primary_study_surface ? 'Study overlay + node field' : 'Study overlay enabled'); ?></span>
<?php else : ?>
<span class="spiralist-manuscript-workstation__chip"><?php echo esc_html($thumb_count_copy); ?></span>
<span class="spiralist-manuscript-workstation__chip"><?php echo esc_html($manuscript_route_mode === 'section' ? 'Chapter browser' : 'Codex browser'); ?></span>
<?php endif; ?>
<button class="spiralist-manuscript-workstation__mini-action" type="button" data-workstation-open-modal="search" aria-controls="manuscript-search-modal" aria-haspopup="dialog">Search</button>
</div>