diff --git a/web/app/[slug]/page.tsx b/web/app/[slug]/page.tsx
index 4fc2070..07e0996 100644
--- a/web/app/[slug]/page.tsx
+++ b/web/app/[slug]/page.tsx
@@ -2,7 +2,7 @@
import DarkModeButton from '@/components/DarkModeButton';
import NavBar from '@/components/NavBar';
-import TalkEntry from '@/components/TalkEntry';
+import TalkPageContent from '@/components/TalkPageContent';
import { getTalks } from '@/components/utils';
export async function generateStaticParams() {
@@ -24,7 +24,7 @@ export default async function Home({ params }: { params: { slug: string } }) {
-
+
);
diff --git a/web/app/page.tsx b/web/app/page.tsx
index 32979b1..936246c 100644
--- a/web/app/page.tsx
+++ b/web/app/page.tsx
@@ -2,7 +2,7 @@
import DarkModeButton from '@/components/DarkModeButton';
import NavBar from '@/components/NavBar';
-import Talks from '@/components/Talks';
+import TalksPageContent from '@/components/TalksPageContent';
import { getTalks } from '@/components/utils';
export default async function Home() {
@@ -20,7 +20,7 @@ export default async function Home() {
-
+
);
diff --git a/web/components/ListEntry.tsx b/web/components/ListEntry.tsx
new file mode 100644
index 0000000..8d109c8
--- /dev/null
+++ b/web/components/ListEntry.tsx
@@ -0,0 +1,31 @@
+// Copyright 2024 Pejman Ghorbanzade
+
+import { format } from 'date-fns';
+import type { Talk } from '@/components/types';
+
+export function ListEntry({
+ talk,
+ className
+}: {
+ talk: Talk;
+ className?: string;
+}) {
+ return (
+
+
+
+ {talk.conference}
+ {talk.location && , {talk.location}}
+
+
{talk.title}
+
+
+
+
+
+ );
+}
diff --git a/web/components/TalkEntry.tsx b/web/components/TalkPageContent.tsx
similarity index 75%
rename from web/components/TalkEntry.tsx
rename to web/components/TalkPageContent.tsx
index 0f5ebd2..d012498 100644
--- a/web/components/TalkEntry.tsx
+++ b/web/components/TalkPageContent.tsx
@@ -1,29 +1,17 @@
// Copyright 2024 Pejman Ghorbanzade
-import { Talk } from '@/components/types';
-import { format } from 'date-fns';
-import Markdown from 'markdown-to-jsx';
import Image from 'next/image';
+import Markdown from 'markdown-to-jsx';
+import { ListEntry } from '@/components/ListEntry';
+import { Talk } from '@/components/types';
-export default function TalkEntry({ talk }: { talk: Talk }) {
+export default function TalkPageContent({ talk }: { talk: Talk }) {
return (
-
-
-
-
- {talk.conference}
- {talk.location && (
- , {talk.location}
- )}
-
-
{talk.title}
-
-
-
-
-
+
+
@@ -39,7 +27,9 @@ export default function TalkEntry({ talk }: { talk: Talk }) {
)}
{talk.abstract && !talk.tags.includes('hide-abstract') && (
-
Abstract
+
+ Abstract
+
{talk.abstract}
@@ -69,7 +59,7 @@ function YouTube({ link }: { link: string }) {
function Links({ talk }: { talk: Talk }) {
return (
-
+
);
}
-
-function ListEntry({ talk }: { talk: Talk }) {
- return (
-
-
-
- {talk.conference}
- {talk.location && , {talk.location}}
-
-
{talk.title}
-
-
-
-
-
- );
-}