From 9e4757703c51a4f637e7218bbdff2fbf4cf0a2e0 Mon Sep 17 00:00:00 2001 From: Roman Godmaire Date: Sat, 25 Nov 2023 16:16:15 -0500 Subject: [PATCH] feat: show comments on track page --- src/lib/server/db/index.ts | 9 +++++++++ src/lib/server/db/prisma.ts | 18 ++++++++++++++++++ src/routes/track/[slug]/+page.svelte | 25 +++++++++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/src/lib/server/db/index.ts b/src/lib/server/db/index.ts index 5184bf6..3eb10c4 100644 --- a/src/lib/server/db/index.ts +++ b/src/lib/server/db/index.ts @@ -22,6 +22,15 @@ export interface Database { producer: { username: string; }; + versions: { + comments: { + createdAt: Date; + content: string; + author: { + username: string; + }; + }[]; + }[]; } | null>; createTrack: (producerId: string, title: string, objectKey: string) => Promise; createTrackVersion: (trackId: number) => Promise; diff --git a/src/lib/server/db/prisma.ts b/src/lib/server/db/prisma.ts index 3d15111..f24d4a4 100644 --- a/src/lib/server/db/prisma.ts +++ b/src/lib/server/db/prisma.ts @@ -75,6 +75,24 @@ export class DatabasePrisma implements Database { select: { username: true } + }, + versions: { + orderBy: { + id: 'desc' + }, + select: { + comments: { + select: { + content: true, + createdAt: true, + author: { + select: { + username: true + } + } + } + } + } } }, where: { diff --git a/src/routes/track/[slug]/+page.svelte b/src/routes/track/[slug]/+page.svelte index 21e3a51..6a7096c 100644 --- a/src/routes/track/[slug]/+page.svelte +++ b/src/routes/track/[slug]/+page.svelte @@ -1,4 +1,5 @@ @@ -11,3 +12,27 @@

{track.title}

by {track.producer.username}

+ +
+

Comments

+ + {#each track.versions as version, versionIndex} + +
+ Version {versionIndex + 1} + + {#each version.comments as comment, commentIndex} + + + + {#if commentIndex + 1 !== version.comments.length} +
+ {/if} + {/each} +
+ {/each} +