diff --git a/src/components/tweet.svelte b/src/components/tweet.svelte new file mode 100644 index 0000000..f9aaa0d --- /dev/null +++ b/src/components/tweet.svelte @@ -0,0 +1,219 @@ + + +
+ + {tweet.name} + + +
+
+ + {tweet.name} + + {tweet.handle} + · {tweet.posted} +
+ +
+
+ {tweet.content} +
+ +
+
+ + +
+ + + +
+ + +
+
+
+
+
+ + diff --git a/src/lib/date.ts b/src/lib/date.ts new file mode 100644 index 0000000..7777ffa --- /dev/null +++ b/src/lib/date.ts @@ -0,0 +1,24 @@ +export function timePosted(createdAt: Date): string { + try { + const posted = new Date(createdAt).getTime() + const currentTime = new Date().getTime() + const difference = currentTime - posted + const seconds = difference / 1000 + const minutes = seconds / 60 + const hours = minutes / 60 + + if (minutes <= 60) { + return `${minutes.toFixed()}m` + } + + if (hours <= 24) { + return `${hours.toFixed()}h` + } + + return Intl.DateTimeFormat('en-US', { + dateStyle: 'medium' + }).format(posted) + } catch (error) { + throw new Error(`💩 Something went wrong: ${error}`) + } +} diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts new file mode 100644 index 0000000..df6e6db --- /dev/null +++ b/src/lib/prisma.ts @@ -0,0 +1,5 @@ +import { PrismaClient } from "@prisma/client"; + +const prisma = new PrismaClient() + +export default prisma diff --git a/src/routes/api/index.svelte b/src/routes/api/index.svelte new file mode 100644 index 0000000..311e9e9 --- /dev/null +++ b/src/routes/api/index.svelte @@ -0,0 +1,10 @@ + + +

{item}

+ +
+ + +
\ No newline at end of file diff --git a/src/routes/api/index.ts b/src/routes/api/index.ts new file mode 100644 index 0000000..4c51537 --- /dev/null +++ b/src/routes/api/index.ts @@ -0,0 +1,27 @@ +let item = 'banana' + +export function get() { + return { + status: 200, + headers: { + 'Content-Type': 'application/json' + }, + body: { + item + } + } +} + +export async function post({ request }) { + const form = await request.formData() + const newItem = form.get('item') + + item = newItem; + + return { + status: 303, + headers: { + location: '/api' + } + } +} \ No newline at end of file diff --git a/src/routes/home/index.svelte b/src/routes/home/index.svelte index 1f4c9bf..b9ed7c1 100644 --- a/src/routes/home/index.svelte +++ b/src/routes/home/index.svelte @@ -1,9 +1,20 @@ + + - Home + Home

Feed

+{#each tweets as tweet (tweet.id)} + +{/each} +