feat: ✨ implement feedback system (reviews + comments) in project detail pages#862
Merged
Conversation
…ail pages - Add lib/feedback.ts API client with DID signing (mirrors useDppApi) - Add ReviewSummary, ReviewCard, ReviewSection, ReviewForm components - Add CommentThread, CommentForm components - Integrate reviews section and sidebar rating into ProjectDetailNew - Add i18n keys for en/de/fr/it - Add --ifr-skeleton-bg CSS variable to theme.css - Update .beads issues
…for-pages lint errors
…Form Clicking Reply on a ReviewCard now toggles an inline threaded reply section below that review, with existing replies and a form to add new ones. Self-contained in ReviewSection — no parent wiring needed.
- CommentThread now always visible below each review card - Reply button only toggles the CommentForm input - DELETE requests now send DID auth headers (sign empty body) - Fix null comments crash in CommentThread fetch
Empty-body signatures can fail Zenroom verification on the backend.
Sending {} (JSON empty object) gives the signing a real payload
('e30=' in base64) that both frontend and backend can verify.
The backend DeleteComment handler ignores the body, so this is safe.
- ReviewCard: edit/delete buttons for own reviews with delete confirmation - ReviewForm: edit mode with initialReview prop, update/editing labels - ReviewSection: inline create/edit forms, duplicate alert when user already reviewed - API: getUserReview and deleteReview methods added to feedback hook - ProjectDetailNew: simplified, removed showReviewForm toggle
phoebus-84
added a commit
that referenced
this pull request
Jul 2, 2026
- **chore: 🔧 new publish workflow also for tchibo branch (#809)** - **style: 🎨 lighter markdown editor (#763)** - **feat: ✨ links to projects now lead to new products page (#813)** - **feat: ✨ improve UX for unauthenticated users (#814)** - **fix: 🐛 project images editing (#817)** - **fix: 🐛 qr code disappear for projects that have it and new tabs mapping for url params (#818)** - **feat: ✨ add recyclability and repairability filters (#821)** - **feat: interfacer gui big rework phase 1 (#825)** - **fix: 🐛 migrate to mominatim for location autocomplete and lookup (#834)** - **feat(dpp): ✨ dedicated DPP detail page with prototype-matching UI (#835)** - **feat(layout): ✨ show top bar and sidebar for unauthenticated users (#836)** - **fix(nav): 🐛 Designs links to /designs, fix active state catch-all (#837)** - **feat: ✨ wire sorting orderBy and distinctPrimaryAccountableCount from backend (#838)** - **feat(dpp): ✨ redesign DPP tab to match Figma prototype (#839)** - **refactor(ui): remove redundant owner banners and fix search filters (#840)** - **refactor(tags): ♻️ 🏷️ prefix user tags with tag- to disambiguate from system classifiedAs (#841)** - **feat(project): ✨ add DPP-backed 3D model viewer (#848)** - **fix(docker): 🐛 replace broken pnpm download URL with corepack (#849)** - **fix(cards): 🐛 remove image rounded corners and allow two-line titles (#860)** - **fix(docker): 🐛 pin pnpm version to fix frozen-lockfile mismatch (#863)** - **fix: 🐛 re-add Machines tab to profile page with proper spec filtering (#861)** - **fix: 🐛 restrict manufacturability filter to designs catalog, driven by derived products (#859)** - **fix: 🐛 catalogue filters ux, remove apply button (#858)** - **fix(docker): 🐛 fix build failure — NODE_ENV blocking devDeps and transpilePackages config (#865)** - **fix(docker): 🐛 simplify Dockerfile — build at startup so gui.env vars are available (#867)** - **feat: ✨ implement feedback system (reviews + comments) in project detail pages (#862)** - **fix: 🐛 unrelated dpps in product details (#869)** - **feat: 3D viewer controls (zoom, rotate, fullscreen) and multi-CAD file support (#868)** --------- Co-authored-by: Puria Nafisi Azizi <puria@dyne.org>
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.
to work it needs the feedback server to be online: https://github.com/interfacerproject/interfacer-feedback-service
close: #864