Everything written this session that has not been through the device: rounds 43 to 48 (each patch adversarially verified, 43's transient-notice expectation fixed), a partial round 49, the pipeline scripts, the Android Auto design and the icon comparison mock. Also the two harness changes that were never A/B'd — adaptive waits, which may only shorten a declared wait and never lengthen it, and a ship that runs the mock walk and the deploy at the same time. The A/B and its 255-step baseline are in handoff/tools; main stays at what the phone has actually walked.
28 lines
2.1 KiB
Plaintext
28 lines
2.1 KiB
Plaintext
{:else if kind === "contact" && shown?.arg?.username}
|
|
{@const u = shown.arg.username}
|
|
{@const m = metaOf(u)}
|
|
<div class="sheet-head">
|
|
<span class="art idc"><Identicon seed={u} size={44} /></span>
|
|
<span class="b"><span class="t">{display(u)}</span><span class="m">{realName(u) ? realName(u) + " · " : ""}kept on this phone, published nowhere</span></span>
|
|
</div>
|
|
<div class="sheet-rows">
|
|
{@render row("pencil", "Petname", m.petname || "what you call them here", () => metaPrompt(u, "petname", "Petname", u, m.petname || ""))}
|
|
{@render row("tag", "Group", m.group || "a word to sort them by", () => metaPrompt(u, "group", "Group", "Traders", m.group || ""))}
|
|
{@render row("file-text", "Note", m.note || "a private note, for you only", () => metaPrompt(u, "note", "Note", "What you want to remember about them", m.note || "", true))}
|
|
<div class="sheet-hair"></div>
|
|
<button class="row" onclick={() => setMeta(u, { favorite: !m.favorite })}>
|
|
<span class="lead"><Icon name="star" size={20} /></span>
|
|
<span class="b"><span class="t">Favorite</span><span class="m">kept at the top of the buddy list</span></span>
|
|
<span class="sw" class:on={m.favorite}><span></span></span>
|
|
</button>
|
|
<button class="row" onclick={() => setMeta(u, { trusted: !m.trusted })}>
|
|
<span class="lead"><Icon name="shield" size={20} /></span>
|
|
<span class="b"><span class="t">Trusted</span><span class="m">someone you take at their word</span></span>
|
|
<span class="sw" class:on={m.trusted}><span></span></span>
|
|
</button>
|
|
{#if m.petname || m.group || m.note || m.trusted || m.favorite}
|
|
<div class="sheet-hair"></div>
|
|
{@render row("x", "Clear these details", "everything above leaves the list", act(() => { void clearMeta(u); }))}
|
|
{/if}
|
|
</div>
|