-
-
- }/>
- }/>
- }/>
- }/>
- }/>
-
+
+
+
+
+ }/>
+ }/>
+ }/>
+ }/>
+ }/>
+ }/>
+
+
);
diff --git a/src/pages/DreamPage.tsx b/src/pages/DreamPage.tsx
new file mode 100644
index 0000000..ae65c64
--- /dev/null
+++ b/src/pages/DreamPage.tsx
@@ -0,0 +1,104 @@
+// src/pages/DreamPage.tsx
+
+import {type NavigateFunction, useNavigate, useParams} from 'react-router-dom';
+import {mockDreams} from '../data/MockDreams';
+import MockUsers from '../data/MockUsers';
+import User from '../types/User';
+import type Dream from "../types/Dream.ts";
+
+export default function DreamPage() {
+ const {id} = useParams<{ id: string }>();
+ const navigate: NavigateFunction = useNavigate();
+
+ const dream: Dream | undefined = mockDreams.find(d => d.id === Number(id));
+ const user: User | undefined = dream ? MockUsers.find(u => u.id === dream.userId) : undefined;
+
+ if (!dream) {
+ return (
+
+
Traum nicht gefunden.
+
);
+ }
+
+ return (
+ {/* Header */}
+
+
+
+
+ {user && (

)}
+
+
+ {dream.title}
+
+ {user && (
+ {user.name} •{' '}
+ {dream.date.toLocaleDateString('de-DE', {
+ day: '2-digit',
+ month: '2-digit',
+ year: 'numeric',
+ hour: '2-digit',
+ minute: '2-digit',
+ })}
+
)}
+
+
+
+
+
+ {/* Inhalt */}
+
+
+
+ Traum-Beschreibung
+
+
+ {dream.input}
+
+
+
+ {dream.ai?.interpretation && (
+
+ KI-Interpretation
+
+
+ {dream.ai.interpretation}
+
+
)}
+
+
+
Details
+
+
+ Eingabetyp
+ {dream.inputType}
+
+
+ Datum
+
+ {dream.date.toLocaleDateString('de-DE', {
+ day: '2-digit', month: '2-digit', year: 'numeric',
+ })}
+
+
+
+
+
+
);
+}
diff --git a/src/pages/Feed.tsx b/src/pages/Feed.tsx
index 115dd29..9ff0171 100644
--- a/src/pages/Feed.tsx
+++ b/src/pages/Feed.tsx
@@ -3,6 +3,7 @@ import {mockDreams} from '../data/MockDreams';
import Dream from '../types/Dream';
import type User from "../types/User.ts";
import {MockUserMap} from "../data/MockUsers.ts";
+import {NavLink} from "react-router-dom";
export default function Feed() {
const sortedDreams = [...mockDreams].sort((a, b) => b.date.getTime() - a.date.getTime());
@@ -13,27 +14,29 @@ export default function Feed() {
{sortedDreams.map((dream: Dream) => {
const user: User | undefined = MockUserMap.get(dream.userId);
return (
-
- 
-
{user?.name} hat geträumt:
-
-
- {dream.title}
-
- {dream.input}
-
- {dream.date.toLocaleDateString('de-DE', {
- day: '2-digit',
- month: '2-digit',
- year: 'numeric',
- hour: '2-digit',
- minute: '2-digit',
- })}
-
-
+
+
+ 
+
{user?.name} hat geträumt:
+
+
+ {dream.title}
+
+ {dream.input}
+
+ {dream.date.toLocaleDateString('de-DE', {
+ day: '2-digit',
+ month: '2-digit',
+ year: 'numeric',
+ hour: '2-digit',
+ minute: '2-digit',
+ })}
+
+
+
)
})}