Skip to content

feat(keys): implement key lock-up status indicator and sell unlock countdown (#1163) - #1214

Merged
Chucks1093 merged 1 commit into
accesslayerorg:devfrom
cold-13:feat/issue-1163-key-lockup-status-indicator
Oct 20, 2026
Merged

Chucks1093 merged 1 commit into
accesslayerorg:devfrom
cold-13:feat/issue-1163-key-lockup-status-indicator

Conversation

@cold-13

@cold-13 cold-13 commented Oct 20, 2026

Copy link
Copy Markdown

Summary

  • Fetch wallet-scoped lock-up status from GET /keys/:keyId/lockup/:wallet via a new useKeyLockup hook (404 mapped to null = unlocked); cache keyed per wallet in queryKeys.creators.lockup
  • Show an amber KeyLockupBadge (lock icon + live days/hours/minutes countdown + unlock timestamp tooltip) on portfolio holding rows and the key detail page for positions under lock-up
  • Disable the Sell button on PortfolioHoldingRow and CreatorDetailPage with a LockupActive: Selling is disabled while this position is under lock-up. Unlocks in … reason while the lock is in force
  • Countdown ticks every second (useRemainingUnlockSeconds); badge and sell block remove themselves automatically when unlockAt passes — no lock-up UI for unlocked positions
  • New helpers computeRemainingUnlockSeconds / formatUnlockCountdown in lockupCountdown.utils.ts accept seconds epoch, ms epoch, or ISO timestamps

Closes #1163

Testing

  • pnpm lint
  • pnpm build

Checklist

  • Linked issue or backlog item
  • Scope is limited to the stated change
  • Updated docs if behavior or setup changed
  • Added screenshots for UI changes when relevant

…own (accesslayerorg#1163)

- Add GET /keys/:keyId/lockup/:wallet service method, query key, and
  useKeyLockup hook (per-wallet cache, 404 treated as unlocked)
- Add KeyLockupBadge with live days/hours/minutes countdown that removes
  itself at unlock
- PortfolioHoldingRow: show lock-up badge and disable Sell with a
  LockupActive reason while locked
- KeyDetail: disable Sell Key with LockupActive message + countdown and
  render the badge; re-enables automatically at unlock timestamp
@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@cold-13 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Chucks1093
Chucks1093 merged commit 1cee082 into accesslayerorg:dev Oct 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement key lock-up status indicator and sell unlock countdown

3 participants