Lobby: live refresh after saving a character, slimmer player bar
A saved character now refreshes the player bar and the map tokens right away (new portrait or name). The player bar shows only the character name. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJhXuLD2Z6hv3Wqeq9UL9K
This commit is contained in:
@@ -434,8 +434,7 @@ function CharBar({ lobby, sel, onSel }) {
|
|||||||
onClick={() => can && onSel(m.username)} tabIndex={can ? 0 : undefined} onKeyDown={(e) => can && e.key === 'Enter' && onSel(m.username)}>
|
onClick={() => can && onSel(m.username)} tabIndex={can ? 0 : undefined} onKeyDown={(e) => can && e.key === 'Enter' && onSel(m.username)}>
|
||||||
<span className="pavatar">{c?.portrait ? <img src={`/api/lobbies/${lobby.id}/portrait/${encodeURIComponent(m.username)}?v=${c.portrait}`} alt="" /> : (c?.name || m.username).slice(0, 1).toUpperCase()}</span>
|
<span className="pavatar">{c?.portrait ? <img src={`/api/lobbies/${lobby.id}/portrait/${encodeURIComponent(m.username)}?v=${c.portrait}`} alt="" /> : (c?.name || m.username).slice(0, 1).toUpperCase()}</span>
|
||||||
<span className="pinfo">
|
<span className="pinfo">
|
||||||
<b>{c ? c.name : 'No character'}</b>
|
<b title={m.username}>{c ? c.name : 'No character'}</b>
|
||||||
<span className="muted small">{m.username}{m.me ? ' (you)' : ''}{c?.class ? ` · ${c.class}` : ''}</span>
|
|
||||||
</span>
|
</span>
|
||||||
{lobby.is_dm
|
{lobby.is_dm
|
||||||
? <input type="number" className="modin" key={`${m.username}:${m.mod}`} defaultValue={m.mod || 0} min={-100} max={100} title={`Bonus / malus for ${m.username}`} aria-label={`Modifier for ${m.username}`}
|
? <input type="number" className="modin" key={`${m.username}:${m.mod}`} defaultValue={m.mod || 0} min={-100} max={100} title={`Bonus / malus for ${m.username}`} aria-label={`Modifier for ${m.username}`}
|
||||||
@@ -639,7 +638,7 @@ function LobbyView({ id, rules, user }) {
|
|||||||
map: () => sock.current.loadMap?.(),
|
map: () => sock.current.loadMap?.(),
|
||||||
messages: () => sock.current.poll?.(),
|
messages: () => sock.current.poll?.(),
|
||||||
lobby: () => sock.current.load?.(),
|
lobby: () => sock.current.load?.(),
|
||||||
sheet: (n) => setSheetTick((t) => ({ cid: n.cid, n: t.n + 1 })),
|
sheet: (n) => { setSheetTick((t) => ({ cid: n.cid, n: t.n + 1 })); sock.current.load?.(); sock.current.loadMap?.() }, // a saved character can bring a new name or portrait
|
||||||
})
|
})
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
load(); loadMap()
|
load(); loadMap()
|
||||||
|
|||||||
Reference in New Issue
Block a user