closerdao / closer-ui

closer-ui.vercel.app
1 stars 0 forks source link

Feat make food and utilities optional #483

Closed valieff closed 1 month ago

valieff commented 1 month ago

Closes https://github.com/closerdao/closer-ui/issues/332

Works with BE: https://github.com/closerdao/closer-api/pull/185

localhost_3000_stay Screenshot 2024-08-16 at 22 37 46

Summary by CodeRabbit

Summary by CodeRabbit

vercel[bot] commented 1 month ago

The latest updates on your projects. Learn more about Vercel for Git β†—οΈŽ

Name Status Preview Comments Updated (UTC)
foz βœ… Ready (Inspect) Visit Preview πŸ’¬ Add feedback Aug 27, 2024 11:32am
lios βœ… Ready (Inspect) Visit Preview πŸ’¬ Add feedback Aug 27, 2024 11:32am
moos βœ… Ready (Inspect) Visit Preview πŸ’¬ Add feedback Aug 27, 2024 11:32am
traditionaldreamfactory βœ… Ready (Inspect) Visit Preview πŸ’¬ Add feedback Aug 27, 2024 11:32am
coderabbitai[bot] commented 1 month ago

Walkthrough

This update enhances the booking process by integrating food selection management. Key features include the introduction of a FoodSelectionPage component for managing food options, layout adjustments for improved spacing, updates to helper functions for total calculations related to bookings, and enhancements to food-related data handling. These changes streamline the user experience and improve the overall functionality of the booking interface.

Changes

File(s) Change Summary
packages/closer/pages/bookings/[slug]/food.tsx Introduced FoodSelectionPage component for managing food options during bookings, including state management and API interactions.
packages/closer/pages/bookings/create/dates.tsx Adjusted margin class for improved layout without impacting functionality.
packages/closer/utils/booking.helpers.ts Modified getFiatTotal, getUtilityTotal functions and added getFoodTotal and calculateFoodPrice for enhanced total calculations.
packages/closer/components/BookingListPreview/BookingListPreview.tsx Updated to include foodFiat for displaying food-related payment information in the booking summary.
packages/closer/components/FoodListPreview.tsx New component for previewing food items, integrating user role checks for edit access.
packages/closer/pages/food/[slug]/edit.tsx Introduced EditFood component for editing food items, leveraging Next.js features for data fetching.
packages/closer/pages/food/index.tsx Created FoodPage for managing food listings with user authentication checks and data fetching.
packages/closer/types/api.ts Updated BookingSettings and BookingConfig types to include new food option properties.
packages/closer/locales/base-en.json Updated localization strings to reflect changes in food options and costs in the booking context.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant FoodSelectionPage
    participant API

    User->>FoodSelectionPage: Access food selection
    FoodSelectionPage->>API: Fetch food options
    API-->>FoodSelectionPage: Return food options
    User->>FoodSelectionPage: Select food options
    FoodSelectionPage->>API: Submit selected food options
    API-->>FoodSelectionPage: Confirmation of submission
    FoodSelectionPage->>User: Redirect to next booking step

Assessment against linked issues

Objective Addressed Explanation
Add food as an option in bookings and allow selection (332) βœ…
Implement food pricing and configure food options in booking setup (332) βœ…
Display food options at checkout with proper pricing and options (332) βœ…
Ensure volunteers can opt out of food and adjust booking costs accordingly (332) ❌ The implementation does not clearly address volunteer-specific logic for food opt-out and costs.
Integrate food selection within the booking workflow seamlessly (332) βœ…

Poem

πŸ‡ In a world where food choices sprout,
From veggies to treats, let’s sing and shout!
Select with glee, let flavors collide,
In bookings with joy, let’s take a ride!
Each tasty addition, a hop in our step,
Together we feast, with joy we prep! πŸŽ‰πŸ½οΈ


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.