diff --git a/packages/client/src/routes/+page.svelte b/packages/client/src/routes/+page.svelte index 585b194..43ca8ee 100644 --- a/packages/client/src/routes/+page.svelte +++ b/packages/client/src/routes/+page.svelte @@ -9,7 +9,13 @@ UnplugIcon, UserIcon, } from '@lucide/svelte'; - import { ConnectionState, type Message, MessageType, type ReceiveHl7v2Message } from '@hnu.de/hl7v2-shared'; + import { + ConnectionState, + type DeliverySuccessMessage, + type Message, + MessageType, + type ReceiveHl7v2Message, + } from '@hnu.de/hl7v2-shared'; import { Button } from '$lib/components/ui/button'; import { Card, CardContent, CardHeader } from '$lib/components/ui/card'; import { Input } from '$lib/components/ui/input'; @@ -25,7 +31,7 @@ // client state let composedMessage = $state(''); // content of text-box - let sentMessages = $state([]); // sent messages stored as type ReceiveHl7v2Message because of the timestamp + let sentMessages = $state([]); let receivedMessages = $state([]); let isSending = $state(false); let copySuccess = $state(false); @@ -96,6 +102,12 @@ receivedMessages = [message, ...receivedMessages]; break; + // our message was successfully delivered + case MessageType.delivery_success: + sentMessages = [message, ...sentMessages]; + isSending = false + break; + // message from server due to delivery error case MessageType.delivery_error: deliveryError = message.payload.error; @@ -154,15 +166,6 @@ payload: { message }, } as Message; ws.send(JSON.stringify(messageToSend)); - - sentMessages = [{ - type: MessageType.receive_hl7v2, - payload: { message, timestamp: new Date().toISOString() }, - } as ReceiveHl7v2Message, ...sentMessages]; - composedMessage = segmentTemplates.MSH.template(); - - // reset UI state - isSending = false; } // copies the stationId to the clipboard and handles UI state