Files
rank/public/index.html
T
2026-05-22 20:57:36 +02:00

134 lines
6.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#061B33" />
<title>Prioritix — Feature Prioritization</title>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="stylesheet" href="/styles.css?v=prioritix-20260522-1" />
</head>
<body>
<div class="app-shell">
<aside class="sidebar" aria-label="Main navigation">
<div class="brand-mark" aria-label="Prioritix">P</div>
<nav>
<a class="active" href="#prioritize"><span></span><b>Prioritize</b></a>
<a href="#backlog"><span></span><b>Backlog</b></a>
<a href="#roadmap"><span></span><b>Roadmap</b></a>
<a href="#reports"><span></span><b>Reports</b></a>
</nav>
<button class="collapse" type="button" title="Collapse sidebar"></button>
</aside>
<main class="workspace">
<header class="topbar">
<button class="menu-button" type="button" aria-label="Menu"></button>
<div class="project-title">
<h1>Rank Prioritization Studio</h1>
<p><strong>Project goal:</strong> capture, sort, and turn rough feature ideas into a visible roadmap.</p>
</div>
<div class="profile-card">
<span>Sorting profile</span>
<strong>MVP (2x2)</strong>
<button type="button" id="profileToggle" aria-label="Change sorting profile"></button>
<div class="profile-menu" id="profileMenu" hidden>
<button type="button" class="selected">MVP (2x2) ✓</button>
<button type="button">RICE Score</button>
<button type="button">Value vs Effort</button>
<button type="button">Kano Model</button>
<button type="button">Custom</button>
</div>
</div>
<div class="progress-card" id="progressCard"></div>
</header>
<section class="capture-strip" aria-label="Quick capture">
<form id="ideaForm" autocomplete="off">
<label class="capture-title">New feature
<input id="title" name="title" maxlength="180" placeholder="Smart requirement sorting, mobile dark mode, dependency warnings…" required />
</label>
<label>Brief
<input id="description" name="description" maxlength="500" placeholder="One sentence. Keep sorting focused." />
</label>
<label>Category
<input id="labels" name="labels" placeholder="UI / UX" />
</label>
<input type="hidden" name="milestoneId" value="inbox" />
<input type="hidden" name="impact" value="7" />
<input type="hidden" name="effort" value="4" />
<input type="hidden" name="confidence" value="6" />
<input type="hidden" name="urgency" value="5" />
<button type="submit">Capture ↵</button>
</form>
</section>
<section class="sorting-layout" id="prioritize">
<section class="active-column" aria-label="Active feature">
<div class="section-label">Active feature</div>
<div class="feature-deck" id="featureDeck"></div>
<div class="deck-actions">
<button type="button" id="skipFeature">▷ Skip</button>
<button type="button" id="postponeFeature">↓ Postpone</button>
</div>
</section>
<section class="grid-column" aria-label="Sorting grid">
<div class="section-label">Sorting grid (MVP - 2x2)</div>
<div class="sorting-grid" id="sortingGrid"></div>
</section>
</section>
<section class="utility-row" aria-label="Feature card actions">
<button type="button" data-utility="park"><span></span><strong>Park</strong><small>Valid idea, not relevant now. Revisit later.</small></button>
<button type="button" data-utility="investigate"><span></span><strong>Investigate</strong><small>Needs more research or validation.</small></button>
<button type="button" data-utility="remove"><span></span><strong>Remove</strong><small>Not a good fit. Remove from project.</small></button>
</section>
<section class="timeline-panel" id="roadmap" aria-label="Timeline view">
<div class="timeline-head">
<div>
<h2>Timeline view</h2>
<p>Sorted features become nodes. Click a node to inspect; drag-and-drop can come later without breaking the model.</p>
</div>
<div class="zoom-controls"><button type="button"></button><button type="button"></button><button type="button"></button></div>
</div>
<div class="timeline" id="timeline"></div>
</section>
<section class="backlog-panel" id="backlog">
<div class="section-label">Backlog / utility states</div>
<div id="backlogList" class="backlog-list"></div>
</section>
</main>
</div>
<aside class="detail" id="detail" aria-hidden="true">
<form id="detailForm">
<div class="detail-head">
<div><span class="category-dot"></span><span id="detailCategory">UI / UX</span></div>
<span class="chip">MVP</span>
<button type="button" id="closeDetail" aria-label="Close">×</button>
</div>
<input name="title" class="detail-title" />
<label>Brief<textarea name="description" rows="4" placeholder="What this feature changes for the product"></textarea></label>
<div class="detail-grid">
<label>User value<input type="number" min="0" max="10" name="impact" /></label>
<label>Effort<input type="number" min="1" max="10" name="effort" /></label>
<label>Confidence<input type="number" min="0" max="10" name="confidence" /></label>
<label>Urgency<input type="number" min="0" max="10" name="urgency" /></label>
</div>
<label>Notes<textarea name="notes" rows="5" placeholder="Decision notes, links, dependencies…"></textarea></label>
<div class="detail-actions">
<button type="button" id="parkDetail">Park</button>
<button type="submit">Save</button>
<button type="button" id="archiveIdea" class="danger">Delete</button>
</div>
</form>
</aside>
<div class="toast" id="toast" hidden></div>
<script src="/app.js?v=prioritix-20260522-1" type="module"></script>
</body>
</html>