rastrillo / fiesta Public

Clone
git clone https://amadan.net/rastrillo/fiesta

Plain git — no account needed to clone.

Download

Download this file

1<style>.sizing-small { font-size: var(--rst-fs-xs); }</style><div rst-page data-extra="small-parents">
2<div class="sizing-small">
3<div rst-bulkbar id="sizing-bulk"><form rst-search method="get" action="/x"><input type="search" name="q" id="sizing-bulk-search" aria-label="Find in the selection"></form><input rst-input type="text" id="sizing-bulk-input" aria-label="Rename the selection"><textarea rst-textarea id="sizing-bulk-note" aria-label="Note on the selection"></textarea></div>
4<details rst-dropdown name="rst-sizing-extra" id="sizing-menu"><summary>Find</summary><div rst-dropdown-menu><form rst-search method="get" action="/x"><input type="search" name="q" id="sizing-menu-search" aria-label="Find a filter"></form><input rst-input type="text" id="sizing-menu-input" aria-label="Name the filter"><textarea rst-textarea id="sizing-menu-note" aria-label="Note on the filter"></textarea></div></details>
5</div>
6<div rst-field><label rst-field-label for="sizing-bare">Bare</label><input type="text" id="sizing-bare" name="sizing_bare" data-sizing-not-an-idiom></div>
7<div rst-field><label rst-field-label for="sizing-primary">Title</label><input rst-input="primary" type="text" id="sizing-primary" name="sizing_primary"></div>
8<p data-extra="buttons"><button rst-btn="sm" type="button" id="sizing-btn-sm">Small</button> <button rst-btn type="button" id="sizing-btn">Default</button> <button rst-btn="lg" type="button" id="sizing-btn-lg">Large</button></p>
9<div data-extra="signin-providers"><div rst-signin-providers><form method="post" action="/auth/google"><button rst-btn="block" type="submit">Continue with Google</button></form><a href="/signin">Use your email instead</a></div></div>
10<div rst-shell-sidebar data-extra="legacy-drawer"><details rst-shell-chrome><summary>Menu</summary></details><aside rst-shell-rail><nav rst-shell-nav><a href="#legacy-one">Legacy one</a><a href="#legacy-two">Legacy two</a></nav></aside><main rst-shell-main><p>The legacy sidebar, which tokens.css keeps working for old layouts.</p></main></div>
11</div><div rst-page data-extra="combobox"><div rst-field><label rst-field-label for="sizing-combo">Country</label>
12<select rst-input id="sizing-combo" name="sizing_combo" data-rst-select data-rst-select-filter="Type to filter" data-rst-select-results="{n} results" data-rst-select-result-one="1 result" data-rst-select-no-matches="No matches"><option value="1">Option 1</option><option value="2">Option 2</option><option value="3">Option 3</option><option value="4">Option 4</option><option value="5">Option 5</option><option value="6">Option 6</option><option value="7">Option 7</option><option value="8">Option 8</option><option value="9">Option 9</option><option value="10">Option 10</option><option value="11">Option 11</option><option value="12">Option 12</option></select>
13</div></div><div rst-page data-extra="locale"><details rst-dropdown rst-locale name="rst-menus">
14 <summary>Language<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary>
15 <div rst-dropdown-menu>
16 <form method="post" action="/_locale"><input type="hidden" name="locale" value="en"><input type="hidden" name="return" value="/orders"><button type="submit" lang="en" aria-current="true">English</button></form>
17 <form method="post" action="/_locale"><input type="hidden" name="locale" value="ga"><input type="hidden" name="return" value="/orders"><button type="submit" lang="ga">Gaeilge</button></form>
18 <form method="post" action="/_locale"><input type="hidden" name="locale" value="ja"><input type="hidden" name="return" value="/orders"><button type="submit" lang="ja">日本語</button></form>
19 </div>
20</details></div><style>.sizing-narrow { display: grid; grid-template-columns: 36px; }</style><div rst-page data-extra="short-labels"><div rst-bulkbar><a rst-bulkbar-close href="/orders" aria-label="Done selecting"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></a><span rst-bulkbar-selection><span rst-bulkbar-count>3 selected</span><a rst-bulkbar-escalate href="/orders?select=all">All</a></span><details rst-dropdown name="rst-sizing-short"><summary>Actions<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary><div rst-dropdown-menu></div></details></div><div class="sizing-narrow"><a rst-person href="/people/al"><span rst-person-av aria-hidden="true">A</span><span rst-person-meta><span rst-person-name>Al</span></span></a></div></div><div rst-page data-extra="icon-text"><details rst-dropdown name="rst-sizing-icons"><summary>Views</summary><div rst-dropdown-menu><a href="#icon-item" id="icon-item"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Posts</a><button type="button" id="icon-button"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Archive</button></div></details><details class="rst-dropdown" name="rst-sizing-icons-class"><summary>Bulk</summary><div class="rst-dropdown__menu"><button type="button" id="icon-button-class"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Archive</button></div></details><div rst-shell-sidebar><aside rst-shell-rail><nav rst-shell-nav><a href="#icon-nav" id="icon-nav"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Posts</a></nav></aside><main rst-shell-main><p>Main.</p></main></div><a rst-shell-brand href="#icon-brand" id="icon-brand"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Acme</a><nav rst-back-nav><a href="#icon-back" id="icon-back"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Orders</a></nav><a rst-row-action href="#icon-action" id="icon-action"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Edit</a><div rst-signin-providers><a href="#icon-signin" id="icon-signin"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 12h16"/></svg> Use your email</a></div></div><div rst-page data-sample="box"><div rst-box-head><h2>Payout</h2><a rst-btn href="/payout/edit">Edit</a></div>
21<section rst-box><p>Everything on a screen sits inside boxes.</p><div rst-box-foot>Last updated 2 hours ago</div></section></div><div rst-page data-sample="button"><p><button rst-btn type="button">Cancel</button> <button rst-btn="primary" type="button">Save</button> <button rst-btn="ghost" type="button">Preview</button> <button rst-btn="danger" type="button">Delete</button></p>
22<p><button rst-btn="primary sm" type="button">Small</button> <button rst-btn="primary" type="button">Default</button> <button rst-btn="primary lg" type="button">Large</button> <a rst-btn href="/orders">View orders</a></p>
23<p><button rst-btn="primary block" type="button">Continue</button></p>
24<p><button rst-btn type="button" disabled>Archived</button></p></div><div rst-page data-sample="dropdown"><details rst-dropdown name="rst-menus">
25 <summary>Filter<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span><span class="rst-sr-only">Filter orders: Paid</span></summary>
26 <div rst-dropdown-menu>
27 <a aria-current="true" href="/orders?status=paid">Paid</a>
28 <details rst-menu-group name="rst-menus-price" open><summary>Price</summary><div><a href="/orders?price=free">Free</a></div></details>
29 </div>
30</details>
31<span rst-ftok><span rst-ftok-k>Paid</span><a href="/orders" aria-label="Remove filter Paid">✕</a></span></div><div rst-page data-sample="form-layout"><form rst-form-flow method="post" action="/settings">
32 <div rst-field>
33 <label rst-field-label for="name">Name</label>
34 <input rst-input type="text" id="name" name="name">
35 </div>
36 <div rst-field>
37 <label rst-field-label for="email">Email</label>
38 <input rst-input type="email" id="email" name="email">
39 </div>
40 <div rst-field-row>
41 <div class="rst-grow" rst-field>
42 <label rst-field-label for="city">City</label>
43 <input rst-input type="text" id="city" name="city">
44 </div>
45 <div rst-field>
46 <label rst-field-label for="zip">ZIP</label>
47 <input rst-input="short" type="text" id="zip" name="zip">
48 </div>
49 </div>
50 <div rst-form-bar>
51 <span rst-form-bar-note>Changes save immediately.</span>
52 <div rst-form-actions>
53 <a rst-btn href="/settings">Cancel</a>
54 <button rst-btn="primary" type="submit">Save</button>
55 </div>
56 </div>
57</form></div><div rst-page data-sample="help"><a rst-help rst-tip href="/help/orders" target="_blank" rel="noopener" aria-label="Help: orders" data-tip="About orders"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/></svg></a></div><div rst-page data-sample="list-grid"><div rst-card style="--rst-cols: 2fr 110px var(--rst-col-menu)">
58 <div rst-lrow="head"><span>Order</span><span class="rst-m-hide">Status</span><span></span></div>
59 <div rst-lrow>
60 <a class="rst-nm" href="/orders/AB3PX"><bdi>Grace Hopper</bdi><small>AB3PX · <bdi>grace@example.com</bdi></small></a>
61 <span class="rst-m-hide rst-cell-mut">Paid</span>
62 <details rst-row-menu name="rst-menus">
63 <summary aria-label="Actions for Grace Hopper"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg></summary>
64 <div rst-row-menu-panel><a href="/orders/AB3PX">View</a><hr><a class="rst-danger" href="/orders/AB3PX/refund">Refund order…</a></div>
65 </details>
66 </div>
67 <p rst-no-match>No orders match. <a href="/orders">Clear filters</a></p>
68</div>
69<p rst-count-line>Displaying <strong>1–20</strong> of <strong>412</strong></p></div><div rst-page data-sample="selbox"><label rst-selbox><input type="checkbox" aria-label="Select order AB3PX"></label></div><div rst-page data-sample="shell-sidebar"><div rst-shell-sidebar="page">
70 <a rst-skip href="#main">Skip to content</a>
71 <div rst-shell-back><a href="/#nav-reports" rel="up" aria-label="Back to Sections">Sections</a></div>
72 <aside rst-shell-rail><h1 rst-shell-title><span><a rst-shell-brand href="/">Notes</a></span><span>Reports</span></h1><a rst-shell-brand href="/">Notes</a>
73 <nav rst-shell-nav><span rst-shell-group>Work</span><a id="nav-dashboard" href="/dashboard">Dashboard</a><a id="nav-reports" href="/reports" aria-current="page">Reports</a></nav>
74 <div rst-shell-rail-foot><details rst-dropdown rst-shell-profile name="rst-shell-menu"><summary><span rst-shell-avatar><span rst-person-av aria-hidden="true">A</span><span rst-person-name>Ada Lovelace</span></span></summary><div rst-dropdown-menu><div rst-shell-who><span rst-person-av aria-hidden="true">A</span><span rst-person-name>Ada Lovelace</span><span rst-person-email>ada@example.com</span></div><a href="/settings">Settings</a></div></details></div>
75 </aside>
76 <main rst-shell-main id="main"><div rst-page>Content.</div></main>
77</div></div><div rst-page data-sample="shell-topbar"><div rst-shell-topbar>
78 <a rst-skip href="#main">Skip to content</a>
79 <header rst-shell-bar><a rst-shell-brand href="/">Notes</a>
80 <details rst-shell-menu name="rst-shell-menu"><summary><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 12h16"/><path d="M4 6h16"/><path d="M4 18h16"/></svg>Menu</summary></details>
81 <div rst-shell-tail>
82 <nav rst-shell-nav><a href="/" aria-current="page">Home</a><a href="/archive">Archive</a></nav>
83 <details rst-dropdown rst-shell-account name="rst-menus"><summary>Account<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary>
84 <div rst-dropdown-menu><a href="/settings">Settings</a></div></details>
85 </div>
86 </header>
87 <main rst-page id="main">Content.</main>
88 <footer rst-shell-foot>Made with rastrillo</footer>
89</div></div><div rst-page data-sample="stat-band"><div rst-stats>
90 <div rst-stat="lead"><span rst-stat-label>Revenue this month</span><span rst-stat-num>&euro;48,210</span><span rst-stat-delta rst-tone="positive">+12%</span><span rst-stat-note>vs. last month</span></div>
91 <div rst-stat><span rst-stat-label>Orders today</span><span rst-stat-num>318</span></div>
92 <div rst-stat><span rst-stat-label>Average basket</span><span rst-stat-num>&euro;41.20</span><span rst-stat-delta rst-tone="negative">&minus;3%</span></div>
93 <div rst-stat><span rst-stat-label>Refunds</span><span rst-stat-num>7</span></div>
94</div></div><div rst-page data-sample="tblock"><div rst-tblock>
95 <label rst-tblock-head><input type="checkbox" name="notify" checked>
96 <span rst-switch-track aria-hidden="true"></span>
97 <span><span rst-tblock-title>Email notifications</span><span rst-tblock-desc>Sent for every reply to a thread you're in.</span></span>
98 </label>
99 <div rst-tblock-body>
100 <div rst-field>
101 <label rst-field-label for="notify-freq">Frequency</label>
102 <input rst-input type="text" id="notify-freq" name="notify_freq" value="Daily digest">
103 </div>
104 </div>
105</div></div><div rst-page data-partial="page-header"><header rst-page-header>
106 <div rst-page-header-titles>
107 <h1>Posts</h1>
108 <p rst-page-header-sub>Everything you have written, newest first.</p>
109 </div>
110 <a rst-btn="primary" href="/posts/new"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="M12 5v14"/></svg>Write a post</a>
111</header></div><div rst-page data-partial="list-bar"><div rst-lbar>
112 <search><form rst-search method="get" action="/posts">
113 <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
114 <input type="search" name="q" value="release" placeholder="Search posts" aria-label="Search posts">
115 <a rst-search-clear href="/posts?sort=newest" aria-label="Clear search"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></a>
116 <input type="hidden" name="sort" value="newest">
117 <button class="rst-sr-only" type="submit">Search</button>
118</form></search>
119</div></div><div rst-page data-partial="list-bar-search"><search><form rst-search method="get" action="/posts">
120 <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
121 <input type="search" name="q" value="release" placeholder="Search posts" aria-label="Search posts">
122 <a rst-search-clear href="/posts?sort=newest" aria-label="Clear search"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></a>
123 <input type="hidden" name="sort" value="newest">
124 <button class="rst-sr-only" type="submit">Search posts</button>
125</form></search></div><div rst-page data-partial="list-search-submit"><button class="rst-sr-only" type="submit">Search posts</button></div><div rst-page data-partial="list-row-action"><div rst-row>
126 <span rst-row-lead data-lead="accent" aria-hidden="true">RN</span>
127 <span rst-row-main><a href="/posts/1">Release notes, August</a><small rst-row-sub>Published 2 August · 4 min read</small></span>
128 <a rst-row-action href="/posts/1/edit" aria-label="Edit Release notes, August">Edit</a>
129</div></div><div rst-page data-partial="row-menu"><details rst-row-menu name="rst-menus">
130 <summary aria-label="Actions for Grace Hopper"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg></summary>
131 <div rst-row-menu-panel>
132 <a href="/orders/AB3PX/edit">Edit</a>
133 <form method="post" action="/orders/AB3PX/archive"><input type="hidden" name="state" value="archived"><button type="submit">Archive</button></form>
134 <hr>
135 <a class="rst-danger" href="/orders/AB3PX/delete">Delete order…</a>
136 </div>
137</details></div><div rst-page data-partial="status-pill"><span rst-status rst-tone="positive">Published</span></div><div rst-page data-partial="empty-state"><div rst-empty>
138 <h2 rst-empty-title>Nothing here yet</h2>
139 <p rst-empty-body>No posts yet. Your first one is a good place to start.</p>
140 <form rst-empty-cta method="post" action="/posts/seed">
141 <input type="hidden" name="csrf" value="tok-123">
142 <button rst-btn="primary" type="submit">Add sample posts</button>
143 </form>
144</div></div><div rst-page data-partial="pagination"><nav rst-pagination aria-label="Pagination"><span rst-pagination-disabled rst-pagination-step="prev"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg><span rst-pagination-word>Previous</span></span><span aria-current="page">1</span><a href="/posts?page=2" rst-pagination-wide>2</a><span rst-pagination-gap aria-hidden="true">…</span><a href="/posts?page=9">9</a><a href="/posts?page=2" rst-pagination-step="next"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg><span rst-pagination-word>Next</span></a>
145</nav></div><div rst-page data-partial="badge"><span rst-badge>Draft</span></div><div rst-page data-partial="meter"><span rst-meter><meter rst-meter-bar value="82" min="0" max="100" aria-hidden="true"></meter><span rst-meter-num>412/500</span></span></div><div rst-page data-partial="person"><a rst-person href="/people/1"><span rst-person-av aria-hidden="true">G</span><span rst-person-meta><span rst-person-name>Grace Hopper</span><span rst-person-email>grace@example.com</span></span></a></div><div rst-page data-partial="callout"><div rst-callout rst-tone="warning"><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><path d="M12 9v4"/><path d="M12 17h.01"/></svg></span><div rst-callout-body><strong>Connect payments to start selling</strong><p>Your event is live but can&#39;t take payment yet.</p></div></div></div><div rst-page data-partial="detail-list"><dl rst-detail>
146 <dt>Audience</dt>
147 <dd>Members</dd>
148 <dt>Main page</dt>
149 <dd>No</dd>
150</dl></div><div rst-page data-partial="field"><div rst-field><label rst-field-label for="email">Email</label>
151<input rst-input type="email" id="email" name="email" required aria-describedby="email-help">
152<p rst-field-help id="email-help">We&#39;ll never share this.</p>
153</div></div><div rst-page data-partial="field-select"><div rst-field><label rst-field-label for="role">Role</label>
154<select rst-input id="role" name="role"><option value="admin" selected>Admin</option><option value="member">Member</option></select>
155</div></div><div rst-page data-partial="field-textarea"><div rst-field>
156 <label rst-field-label for="bio">Bio</label>
157 <textarea rst-textarea id="bio" name="bio" rows="4" aria-describedby="bio-hint"></textarea>
158 <small rst-field-hint id="bio-hint">Shown on your profile.</small>
159</div></div><div rst-page data-partial="field-text"><div rst-field>
160 <label rst-field-label for="title">Title</label>
161 <input rst-input id="title" name="title" type="text" aria-describedby="title-hint">
162 <small rst-field-hint id="title-hint">Shown in the list.</small>
163</div></div><div rst-page data-partial="dropdown"><details rst-dropdown name="rst-menus">
164 <summary rst-btn>Sort <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></summary>
165 <div rst-dropdown-menu>
166 <a href="/x">Newest</a>
167 </div>
168</details></div><div rst-page data-partial="form-foot"><div rst-form-foot>
169 <button rst-btn="primary lg" type="submit">Save</button>
170 <a rst-btn="lg" href="/admin/posts">Back to posts</a>
171</div></div><div rst-page data-partial="field-check"><label rst-switch><input type="checkbox" name="notify" checked><span rst-switch-track aria-hidden="true"></span> Email me about replies</label></div><div rst-page data-partial="choice-field"><fieldset rst-choice><legend>Plan</legend><div rst-choice-cards><label><input type="radio" name="plan" value="free"><span><span rst-choice-title>Free</span><span rst-choice-desc>Good to start.</span></span></label><label><input type="radio" name="plan" value="pro" checked><span><span rst-choice-title>Pro</span><span rst-choice-desc>For growing teams.</span></span></label></div></fieldset></div><div rst-page data-partial="seg-tabs"><nav rst-seg-tabs aria-label="Sections"><a href="?tab=basics" aria-current="page">Basics</a><a href="?tab=advanced">Advanced</a></nav><div rst-seg-tabs role="group" aria-label="View"><button type="button" aria-pressed="true">List</button><button type="button" aria-pressed="false">Grid</button></div></div><div rst-page data-partial="side-nav"><div rst-side><nav rst-side-nav aria-label="Settings"><a href="/settings/general" aria-current="page">General</a><a href="/settings/members">Members</a></nav><div><p>The workspace's name, and the language it opens in.</p></div></div></div><div rst-page data-partial="confirm-form"><form rst-form-actions method="post" action="/orders/1/refund"><input type="hidden" name="csrf" value="tok"><input type="hidden" name="id" value="42"><a rst-btn="ghost lg" href="/orders/1">Cancel</a><button type="submit" rst-btn="danger lg">Refund €10.00</button></form></div><div rst-page data-partial="back-nav"><nav rst-back-nav><a href="/orders/1">← Order AB3PX</a></nav></div><div rst-page data-partial="bulk-bar"><div rst-bulkbar><a rst-bulkbar-close href="/orders" aria-label="Done selecting"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></a><span rst-bulkbar-selection><span rst-bulkbar-count>3 selected</span><a rst-bulkbar-escalate href="/orders?select=all">Select all 412 matching</a></span><details rst-dropdown name="rst-menus"><summary>Actions<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary><div rst-dropdown-menu><button type="submit" name="action" value="export">Export</button><button type="submit" name="action" value="refund" class="rst-danger">Refund…</button></div></details></div></div><div rst-page data-partial="media-grid"><div rst-media>
172 <div rst-media-tile>
173 <div rst-media-frame>
174 <img src="/images/4471.png" alt="" loading="lazy" decoding="async" width="1280" height="3200">
175 <label rst-selbox><input type="checkbox" name="id" value="4471" checked aria-label="Select Checkout, step 2"></label>
176 </div>
177 <div rst-media-caption>
178 <div rst-media-name><a href="/images/4471">Checkout, step 2</a><details rst-row-menu name="rst-menus">
179 <summary aria-label="Actions for Checkout, step 2"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg></summary>
180 <div rst-row-menu-panel>
181 <a href="/images/4471/edit">Edit</a>
182 <hr>
183 <a class="rst-danger" href="/images/4471/delete">Delete image…</a>
184 </div>
185</details></div>
186 <p rst-media-desc>The payment step, with the card form open.</p>
187 <p rst-media-meta>1280 × 3200 · 412 KB</p>
188 </div>
189 </div>
190 <div rst-media-tile>
191 <div rst-media-frame="contain">
192 <img src="/images/4472.svg" alt="Harbour" loading="lazy" decoding="async">
193 <label rst-selbox><input type="checkbox" name="id" value="4472" aria-label="Select Harbour logo"></label>
194 </div>
195 <div rst-media-caption>
196 <div rst-media-name><a href="/images/4472">Harbour logo</a></div>
197 <p rst-media-desc="none">No description</p>
198 </div>
199 </div>
200</div></div><div rst-page data-partial="scheme-menu"><details rst-dropdown rst-scheme name="rst-menus">
201 <summary>Colour scheme<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary>
202 <div rst-dropdown-menu role="group" aria-label="Colour scheme">
203 <form method="post" action="/_theme"><input type="hidden" name="scheme" value="light"><input type="hidden" name="return" value="/orders"><button type="submit">Light</button></form>
204 <form method="post" action="/_theme"><input type="hidden" name="scheme" value="dark"><input type="hidden" name="return" value="/orders"><button type="submit" aria-current="true">Dark</button></form>
205 <form method="post" action="/_theme"><input type="hidden" name="scheme" value="system"><input type="hidden" name="return" value="/orders"><button type="submit">System</button></form>
206 </div>
207</details></div><div rst-page data-partial="actor"><span rst-actor>Claude for 7</span></div><div rst-page data-partial="api-tokens"><div rst-tokens>
208 <div rst-callout rst-tone="positive" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg></span><div rst-callout-body><strong>Copy this token now. It won&#39;t be shown again.</strong><p><code rst-tokens-secret>notes_k3Jx9QpL2mWa_SECRETSECRETSECRET</code></p></div></div>
209 <section rst-box><form rst-form method="post" action="/tokens">
210 <div rst-field><label rst-field-label for="agent">Agent name</label>
211<input rst-input type="text" id="agent" name="agent" maxlength="40">
212</div>
213 <label rst-switch><input type="checkbox" name="for_self" value="on"><span rst-switch-track aria-hidden="true"></span> This token is for me, not an agent</label>
214 <fieldset rst-choice><legend>Access</legend><div rst-choice-cards><label><input type="radio" name="access" value="write" checked><span><span rst-choice-title>Read and write</span></span></label><label><input type="radio" name="access" value="read"><span><span rst-choice-title>Read only</span></span></label></div></fieldset>
215 <div rst-field><label rst-field-label for="expiry">Expires</label>
216<select rst-input="short" id="expiry" name="expiry"><option value="30">30 days</option><option value="90" selected>90 days</option><option value="365">1 year</option><option value="never">Never</option></select>
217</div>
218 <div rst-form-foot>
219 <button rst-btn="primary lg" type="submit">Create token</button>
220</div>
221 </form></section>
222 <div rst-card rst-tokens-list>
223 <div rst-lrow="head"><span>Token</span><span class="rst-m-hide">Access</span><span class="rst-m-hide">Created</span><span class="rst-m-hide">Last used</span><span class="rst-m-hide">Expires</span><span></span><span></span></div>
224 <div rst-lrow>
225 <span class="rst-nm"><span rst-actor>Claude for Paul</span><small><code>k3Jx9QpL2mWa</code></small></span>
226 <span rst-tokens-fact><span rst-tokens-fact-label>Access</span>Read and write</span>
227 <span rst-tokens-fact><span rst-tokens-fact-label>Created</span><time datetime="2026-08-02">2026-08-02</time></span>
228 <span rst-tokens-fact><span rst-tokens-fact-label>Last used</span><time datetime="2026-08-11">2026-08-11</time></span>
229 <span rst-tokens-fact><span rst-tokens-fact-label>Expires</span><time datetime="2026-10-31">2026-10-31</time></span>
230 <span rst-tokens-state></span>
231 <details rst-row-menu name="rst-menus">
232 <summary aria-label="Actions for Claude for Paul"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg></summary>
233 <div rst-row-menu-panel>
234 <form method="post" action="/tokens/revoke"><input type="hidden" name="id" value="k3Jx9QpL2mWa"><button type="submit">Revoke</button></form>
235 </div>
236</details>
237 </div>
238 <div rst-lrow>
239 <span class="rst-nm"><span rst-actor>Paul</span><small><code>Qm2vR8sT4xYb</code></small></span>
240 <span rst-tokens-fact><span rst-tokens-fact-label>Access</span>Read only</span>
241 <span rst-tokens-fact><span rst-tokens-fact-label>Created</span><time datetime="2026-08-02">2026-08-02</time></span>
242 <span rst-tokens-fact><span rst-tokens-fact-label>Last used</span></span>
243 <span rst-tokens-fact><span rst-tokens-fact-label>Expires</span>Never</span>
244 <span rst-tokens-state></span>
245 <details rst-row-menu name="rst-menus">
246 <summary aria-label="Actions for Paul"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg></summary>
247 <div rst-row-menu-panel>
248 <form method="post" action="/tokens/revoke"><input type="hidden" name="id" value="Qm2vR8sT4xYb"><button type="submit">Revoke</button></form>
249 </div>
250</details>
251 </div>
252 <div rst-lrow>
253 <span class="rst-nm"><span rst-actor>Codex for Paul</span><small><code>Zp7wN1cH6kLd</code></small></span>
254 <span rst-tokens-fact><span rst-tokens-fact-label>Access</span>Read and write</span>
255 <span rst-tokens-fact><span rst-tokens-fact-label>Created</span><time datetime="2026-08-02">2026-08-02</time></span>
256 <span rst-tokens-fact><span rst-tokens-fact-label>Last used</span></span>
257 <span rst-tokens-fact><span rst-tokens-fact-label>Expires</span>Never</span>
258 <span rst-tokens-state><span rst-status rst-tone="neutral">Revoked</span></span>
259 </div>
260 <div rst-lrow>
261 <span class="rst-nm"><span rst-actor>Nightly import for Paul</span><small><code>Vb4tG9yK3nMe</code></small></span>
262 <span rst-tokens-fact><span rst-tokens-fact-label>Access</span>Read only</span>
263 <span rst-tokens-fact><span rst-tokens-fact-label>Created</span><time datetime="2026-08-02">2026-08-02</time></span>
264 <span rst-tokens-fact><span rst-tokens-fact-label>Last used</span></span>
265 <span rst-tokens-fact><span rst-tokens-fact-label>Expires</span><time datetime="2026-08-11">2026-08-11</time></span>
266 <span rst-tokens-state><span rst-status rst-tone="warning">Expired</span></span>
267 </div>
268 </div>
269 <div rst-tokens-revoke>
270 <form method="post" action="/tokens/revoke-agent"><input type="hidden" name="agent" value="Claude"><button rst-btn type="submit">Revoke all for this agent: Claude</button></form>
271 <form method="post" action="/tokens/revoke-all"><button rst-btn="danger" type="submit">Revoke all tokens</button></form>
272 </div>
273</div></div><div rst-page data-partial="error-page"><div rst-error>
274 <p rst-error-status>500</p>
275 <h1 rst-error-title>Something went wrong on our side</h1>
276 <p rst-error-body>It&#39;s not you. The problem has been recorded. Try again in a moment; if it keeps happening, quote the reference below.</p>
277 <p rst-error-cta><a rst-btn="primary" href="/">Start page</a> <a rst-btn href="/orders">Go back</a></p>
278 <p class="rst-mono" rst-error-ref dir="auto">Reference: k3f9tq</p>
279</div></div><div rst-page data-partial="field-date"><div rst-field>
280 <label rst-field-label for="published_on">Published on <span rst-field-required aria-hidden="true">*</span></label>
281 <input rst-input id="published_on" name="published_on" type="date" value="2026-08-28" min="2026-01-01" max="2026-12-31" required aria-invalid="true" aria-describedby="published_on-hint published_on-error" data-rst-date data-rst-date-words="{&#34;ago&#34;:&#34;ago&#34;,&#34;am&#34;:&#34;am|a.m.&#34;,&#34;at&#34;:&#34;at&#34;,&#34;day&#34;:&#34;day|days&#34;,&#34;hour&#34;:&#34;hour|hours|h&#34;,&#34;in&#34;:&#34;in&#34;,&#34;last&#34;:&#34;last&#34;,&#34;midnight&#34;:&#34;midnight&#34;,&#34;minute&#34;:&#34;minute|minutes|min|mins|m&#34;,&#34;month&#34;:&#34;month|months&#34;,&#34;next&#34;:&#34;next&#34;,&#34;noon&#34;:&#34;noon|midday&#34;,&#34;pm&#34;:&#34;pm|p.m.&#34;,&#34;today&#34;:&#34;today&#34;,&#34;tomorrow&#34;:&#34;tomorrow&#34;,&#34;week&#34;:&#34;week|weeks&#34;,&#34;yesterday&#34;:&#34;yesterday&#34;}" data-rst-date-set="Set" data-rst-date-hint="Try: {example}" data-rst-date-pick="Open the calendar" data-rst-date-calendar="Calendar" data-rst-date-prev-month="Previous month" data-rst-date-next-month="Next month" data-rst-date-results="{n} suggestions" data-rst-date-result-one="1 suggestion" data-rst-date-quick-today="Today" data-rst-date-quick-tomorrow="Tomorrow" data-rst-date-quick-next-week="In a week" data-rst-date-quick-plus-1h="An hour later" data-rst-date-quick-plus-2h="Two hours later" data-rst-date-quick-end-of-day="End of that day" data-rst-date-quick-next-day="Same time next day">
282 <small rst-field-hint id="published_on-hint">The day it goes live.</small>
283 <small rst-field-error id="published_on-error">Pick a date.</small>
284</div></div><div rst-page data-partial="field-time"><div rst-field>
285 <label rst-field-label for="doors">Doors open <span rst-field-required aria-hidden="true">*</span></label>
286 <input rst-input id="doors" name="doors" type="time" value="19:30" min="09:00" max="23:00" required aria-invalid="true" aria-describedby="doors-hint doors-error" data-rst-time data-rst-date-words="{&#34;ago&#34;:&#34;ago&#34;,&#34;am&#34;:&#34;am|a.m.&#34;,&#34;at&#34;:&#34;at&#34;,&#34;day&#34;:&#34;day|days&#34;,&#34;hour&#34;:&#34;hour|hours|h&#34;,&#34;in&#34;:&#34;in&#34;,&#34;last&#34;:&#34;last&#34;,&#34;midnight&#34;:&#34;midnight&#34;,&#34;minute&#34;:&#34;minute|minutes|min|mins|m&#34;,&#34;month&#34;:&#34;month|months&#34;,&#34;next&#34;:&#34;next&#34;,&#34;noon&#34;:&#34;noon|midday&#34;,&#34;pm&#34;:&#34;pm|p.m.&#34;,&#34;today&#34;:&#34;today&#34;,&#34;tomorrow&#34;:&#34;tomorrow&#34;,&#34;week&#34;:&#34;week|weeks&#34;,&#34;yesterday&#34;:&#34;yesterday&#34;}" data-rst-date-set="Set" data-rst-date-hint="Try: {example}" data-rst-date-pick="Open the calendar" data-rst-date-pick-time="Open the clock" data-rst-date-results="{n} suggestions" data-rst-date-result-one="1 suggestion" data-rst-date-quick-today="Today" data-rst-date-quick-tomorrow="Tomorrow" data-rst-date-quick-next-week="In a week" data-rst-date-quick-plus-1h="An hour later" data-rst-date-quick-plus-2h="Two hours later" data-rst-date-quick-end-of-day="End of that day" data-rst-date-quick-next-day="Same time next day">
287 <small rst-field-hint id="doors-hint">Local time.</small>
288 <small rst-field-error id="doors-error">Pick a time.</small>
289</div></div><div rst-page data-partial="field-datetime"><div rst-field>
290 <label rst-field-label for="published_at">Publish at <span rst-field-required aria-hidden="true">*</span></label>
291 <input rst-input id="published_at" name="published_at" type="datetime-local" value="2026-08-28T19:30" min="2026-01-01T00:00" max="2026-12-31T23:59" required aria-invalid="true" aria-describedby="published_at-hint published_at-error" data-rst-date data-rst-date-words="{&#34;ago&#34;:&#34;ago&#34;,&#34;am&#34;:&#34;am|a.m.&#34;,&#34;at&#34;:&#34;at&#34;,&#34;day&#34;:&#34;day|days&#34;,&#34;hour&#34;:&#34;hour|hours|h&#34;,&#34;in&#34;:&#34;in&#34;,&#34;last&#34;:&#34;last&#34;,&#34;midnight&#34;:&#34;midnight&#34;,&#34;minute&#34;:&#34;minute|minutes|min|mins|m&#34;,&#34;month&#34;:&#34;month|months&#34;,&#34;next&#34;:&#34;next&#34;,&#34;noon&#34;:&#34;noon|midday&#34;,&#34;pm&#34;:&#34;pm|p.m.&#34;,&#34;today&#34;:&#34;today&#34;,&#34;tomorrow&#34;:&#34;tomorrow&#34;,&#34;week&#34;:&#34;week|weeks&#34;,&#34;yesterday&#34;:&#34;yesterday&#34;}" data-rst-date-set="Set" data-rst-date-hint="Try: {example}" data-rst-date-pick="Open the calendar" data-rst-date-calendar="Calendar" data-rst-date-prev-month="Previous month" data-rst-date-next-month="Next month" data-rst-date-results="{n} suggestions" data-rst-date-result-one="1 suggestion" data-rst-date-quick-today="Today" data-rst-date-quick-tomorrow="Tomorrow" data-rst-date-quick-next-week="In a week" data-rst-date-quick-plus-1h="An hour later" data-rst-date-quick-plus-2h="Two hours later" data-rst-date-quick-end-of-day="End of that day" data-rst-date-quick-next-day="Same time next day">
292 <small rst-field-hint id="published_at-hint">When it goes live.</small>
293 <small rst-field-error id="published_at-error">Pick a time.</small>
294</div></div><div rst-page data-partial="field-daterange"><fieldset rst-field-range>
295 <legend>When</legend>
296 <div rst-field-row data-rst-range="session">
297 <div rst-field>
298 <label rst-field-label for="starts_at">Starts</label>
299 <input rst-input id="starts_at" name="starts_at" type="datetime-local" value="2026-08-28T19:30" data-rst-date data-rst-date-words="{&#34;ago&#34;:&#34;ago&#34;,&#34;am&#34;:&#34;am|a.m.&#34;,&#34;at&#34;:&#34;at&#34;,&#34;day&#34;:&#34;day|days&#34;,&#34;hour&#34;:&#34;hour|hours|h&#34;,&#34;in&#34;:&#34;in&#34;,&#34;last&#34;:&#34;last&#34;,&#34;midnight&#34;:&#34;midnight&#34;,&#34;minute&#34;:&#34;minute|minutes|min|mins|m&#34;,&#34;month&#34;:&#34;month|months&#34;,&#34;next&#34;:&#34;next&#34;,&#34;noon&#34;:&#34;noon|midday&#34;,&#34;pm&#34;:&#34;pm|p.m.&#34;,&#34;today&#34;:&#34;today&#34;,&#34;tomorrow&#34;:&#34;tomorrow&#34;,&#34;week&#34;:&#34;week|weeks&#34;,&#34;yesterday&#34;:&#34;yesterday&#34;}" data-rst-date-set="Set" data-rst-date-hint="Try: {example}" data-rst-date-pick="Open the calendar" data-rst-date-calendar="Calendar" data-rst-date-prev-month="Previous month" data-rst-date-next-month="Next month" data-rst-date-results="{n} suggestions" data-rst-date-result-one="1 suggestion" data-rst-date-quick-today="Today" data-rst-date-quick-tomorrow="Tomorrow" data-rst-date-quick-next-week="In a week" data-rst-date-quick-plus-1h="An hour later" data-rst-date-quick-plus-2h="Two hours later" data-rst-date-quick-end-of-day="End of that day" data-rst-date-quick-next-day="Same time next day">
300</div>
301 <div rst-field>
302 <label rst-field-label for="ends_at">Ends</label>
303 <input rst-input id="ends_at" name="ends_at" type="datetime-local" aria-invalid="true" aria-describedby="ends_at-error" data-rst-date data-rst-date-words="{&#34;ago&#34;:&#34;ago&#34;,&#34;am&#34;:&#34;am|a.m.&#34;,&#34;at&#34;:&#34;at&#34;,&#34;day&#34;:&#34;day|days&#34;,&#34;hour&#34;:&#34;hour|hours|h&#34;,&#34;in&#34;:&#34;in&#34;,&#34;last&#34;:&#34;last&#34;,&#34;midnight&#34;:&#34;midnight&#34;,&#34;minute&#34;:&#34;minute|minutes|min|mins|m&#34;,&#34;month&#34;:&#34;month|months&#34;,&#34;next&#34;:&#34;next&#34;,&#34;noon&#34;:&#34;noon|midday&#34;,&#34;pm&#34;:&#34;pm|p.m.&#34;,&#34;today&#34;:&#34;today&#34;,&#34;tomorrow&#34;:&#34;tomorrow&#34;,&#34;week&#34;:&#34;week|weeks&#34;,&#34;yesterday&#34;:&#34;yesterday&#34;}" data-rst-date-set="Set" data-rst-date-hint="Try: {example}" data-rst-date-pick="Open the calendar" data-rst-date-calendar="Calendar" data-rst-date-prev-month="Previous month" data-rst-date-next-month="Next month" data-rst-date-results="{n} suggestions" data-rst-date-result-one="1 suggestion" data-rst-date-quick-today="Today" data-rst-date-quick-tomorrow="Tomorrow" data-rst-date-quick-next-week="In a week" data-rst-date-quick-plus-1h="An hour later" data-rst-date-quick-plus-2h="Two hours later" data-rst-date-quick-end-of-day="End of that day" data-rst-date-quick-next-day="Same time next day">
304 <small rst-field-error id="ends_at-error">The end comes before the start.</small>
305</div>
306 </div>
307</fieldset></div><div rst-page data-partial="field-url"><div rst-field>
308 <label rst-field-label for="website">Website <span rst-field-required aria-hidden="true">*</span></label>
309 <input rst-input id="website" name="website" type="text" inputmode="url" autocomplete="url" autocapitalize="none" autocorrect="off" spellcheck="false" value="brightwater.example/pricing" required aria-invalid="true" aria-describedby="website-hint website-error">
310 <small rst-field-hint id="website-hint">Where people can read more.</small>
311 <small rst-field-error id="website-error">Enter a web address, like example.com.</small>
312</div></div><div rst-page data-partial="field-money"><div rst-field>
313 <label rst-field-label for="ticket_price">Ticket price <span class="rst-mono">EUR</span> <span rst-field-required aria-hidden="true">*</span></label>
314 <input rst-input id="ticket_price" name="ticket_price" type="text" inputmode="decimal" value="12,.50" required aria-invalid="true" aria-describedby="ticket_price-hint ticket_price-error">
315 <input type="hidden" name="ticket_price.locale" value="en">
316 <input type="hidden" name="ticket_price.currency" value="EUR">
317 <input type="hidden" name="ticket_price.seed" value="">
318 <small rst-field-hint id="ticket_price-hint">For example, 12.50 or €12.50.</small>
319 <small rst-field-error id="ticket_price-error">Use a point for decimals, like 12.50.</small>
320</div></div><div rst-page data-partial="signin"><section rst-signin aria-labelledby="rst-signin-heading">
321<div rst-signin-brand><div rst-signin-mark><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9"/></svg></div><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
322<div rst-signin-door>
323<h1 id="rst-signin-heading">Sign in to Harbour</h1>
324<form rst-signin-form method="post" action="/signin">
325<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
326<input rst-input type="email" id="rst-signin-email" name="address" value="grace@example.com" required autofocus autocomplete="email">
327</div>
328<button rst-btn="primary block" type="submit">Continue</button>
329</form>
330</div>
331</section></div><div rst-page data-partial="signin-title">Check your email to sign in to Harbour</div>