2026-06-13 17:17:40 +01:00

141 lines
5.7 KiB
Plaintext

@model PlotLine.ViewModels.WordCompanionHostViewModel
@{
Layout = null;
var statusText = Model.IsAuthenticated ? "Connected to PlotDirector" : "Please sign in to PlotDirector";
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>PlotDirector Companion</title>
<link rel="stylesheet" href="~/css/word-companion.css" asp-append-version="true" />
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
</head>
<body>
<main class="word-companion-shell" data-authenticated="@Model.IsAuthenticated.ToString().ToLowerInvariant()">
<header class="word-companion-header">
<p class="word-companion-eyebrow">PlotDirector</p>
<h1>Companion</h1>
<p class="word-companion-status" data-connection-status>@statusText</p>
@if (Model.IsAuthenticated)
{
<p class="word-companion-user">Signed in as @Model.DisplayName</p>
}
else
{
<a class="word-companion-sign-in" href="@Model.LoginUrl" target="_top">Sign in</a>
}
</header>
<section class="word-companion-section" aria-label="Project selection">
<label for="word-companion-project">Project</label>
<select id="word-companion-project" data-project-select disabled>
<option value="">Loading projects...</option>
</select>
<p class="word-companion-message" data-project-message></p>
</section>
<section class="word-companion-section" aria-label="Book selection">
<label for="word-companion-book">Book</label>
<select id="word-companion-book" data-book-select disabled>
<option value="">Select a project first</option>
</select>
<p class="word-companion-message" data-book-message></p>
</section>
<section class="word-companion-section" aria-label="Current Scene">
<span>Current Scene</span>
<strong>(Not connected)</strong>
</section>
<section class="word-companion-section word-companion-document" aria-label="Document Structure">
<div class="word-companion-section-header">
<span>Document Structure</span>
<button type="button" data-refresh-document>Refresh Document Structure</button>
</div>
<div class="word-companion-structure-grid">
<div>
<span>Current Chapter</span>
<strong data-current-chapter>Not detected</strong>
</div>
<div>
<span>Current Scene</span>
<strong data-current-scene>Not detected</strong>
</div>
<div>
<span>Current Scene Word Count</span>
<strong data-current-word-count>-</strong>
</div>
</div>
<p class="word-companion-message" data-document-message></p>
<p class="word-companion-message" data-sync-note></p>
<div class="word-companion-outline" data-document-outline>
<p>No structure scanned.</p>
</div>
</section>
<section class="word-companion-section" aria-label="Diagnostics">
<div class="word-companion-section-header">
<span>Diagnostics</span>
<button type="button" data-run-diagnostics>Run Diagnostics</button>
</div>
<div class="word-companion-diagnostics-grid">
<div>
<span>Office Host</span>
<strong data-diagnostic-host>Unknown</strong>
</div>
<div>
<span>Office Platform</span>
<strong data-diagnostic-platform>Unknown</strong>
</div>
<div>
<span>Office Ready</span>
<strong data-diagnostic-ready>No</strong>
</div>
<div>
<span>Word API Available</span>
<strong data-diagnostic-word-api>No</strong>
</div>
<div>
<span>Last Scan Result</span>
<strong data-diagnostic-last-scan>Not run</strong>
</div>
<div>
<span>Paragraphs Found</span>
<strong data-diagnostic-paragraphs>-</strong>
</div>
<div>
<span>Heading 1 Found</span>
<strong data-diagnostic-heading1>-</strong>
</div>
<div>
<span>Heading 2 Found</span>
<strong data-diagnostic-heading2>-</strong>
</div>
</div>
</section>
<section class="word-companion-summary" aria-label="Connection summary">
<div>
<span>Connection Status</span>
<strong data-summary-connection>@statusText</strong>
</div>
<div>
<span>Current Project</span>
<strong data-summary-project>(Not connected)</strong>
</div>
<div>
<span>Current Book</span>
<strong data-summary-book>(Not connected)</strong>
</div>
</section>
<footer class="word-companion-footer">
<span data-office-status>Word Companion loading</span>
</footer>
</main>
<script src="~/js/word-companion-host.js" asp-append-version="true"></script>
</body>
</html>