mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-10-02 14:23:13 +00:00
* docs(work-orders): add pending BE contract checklist for design parity gaps * feat(work-orders): add mentions in work-order comments composer * docs(work-orders): align pr description with jira and qa residuals * refactor(workorders): split work order view page into view components * fix(work-orders): export comment assignment vendor input types for view hook * fix(work-orders): drop preferredContact from vendor update payload Align with WorkOrderVendorUpdatePayload on current dev so the mentions branch typechecks. * fix(work-orders): remove Preferred Contact from WO vendor editor (SH-180) EOF * fix(work-orders): harden comment mentions and clear draft on success * fix(work-orders): harden mention highlight boundary and submit catch [SH-217] * fix(work-orders): keep mention cursor sync on current value [SH-217] * fix(work-orders): keep mention menu open after typing @ Pass live text into syncCursor instead of a render-time valueRef. Add a composer interaction regression for @ autocomplete visibility. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
24 lines
714 B
TypeScript
24 lines
714 B
TypeScript
import type { CommentTimelineItem } from "./comment-timeline";
|
|
|
|
type CommentSource = {
|
|
id: string | number;
|
|
userName?: string;
|
|
commenter?: string | null;
|
|
createdDate?: string;
|
|
commenttext: string;
|
|
mentions?: string[];
|
|
};
|
|
|
|
export function mapWorkOrderCommentsToTimeline(comments: CommentSource[]): CommentTimelineItem[] {
|
|
return comments.map((comment) => ({
|
|
id: comment.id,
|
|
author: comment.userName || comment.commenter || "System",
|
|
createdAt: comment.createdDate,
|
|
body: comment.commenttext,
|
|
mentions: comment.mentions,
|
|
}));
|
|
}
|
|
|
|
export function mapDispatchCommentsToTimeline(comments: CommentSource[]): CommentTimelineItem[] {
|
|
return mapWorkOrderCommentsToTimeline(comments);
|
|
}
|