PlotDirector/PlotLine/Views/Onboarding/StoryIntelligenceProgress.cshtml

61 lines
2.7 KiB
Plaintext

@model StoryIntelligenceProgressViewModel
@{
ViewData["Title"] = "Preparing Story Intelligence";
}
<section class="onboarding-shell" aria-labelledby="story-progress-title">
<div class="onboarding-panel"
data-story-intelligence-progress
data-story-intelligence-job-id="@Model.Job.JobID">
<div class="onboarding-copy">
<p class="eyebrow">@Model.BookTitle</p>
<h1 id="story-progress-title">Preparing Story Intelligence</h1>
<p>PlotDirector is preparing the analysis engine. This phase does not run AI analysis or generate story suggestions.</p>
</div>
<section class="onboarding-story-progress" aria-label="Story Intelligence progress">
<div class="onboarding-scan-status">
<span data-story-intelligence-message>@Model.Job.CurrentMessage</span>
<strong data-story-intelligence-percent>@Model.Job.ProgressPercent%</strong>
</div>
<div class="onboarding-scan-progress" aria-hidden="true">
<span data-story-intelligence-progress-bar style="width:@Model.Job.ProgressPercent%"></span>
</div>
<div class="onboarding-scan-counts">
<div>
<span>Stage</span>
<strong data-story-intelligence-stage>@Model.Job.CurrentStage</strong>
</div>
<div>
<span>Status</span>
<strong data-story-intelligence-status>@Model.Job.Status</strong>
</div>
<div>
<span>Elapsed</span>
<strong data-story-intelligence-elapsed>@Model.Job.ElapsedTime</strong>
</div>
<div>
<span>Remaining</span>
<strong data-story-intelligence-remaining>@(Model.Job.EstimatedRemaining ?? "Calculating")</strong>
</div>
</div>
</section>
<div class="onboarding-actions">
<form asp-action="CancelStoryIntelligence" method="post">
<input type="hidden" name="jobId" value="@Model.Job.JobID" />
<button class="btn btn-outline-secondary" type="submit" disabled="@(!Model.Job.IsActive)">Cancel</button>
</form>
<a class="btn btn-primary @(Model.Job.IsCompleted ? string.Empty : "disabled")"
data-story-intelligence-complete-link
asp-action="StoryIntelligenceComplete"
asp-route-jobId="@Model.Job.JobID"
aria-disabled="@(!Model.Job.IsCompleted)">Continue</a>
</div>
</div>
</section>
@section Scripts {
<script src="~/js/story-intelligence-progress.js" asp-append-version="true"></script>
}