Overview
Restructure the story reading experience from a single-page scroll to a Wattpad-style chapter layout with table of contents, individual plot pages, navigation, and per-chapter comments.
Sub-tickets
| # |
Title |
Priority |
Blocked by |
| #184 |
Contract: add title param to chainPlot + redeploy |
High |
— |
| #185 |
DB: add title to plots + create comments table |
High |
#184 |
| #186 |
Story main page: Genesis + table of contents |
High |
#184, #185 |
| #187 |
Plot detail pages with prev/next navigation |
High |
#185, #186 |
| #189 |
Per-plot comment system with pagination |
Medium |
#185 |
| #190 |
Chain page: add chapter title input |
Medium |
#184 |
Dependency graph
#184 (contract update + redeploy on Base Sepolia)
→ #185 (DB schema)
→ #186 (story main page TOC)
→ #187 (plot detail pages + nav)
→ #189 (comments)
→ #190 (chain page title input)
Deployment info
- Contract repo:
plotlink-contracts/ (Foundry, solc 0.8.28)
- Contract source:
plotlink-contracts/src/StoryFactory.sol
- Deploy script:
plotlink-contracts/script/DeployBaseSepolia.s.sol
- Deployer key:
plotlink-contracts/.env (DEPLOYER_PRIVATE_KEY)
- Frontend ABI:
plotlink/lib/contracts/abi.ts
- Frontend address:
plotlink/lib/contracts/constants.ts
- T3 can deploy autonomously — no operator gate needed
Key decisions
- Genesis (plot index 0) = story overview/synopsis shown on main page
- Each plot (index 1+) = individual chapter with its own page and comments
- Rating stays global on main story page
- Comments are per-chapter (stored with storyline_id + plot_index)
- Plot titles required for new plots, existing plots show "Chapter {N}" fallback
Overview
Restructure the story reading experience from a single-page scroll to a Wattpad-style chapter layout with table of contents, individual plot pages, navigation, and per-chapter comments.
Sub-tickets
titleparam tochainPlot+ redeploytitleto plots + createcommentstableDependency graph
Deployment info
plotlink-contracts/(Foundry, solc 0.8.28)plotlink-contracts/src/StoryFactory.solplotlink-contracts/script/DeployBaseSepolia.s.solplotlink-contracts/.env(DEPLOYER_PRIVATE_KEY)plotlink/lib/contracts/abi.tsplotlink/lib/contracts/constants.tsKey decisions