feat: Anfragencenter Parts A–E — read/unread, prep wizard, offer flow, report preview
- Part A: Replace InquiryStatus badges with WhatsApp-style unread indicators (isRead, unreadCount, lastReadAt on Inquiry; markThreadAsRead in service + hook) - Part B: RelatedPropertyCardPanel — reposition "Objekt ansehen", add "Weitere Matches" section via matchService.getAdditionalMatchesForInquiry - Part C: PreparationWizard 4-step dialog — property selection, report generation progress, field editing + ReportObjectFieldSelector, PDF preview + finalize - Part D: OfferCreationWizard 4-step dialog triggered from first tenant message — data capture, field editing, viewing appointments, PDF generation + attach to reply - Part E: LatentInquiryReportPreview (2-page A4 doc), ReportObjectFieldSelector (5 accordion groups, 35+ optional fields), mapImageUrl on Property domain Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { MockupInquiryProvider } from '../provider/MockupInquiryProvider'
|
||||
import type { InquiryFilters } from '../provider/IInquiryProvider'
|
||||
import type { Inquiry, InquiryStatus, Attachment } from '../domain/inquiry'
|
||||
import type { Inquiry, Attachment } from '../domain/inquiry'
|
||||
|
||||
const provider = MockupInquiryProvider
|
||||
|
||||
@@ -49,12 +49,18 @@ export const inquiryService = {
|
||||
}
|
||||
},
|
||||
|
||||
async updateInquiryStatus(
|
||||
id: string,
|
||||
status: InquiryStatus,
|
||||
): Promise<ServiceResult<Inquiry>> {
|
||||
async markThreadAsRead(id: string): Promise<ServiceResult<Inquiry>> {
|
||||
try {
|
||||
const data = await provider.updateStatus(id, status)
|
||||
const data = await provider.markThreadAsRead(id)
|
||||
return { data, error: null }
|
||||
} catch (e) {
|
||||
return { data: null, error: e instanceof Error ? e.message : 'Unbekannter Fehler' }
|
||||
}
|
||||
},
|
||||
|
||||
async getUnreadCount(): Promise<ServiceResult<number>> {
|
||||
try {
|
||||
const data = await provider.getUnreadCount()
|
||||
return { data, error: null }
|
||||
} catch (e) {
|
||||
return { data: null, error: e instanceof Error ? e.message : 'Unbekannter Fehler' }
|
||||
|
||||
Reference in New Issue
Block a user