diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 6687007..c3c2093 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -16,7 +16,8 @@ "@tiptap/extension-placeholder": "^3.20.4", "@tiptap/pm": "^3.20.4", "@tiptap/starter-kit": "^3.20.4", - "spacetimedb": "^2.0.4" + "spacetimedb": "^2.0.4", + "wavesurfer.js": "^7.12.4" }, "devDependencies": { "@sveltejs/adapter-node": "^5.5.4", @@ -3388,6 +3389,12 @@ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", "license": "MIT" }, + "node_modules/wavesurfer.js": { + "version": "7.12.4", + "resolved": "https://registry.npmjs.org/wavesurfer.js/-/wavesurfer.js-7.12.4.tgz", + "integrity": "sha512-b/+XnWfJejNdvNUmtm4M5QzQepHhUbTo+62wYybwdV1B/Sn9vHhgb1xckRm0rGY2ZefJwLkE7lYcKnLfIia4cQ==", + "license": "BSD-3-Clause" + }, "node_modules/zimmerframe": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", diff --git a/frontend/package.json b/frontend/package.json index 4d564c3..b28926f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,6 +31,7 @@ "@tiptap/extension-placeholder": "^3.20.4", "@tiptap/pm": "^3.20.4", "@tiptap/starter-kit": "^3.20.4", - "spacetimedb": "^2.0.4" + "spacetimedb": "^2.0.4", + "wavesurfer.js": "^7.12.4" } } diff --git a/frontend/src/lib/components/AudioPlayer.svelte b/frontend/src/lib/components/AudioPlayer.svelte new file mode 100644 index 0000000..10ea107 --- /dev/null +++ b/frontend/src/lib/components/AudioPlayer.svelte @@ -0,0 +1,146 @@ + + +
Kunne ikke laste lydfilen
+ {/if} + + + {#if transcript} + + {#if showTranscript} +{transcript}
+ {/if} + {/if} +{excerpt(node.content)}
diff --git a/frontend/src/routes/chat/[id]/+page.svelte b/frontend/src/routes/chat/[id]/+page.svelte index d2ce801..964e286 100644 --- a/frontend/src/routes/chat/[id]/+page.svelte +++ b/frontend/src/routes/chat/[id]/+page.svelte @@ -2,8 +2,9 @@ import { page } from '$app/stores'; import { connectionState, nodeStore, edgeStore, nodeVisibility } from '$lib/spacetime'; import type { Node } from '$lib/spacetime'; - import { createNode } from '$lib/api'; + import { createNode, casUrl } from '$lib/api'; import ChatInput from '$lib/components/ChatInput.svelte'; + import AudioPlayer from '$lib/components/AudioPlayer.svelte'; import { tick } from 'svelte'; const session = $derived($page.data.session as Record+
{senderName(msg)}
{/if} -- {msg.content || ''} -
-+ {#if audio} +
+ {msg.content || ''} +
+ {/if} +{formatTime(msg)}