Fix report pagination and rebuild saved plan navigation
Test and deploy / test-and-deploy (push) Successful in 1m43s

This commit is contained in:
snowspeeder committed 2026-09-05 15:47:44 -04:00
1 parent 824a964f9d
commit 5f3a015ea2
20 files changed
+1480 -809

No files matched your search

+156
View File
@@ -0,0 +1,156 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Plans — Roast Planner</title>
<link rel="stylesheet" href="/app.css?v=__ASSET_VERSION__" />
<link
rel="icon"
href="/icon.svg?v=__ASSET_VERSION__"
type="image/svg+xml"
/>
<meta name="theme-color" content="#A8481A" />
</head>
<body>
<div class="app-shell">
<nav class="side-nav" id="side-nav" aria-label="Main navigation">
<div class="side-nav-brand">
<img
class="brand-mark"
src="/brand-mark.svg?v=__ASSET_VERSION__"
alt=""
aria-hidden="true"
/>
<span class="brand-name">Roast Planner</span>
</div>
<div id="nav-links"></div>
<div class="nav-spacer"></div>
<button
class="icon-btn nav-collapse-toggle"
type="button"
id="nav-collapse"
aria-label="Collapse navigation"
title="Collapse navigation"
>
«
</button>
<div class="nav-user">
<div
class="nav-user-avatar"
id="nav-user-avatar"
aria-hidden="true"
></div>
<div class="nav-user-detail">
<span class="nav-user-email" id="account-email"></span>
<button class="nav-user-logout" type="button" id="btn-logout">
Log out
</button>
</div>
</div>
</nav>
<div class="app-workspace" id="app-workspace">
<header class="app-header">
<div class="header-row-top">
<button
class="icon-btn nav-hamburger"
type="button"
id="nav-hamburger"
aria-label="Open navigation"
aria-expanded="false"
>
☰
</button>
<div class="brand">
<div class="brand-text">
<h1>Plans</h1>
<p class="brand-sub">
Find, filter and open your saved roast plans.
</p>
</div>
</div>
</div>
</header>
<div class="drawer-overlay hidden" id="drawer-overlay"></div>
<main class="page-content wide">
<section class="panel-card">
<div class="panel-head">
<h2>Your plans</h2>
<button type="button" class="primary-btn" id="plans-new">
New plan
</button>
</div>
<div class="panel-body">
<form id="plan-filters" class="collection-filters" role="search">
<label class="field"
>Search<input
class="field-input"
type="search"
name="q"
placeholder="Name, coffee, origin or cultivar"
/></label>
<label class="field"
>Process<select class="field-input" name="process">
<option value="">All processes</option>
<option value="washed">Washed</option>
<option value="natural">Natural</option>
<option value="anaerobic">Anaerobic / CM</option>
<option value="yellow-honey">Yellow / white honey</option>
<option value="red-black-honey">Red / black honey</option>
</select></label
>
<label class="field"
>Roast level<select class="field-input" name="level">
<option value="">All levels</option>
<option value="light">Light</option>
<option value="light-medium">Light-medium</option>
<option value="medium">Medium</option>
<option value="dark">Dark</option>
<option value="very-dark">Very dark</option>
</select></label
>
<label class="field"
>Sort<select class="field-input" name="sort">
<option value="updated">Recently updated</option>
<option value="oldest">Oldest updated</option>
</select></label
>
<button type="button" class="ghost-btn" id="plans-clear">
Clear filters
</button>
</form>
<div class="table-wrap">
<table class="data-table">
<thead>
<tr>
<th>Plan</th>
<th>Origin</th>
<th>Cultivar</th>
<th>Process</th>
<th>Roast level</th>
<th>Batch</th>
<th>Updated</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="plans-body"></tbody>
</table>
</div>
<div class="collection-pagination">
<p id="plans-status" role="status"></p>
<button type="button" class="ghost-btn" id="plans-prev">
Previous</button
><button type="button" class="ghost-btn" id="plans-next">
Next
</button>
</div>
</div>
</section>
</main>
</div>
</div>
<script type="module" src="/js/plans.js?v=__ASSET_VERSION__"></script>
</body>
</html>