feat(tangle-cloud): slashing lifecycle UI#3133
Conversation
…execute, and timeline Add comprehensive slashing management including proposal creation, dispute workflows, batch execution, eligibility checks, and timeline visualization. Improve contract write hook with public client support for wait-for-receipt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…based view Replace 4 lifecycle tabs (Propose/Active/Executable/History) with 2 role-based tabs (My Proposals / Against Me) for clearer operator context. Add Operator column and "Your Role" indicator (Proposer/Slashed) to the slash table. Update summary cards and dispute deadline banner to be role-aware. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…Slashing Show human-readable date instead of raw seconds for slash execution reason messages, and apply formatting fixes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use on-chain block timestamp instead of browser time for accurate countdown calculations - Remove redundant Role and Execution Readiness columns - Add tooltip explanations for Slash % and Effective Slash % headers - Show action buttons based on role (Dispute for slashed operator, Cancel/Execute for non-operator) - Add tooltip on disabled Execute button showing reason/countdown - Remove verbose status text below action buttons - Filter out upcoming stages in timeline modal - Default to My Proposals tab instead of Against Me - Adjust table cell padding and fix minor formatting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove auto-selection of first operator, make operator field always a select input (disabled until service is selected), and match select background styling with text inputs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… descriptions Remove disputeReason dependency from buildSlashTimeline, simplify dispute/executed stage state logic, and provide clearer stage descriptions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…line display Reorder stats cards (Active Registrations, Active Against You, My Active Proposals), remove Executable Now card, filter skipped timeline stages, add consistent chip sizing, and hide unavailable timestamps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude finished @vutuanlinh2k2's task —— View job Code Review Progress
|
…ponents Break up the monolithic page.tsx into smaller, focused modules: - components/: SlashingSummaryCards, SlashingTabsTable, modals - hooks/: useChainClock, useSlashActions, useSlashProposalForm - constants.ts and utils.ts for shared config and helpers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@claude I just done with Priority fixes
Please review again |
|
Claude finished @vutuanlinh2k2's task —— View job Re-reviewing Slashing Lifecycle UI ChangesExcellent work on the refactoring! I can see significant improvements in addressing the priority fixes from my previous review. Todo List:
Code Review Summary - Second Review✅ Outstanding Improvements Made1. Excellent Code Organization
2. Custom Hooks Implementation - Excellent Quality
// Clean separation of concerns with robust error handling
const handleProposeSlash = useCallback(async () => {
try {
// Business logic
} catch (error) {
setActionError((prev) => ({
...prev,
propose: getErrorMessage(error, 'Failed to submit slash proposal.'),
}));
}
}, [/* proper dependencies */]);
3. Component Modularization - Well StructuredModal Components (5 files):
Supporting Components:
4. Error Handling - Good ImplementationWhile not using React Error Boundaries, the error handling is robust:
|
|
I commented Claude to do another review so I cancelled the Claude CI |

Summary
Video
CleanShot.2026-02-20.at.21.38.53_part1.mp4
CleanShot.2026-02-20.at.21.38.53_part2.mp4
Test plan
🤖 Generated with Claude Code