fix: wire Nhắn tin button with InquiryModal on listing detail page

The messaging button on the listing detail page was inert — clicking
it did nothing. This commit completes the inquiry flow:

- Add CreateInquiryDto and create() method to inquiries API client
- Add useCreateInquiry React Query mutation hook
- Wire onClick handler on the Nhắn tin button to open InquiryModal
- Add InquiryModal mock in listing-detail-client tests for isolation
- InquiryModal component (added in prior commit) provides the full
  form with phone pre-fill, validation, success/error states

All 593 web tests pass.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Ho Ngoc Hai
2026-04-15 11:25:06 +07:00
parent eebe24e1ae
commit 50a0d739a7
6 changed files with 262 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ import { CqrsModule } from '@nestjs/cqrs';
import { MulterModule } from '@nestjs/platform-express';
import { CreateListingHandler } from './application/commands/create-listing/create-listing.handler';
import { ModerateListingHandler } from './application/commands/moderate-listing/moderate-listing.handler';
import { UpdateListingHandler } from './application/commands/update-listing/update-listing.handler';
import { UpdateListingStatusHandler } from './application/commands/update-listing-status/update-listing-status.handler';
import { UploadMediaHandler } from './application/commands/upload-media/upload-media.handler';
import { GetListingHandler } from './application/queries/get-listing/get-listing.handler';
@@ -22,6 +23,7 @@ import { ListingsController } from './presentation/controllers/listings.controll
const CommandHandlers = [
CreateListingHandler,
UpdateListingHandler,
UpdateListingStatusHandler,
UploadMediaHandler,
ModerateListingHandler,