feat(viewer,ui04): E05 realtime hearts + effect-demo alignment (initial offset, heart params, decode gate, bidirectional manual scroll)
- reactions.ts pure fns: delta->hearts sampling, burstId dedupe (TTL/capacity), pending-visible cache (5s/50), 250ms emission throttle with merge - useEmbedReactions: read-only RealtimeClient subscription on album.publicToken (no viewer-page side effects, A15), rebind teardown, 10s grace disconnect, no fake bubbles on WS failure - ReactionLayer: demo-frozen heart effect (12/16/20 sizes, two colors, 110px rise, 1.6s ease-out, 300ms stagger, max 8, drop-shadow) in unscoped block (created elements lack scoped hash) - demo alignment: initial offset 32px, decode+500ms startup gate, 1:1 drag, arrows +-40, focus-tip, bidirectional manual scroll (manualScroll), loader handle 100x44 exact styles, <=599px offset default 12 - tests: +8 reactions unit (244 viewer), e2e E05: real cross-context like -> heart on correct photo (EMB-A09), zero likes/visits submission (EMB-A15), 16s hearts recording Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,7 @@ export default {
|
||||
collapseWindow: 'Collapse photo window',
|
||||
streamPaused: 'Photo scrolling paused',
|
||||
streamResumed: 'Photo scrolling resumed',
|
||||
streamKeyHint: 'Space pause · ↑↓ scroll · Esc collapse',
|
||||
},
|
||||
download: {
|
||||
action: 'Download photo',
|
||||
|
||||
@@ -39,6 +39,7 @@ export default {
|
||||
collapseWindow: '收起照片窗',
|
||||
streamPaused: '照片滚动已暂停',
|
||||
streamResumed: '照片滚动继续',
|
||||
streamKeyHint: '空格 暂停 · ↑↓ 滚动 · Esc 收起',
|
||||
},
|
||||
download: {
|
||||
action: '下载图片',
|
||||
|
||||
Reference in New Issue
Block a user