Tweet permalink viewing.

This commit is contained in:
Bradley Shellnut 2022-04-06 16:35:59 -07:00
parent 5e44e9516e
commit 63b6fc2ed8
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,15 @@
<script lang="ts">
import Tweet from '$root/components/tweet.svelte'
import type { TweetType } from '$root/types'
export let tweet: TweetType
const name = tweet.name
const content = tweet.content.slice(0, 60)
</script>
<svelte:head>
<title>{name} on Twittr: "{content}..."</title>
</svelte:head>
<Tweet {tweet} />

View file

@ -0,0 +1,36 @@
import { timePosted } from "$root/lib/date";
import prisma from "$root/lib/prisma";
import type { RequestHandler } from "@sveltejs/kit";
export const get: RequestHandler = async ({ params }) => {
const tweet = await prisma.tweet.findFirst({
where: { url: params.tweetId },
include: { user: true }
})
const liked = await prisma.liked.findMany({
where: { userId: 1 },
select: { tweetId: true }
})
const likedTweets = Object.keys(liked).map(
key => liked[key].tweetId
)
const userTweet = {
id: tweet.id,
content: tweet.content,
likes: tweet.likes,
posted: timePosted(tweet.posted),
url: tweet.url,
avatar: tweet.user.avatar,
handle: tweet.user.handle,
name: tweet.user.name,
liked: likedTweets.includes(tweet.id)
}
return {
status: 200,
body: { tweet: userTweet }
}
}