Add AssetCardPullExpand component for locked-state display and wire
up/down gesture symmetry on the asset detail page.
Down-pull at top of list:
- card scales 1.0 -> 1.6 with translateY follow, sibling modules fade
out, hint text '下拉查看大图' -> '松手查看大图' past 80rpx
- on release past threshold, viewMode flips to expanded
Up-pull in expanded state:
- card shrinks 1.6 -> 1.0 with translateY follow, sibling modules fade
back in, hint text '上拉收起' -> '松手收起' past 80rpx
- on release past threshold, viewMode flips back to normal
- the locked scale(1.6) lives on the wrapper so the release animation
stays single-jump, not dual-jump
Implementation:
- AssetCardPullExpand renders the card at scale(1) and exposes isExpanded
for the parent's locked-state toggle (showMask prop gates the legacy
full-screen tap-to-collapse overlay)
- both gesture surfaces use lazy startY capture in onMove to avoid
tap-induced jumps; no CSS transition on the wrapper during active pull
- 0.15s transform transition smooths the release interpolation only
- header bar and report/share buttons stay visible in both states;
v-if/v-else-if/v-else chain (loading -> error -> expanded -> scroll-view)
preserved; existing 8 card class names and parent CSS untouched
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>