Repository navigation
feat: add the Reviews stop to the web book page - #2845
Merged
Merged
Conversation
roberte777
added this pull request to stack #2844
October 20, 2026 21:11
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Contributor
cargo-auditNo RustSec advisories found in Posted by the Rust workflow's |
4 of 6 tasks
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Pending saves can discard draft edits, refreshes can restore stale content, and review dialogs need keyboard focus handling.
4 open issues
What changed in this PR
Adds a Reviews section after Stats on the web book page, using the review APIs introduced in #2843.
Changes:
- Adds editable reviews, private notes, spoiler controls and household ratings.
- Shares Markdown editing and highlight insertion with journals.
- Adds review tests and updates navigation and deletion wording.
| File | Description |
|---|---|
| ui_tests/playwright/tests/pages/BookDetailPage.ts | Adds Reviews and seventh stop. |
| ui_tests/playwright/tests/flows/reviews.spec.ts | Tests review workflows and failures. |
| ui_tests/playwright/tests/flows/book_detail.spec.ts | Updates navigation and replaces rating coverage. |
| ui_tests/playwright/tests/fixtures/requestFixtures.ts | Registers review requests. |
| ui_tests/playwright/tests/fixtures/dataFixtures.ts | Adds review setup and cleanup. |
| ui_tests/playwright/tests/fixtures/accountFixtures.ts | Adds reader-specific requests. |
| ui_tests/playwright/tests/data/reviews.ts | Defines review test types. |
| ui_tests/playwright/tests/data/ratings.ts | Removes obsolete rating types. |
| ui_tests/playwright/tests/contracts/reviews.ts | Defines review mutation contracts. |
| ui_tests/playwright/tests/contracts/ratings.ts | Removes obsolete rating contracts. |
| ui_tests/playwright/tests/components/ReviewsComponent.ts | Adds review selectors and actions. |
| ui_tests/playwright/tests/components/RatingComponent.ts | Removes replaced rating component. |
| ui_tests/playwright/tests/apiRequests/ReviewsRequests.ts | Adds review API helpers. |
| shared/src/deletion.rs | Labels deletion losses as reviews. |
| frontend/src/pages/book_detail/reviews/writes.rs | Handles mutations and refreshes. |
| frontend/src/pages/book_detail/reviews/tests.rs | Tests patches and rendered states. |
| frontend/src/pages/book_detail/reviews/summary.rs | Displays household ratings and jump link. |
| frontend/src/pages/book_detail/reviews/stars.rs | Adds half-star picker. |
| frontend/src/pages/book_detail/reviews/others.rs | Displays other readers and spoilers. |
| frontend/src/pages/book_detail/reviews/mine.rs | Adds personal card and deletion dialog. |
| frontend/src/pages/book_detail/reviews/composer.rs | Edits public text and private notes. |
| frontend/src/pages/book_detail/reviews.rs | Coordinates review loading and rendering. |
| frontend/src/pages/book_detail/mod.rs | Registers Reviews; retains mobile ratings. |
| frontend/src/pages/book_detail/marquee/tests.rs | Verifies seven-stop navigation. |
| frontend/src/pages/book_detail/marquee/stats.rs | Removes the old rating widget. |
| frontend/src/pages/book_detail/marquee/home.rs | Adds household-rating jump link. |
| frontend/src/pages/book_detail/marquee.rs | Integrates the Reviews stop. |
| frontend/src/pages/book_detail/journal/entry_card.rs | Uses shared Markdown surface. |
| frontend/src/pages/book_detail/journal/composer.rs | Uses shared editor and highlight controls. |
| frontend/src/pages/book_detail/journal.rs | Shares spoiler reveal binding. |
| frontend/src/pages/book_detail/journal_editor.rs | Extracts reusable editing controls. |
| frontend/src/pages/book_detail/flow.js | Updates section-count comment only. |
| frontend/src/data/reviews/tests.rs | Tests mobile transport behavior. |
| frontend/src/data/reviews.rs | Adds review transports. |
| frontend/src/data.rs | Exports review operations. |
| frontend/assets/atrium.css | Styles review surfaces. |
| .claude/rules/04a-playwright-surfaces.md | Documents seven navigation dots. |
| .claude/rules/04-playwright.md | Reserves the review test fixture. |
Review effort: Balanced
…reviews moving forward
…saves, and focus the review dialogs
…popover while a review saves
roberte777
added a commit
that referenced
this pull request
Oct 21, 2026
…he replica and queued offline (#2846) ## Summary - Reviews replaces the mobile rating block; the title line links down to it - Reviews read through the local replica, so the section shows offline - Offline writes queue as `review:<uuid>`; queued patches merge per field - Rating writes queued by older builds still replay ## Test plan - [x] `cargo nextest run -p omnibus-frontend --features mobile` - [x] `cargo nextest run -p omnibus-frontend --features server` - [x] `just lint` and `cargo clippy -p omnibus-frontend --features mobile` ## Version By default a merge to `main` cuts a patch release. Pick the version update this PR should trigger; labels override the default: - [ ] **Minor** — add the `minor version` label (`vX.Y.Z` → `vX.(Y+1).0`). - [x] **Patch** — the default; add the `patch version` label or leave unlabeled (`vX.Y.Z` → `vX.Y.(Z+1)`). - [ ] **No release** — add the `no release` label to skip cutting a release. If both `minor version` and `patch version` are applied, `minor version` wins. Unlabeled PRs that only touch docs (`*.md`, `docs/`) or CI (`.github/`) skip the release automatically. ## Notes - Part of #2841: stacked on #2845 (db → API → web → mobile → React → iOS) - The card is the shared web section; this PR adds the mobile chrome around it - A cached review holds private notes, so the account-switch wipe covers it
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Test plan
cargo nextest run -p omnibus-frontend --features serverjust e2e-ci tests/flows/reviews.spec.tsjust lintVersion
By default a merge to
maincuts a patch release. Pick the version update this PR should trigger; labels override the default:minor versionlabel (vX.Y.Z→vX.(Y+1).0).patch versionlabel or leave unlabeled (vX.Y.Z→vX.Y.(Z+1)).no releaselabel to skip cutting a release.If both
minor versionandpatch versionare applied,minor versionwins. Unlabeled PRs that only touch docs (*.md,docs/) or CI (.github/) skip the release automatically.Notes
ratings