"Now" status scan experience — show what you're currently up to
Experience #9 (lite): a published card can carry a "Now" line shown with a live pulsing dot, so a scanned profile reflects what the person is currently doing. - Backend: demo publish accepts optional `now` -> definition.profile.now; test asserts it. Gate green (120 tests). - Web: renders a "Now: …" block with an animated green dot. astro check clean. - Mobile: a "Now" field on the publish screen. Verified live alongside a link payload (CTA button). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
a61d0221d1
commit
b487195def
@@ -31,6 +31,7 @@ export default function PublishScreen() {
|
||||
const [payloadKind, setPayloadKind] = useState<"none" | "link" | "code">("none");
|
||||
const [payloadLabel, setPayloadLabel] = useState("");
|
||||
const [payloadValue, setPayloadValue] = useState("");
|
||||
const [now, setNow] = useState("");
|
||||
const [busy, setBusy] = useState(false);
|
||||
const [result, setResult] = useState<string | null>(card?.publishedUrl ?? null);
|
||||
|
||||
@@ -56,6 +57,7 @@ export default function PublishScreen() {
|
||||
payloadKind !== "none" && payloadValue.trim()
|
||||
? { kind: payloadKind, label: payloadLabel.trim(), value: payloadValue.trim() }
|
||||
: undefined,
|
||||
now: now.trim() || undefined,
|
||||
});
|
||||
// Point the card's QR at the real profile + remember it.
|
||||
upsert({ ...card, url: profileUrl, publishedUrl: profileUrl, updatedAt: Date.now() });
|
||||
@@ -101,6 +103,16 @@ export default function PublishScreen() {
|
||||
</>
|
||||
)}
|
||||
|
||||
<Text style={styles.label}>Now — what you’re up to (optional)</Text>
|
||||
<TextInput
|
||||
style={styles.input}
|
||||
editable={!busy}
|
||||
placeholder="e.g. Building CardClaws · open to design partners"
|
||||
placeholderTextColor="#6b6b70"
|
||||
value={now}
|
||||
onChangeText={setNow}
|
||||
/>
|
||||
|
||||
<Text style={styles.label}>Payload drop (optional)</Text>
|
||||
<View style={styles.kindRow}>
|
||||
{(["none", "link", "code"] as const).map((k) => (
|
||||
|
||||
Reference in New Issue
Block a user