Files
thrillwiki_laravel/memory-bank/prompts/ReviewComponentsImplementation.md
2025-02-25 21:59:44 -05:00

3.1 KiB

Review Components Implementation

Task Overview

Implement the Livewire components for the ride review system, following the Laravel/Livewire implementation guidelines and maintaining feature parity with the Django implementation.

Components to Implement

1. RideReviewComponent

Create a new Livewire component for submitting ride reviews:

php artisan make:livewire RideReviewComponent

Requirements:

  • Form for submitting new reviews
  • Rating input (1-5 stars)
  • Optional title field
  • Required content field
  • Real-time validation
  • Success/error messaging
  • Anti-spam measures
  • Check if user can review (one per ride)

2. RideReviewListComponent

Create a component to display ride reviews:

php artisan make:livewire RideReviewListComponent

Requirements:

  • Grid/list view of reviews
  • Pagination support
  • Sorting options (date, rating)
  • Filter by rating
  • Helpful vote functionality
  • Display review statistics
  • Responsive design matching Django

3. ReviewModerationComponent

Create a moderation interface component:

php artisan make:livewire ReviewModerationComponent

Requirements:

  • Review queue display
  • Approve/reject actions
  • Edit capabilities
  • Status tracking
  • Moderation history
  • Permission checks

Implementation Guidelines

  1. Use Livewire's Real-time Validation

    • Validate rating range (1-5)
    • Required fields
    • Content length limits
    • Anti-spam rules
  2. State Management

    • Track form state
    • Handle validation errors
    • Manage success/error messages
    • Maintain sort/filter state
  3. Event Handling

    • Review submission events
    • Helpful vote toggling
    • Moderation actions
    • Pagination events
  4. View Templates

    • Create Blade views for each component
    • Follow project's design system
    • Maintain responsive design
    • Support dark mode
  5. Authorization

    • Use Laravel's authorization system
    • Check review permissions
    • Verify moderation access
    • Rate limiting implementation

Testing Requirements

  1. Feature Tests

    • Review submission
    • Validation rules
    • Helpful votes
    • Moderation flow
  2. Component Tests

    • Real-time validation
    • State management
    • Event handling
    • Authorization
  3. View Tests

    • Rendering logic
    • Responsive design
    • Dark mode support

Documentation Updates

  1. Update Memory Bank

    • Document component implementations
    • Track progress
    • Note any deviations
    • Update technical decisions
  2. Update Component Docs

    • Usage examples
    • Props/events
    • State management
    • Authorization rules

Next Steps

  1. Create RideReviewComponent

    • Implement form layout
    • Add validation rules
    • Handle submission
    • Add success/error states
  2. Build RideReviewListComponent

    • Create list/grid views
    • Add sorting/filtering
    • Implement pagination
    • Add helpful votes
  3. Develop ReviewModerationComponent

    • Build moderation queue
    • Add approval workflow
    • Implement edit features
    • Track moderation history
  4. Integration

    • Add to ride detail page
    • Connect moderation panel
    • Test all interactions
    • Verify feature parity