feat: implement slide-out cart drawer - #163
Open
Daksh7785 wants to merge 2 commits into
Open
Conversation
|
Someone is attempting to deploy a commit to the CHINMAY Team on Vercel. A member of the Team first needs to authorize it. |
❌ Deploy Preview for book-shelf1126 failed.
|
|
🎉 Thank you for opening this Pull Request! We appreciate your contribution and effort toward improving this project. A maintainer will review your PR soon. Please ensure: Thank you for contributing to the community. |
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.
resolves #162
Summary
Currently, clicking "Add to Cart" only updates a tiny counter in the Navbar. Users had no quick way to review the contents of their cart without navigating to a separate page, creating unnecessary friction during the shopping experience.
Root Cause
The frontend state exclusively tracked book objects pushed to an array and did not support granular quantity management, and there was no intermediate UI (like a drawer) to visualize this state to the user without hard-routing.
Solution
CartDrawercomponent from the main layout.App.jsxto group duplicate items and implement aquantitytracker.Files Changed
bookshelf-frontend/src/App.jsx: State management augmented to handle array maps for quantity logic. Injected<CartDrawer />.bookshelf-frontend/src/components/CartDrawer.jsx(NEW): Core layout for the cart UI, rendering dynamic lists of books and calculating totals.bookshelf-frontend/src/components/CartDrawer.css(NEW): Standard UI layout matching established theme tokens.Testing
Impact
Checklist