61 lines
2.7 KiB
Plaintext
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>
|
|
}
|