diff --git a/src/components/dreamarchive/DreamyCard.tsx b/src/components/dreamarchive/DreamyCard.tsx index 8ce176f..f798498 100644 --- a/src/components/dreamarchive/DreamyCard.tsx +++ b/src/components/dreamarchive/DreamyCard.tsx @@ -1,4 +1,5 @@ -import React, {ReactNode} from 'react'; +import type {ReactNode} from 'react'; +import React from 'react'; import {getBackgroundStyle} from '../../styles/StyleUtils'; interface DreamyCardProps { @@ -24,4 +25,4 @@ export const DreamyCard: React.FC = ({ ); }; -export default DreamyCard; \ No newline at end of file +export default DreamyCard; diff --git a/src/components/dreamarchive/HeroSection.tsx b/src/components/dreamarchive/HeroSection.tsx index f62d651..797b748 100644 --- a/src/components/dreamarchive/HeroSection.tsx +++ b/src/components/dreamarchive/HeroSection.tsx @@ -1,19 +1,15 @@ import React from 'react'; interface HeroSectionProps { - title: string; - subtitle: string; + title?: string; + subtitle?: string; containerTitle: string; description: string; } -export const HeroSection: React.FC = ({title, subtitle, containerTitle, description}) => { +export const HeroSection: React.FC = ({containerTitle, description}) => { return (
-
-

{title}

-

{subtitle}

-
diff --git a/src/components/dreamarchive/IconWithBackground.tsx b/src/components/dreamarchive/IconWithBackground.tsx index 14f36db..abde4aa 100644 --- a/src/components/dreamarchive/IconWithBackground.tsx +++ b/src/components/dreamarchive/IconWithBackground.tsx @@ -1,4 +1,5 @@ -import React, {ReactElement} from 'react'; +import type {ReactElement} from 'react'; +import React from 'react'; interface IconWithBackgroundProps { icon: ReactElement; @@ -18,7 +19,7 @@ export const IconWithBackground: React.FC = ({ {React.cloneElement(icon, { className: `text-${color}-600 dark:text-${color}-400`, size: size - })} + } as React.SVGProps)}
); }; diff --git a/src/components/dreamarchive/NavigationLinks.tsx b/src/components/dreamarchive/NavigationLinks.tsx deleted file mode 100644 index 5b6edbe..0000000 --- a/src/components/dreamarchive/NavigationLinks.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; -import {NavLink} from 'react-router-dom'; - -interface NavigationLinksProps { - previousLink?: { - to: string; - text: string; - }; - nextLink?: { - to: string; - text: string; - }; -} - -export const NavigationLinks: React.FC = ({previousLink, nextLink}) => { - return ( -
- {previousLink && ( - - {previousLink.text} - - )} - {nextLink && ( - - {nextLink.text} - - )} -
- ); -}; - -export default NavigationLinks; \ No newline at end of file diff --git a/src/components/dreamarchive/ResearcherInterviewCard.tsx b/src/components/dreamarchive/ResearcherInterviewCard.tsx index f291843..9d25366 100644 --- a/src/components/dreamarchive/ResearcherInterviewCard.tsx +++ b/src/components/dreamarchive/ResearcherInterviewCard.tsx @@ -11,7 +11,7 @@ interface ResearcherInterviewCardProps { institution: string; specialty: string; topics: string[]; - color: string; + color: 'purple' | 'blue' | 'violet' | 'emerald' | 'amber' | 'rose' | 'pink-red' | 'cta'; videoId: string; }; } @@ -45,4 +45,4 @@ export const ResearcherInterviewCard: React.FC = ( ); }; -export default ResearcherInterviewCard; \ No newline at end of file +export default ResearcherInterviewCard; diff --git a/src/components/dreamarchive/StudyCard.tsx b/src/components/dreamarchive/StudyCard.tsx index ff6ecbc..a9f494f 100644 --- a/src/components/dreamarchive/StudyCard.tsx +++ b/src/components/dreamarchive/StudyCard.tsx @@ -16,7 +16,7 @@ interface StudyCardProps { }; endDate: string; description: string; - color: string; + color: 'purple' | 'blue' | 'violet' | 'emerald' | 'amber' | 'rose' | 'pink-red' | 'cta'; }; } @@ -68,4 +68,4 @@ export const StudyCard: React.FC = ({study}) => { ); }; -export default StudyCard; \ No newline at end of file +export default StudyCard; diff --git a/src/data/MockResearchLive.ts b/src/data/MockResearchLive.ts index 744564c..1b302a6 100644 --- a/src/data/MockResearchLive.ts +++ b/src/data/MockResearchLive.ts @@ -4,8 +4,38 @@ * researcher interviews, and upcoming events */ +// Define color type to match component requirements +type ColorType = 'purple' | 'blue' | 'violet' | 'emerald' | 'amber' | 'rose' | 'pink-red' | 'cta'; + +// Define study type +interface Study { + id: number; + title: string; + institution: string; + status: string; + statusColor: string; + participants: { + current: number; + target: number; + }; + endDate: string; + description: string; + color: ColorType; +} + +// Define researcher interview type +interface ResearcherInterview { + id: number; + name: string; + institution: string; + specialty: string; + topics: string[]; + color: ColorType; + videoId: string; +} + // Current Studies data -export const currentStudies = [ +export const currentStudies: Study[] = [ { id: 1, title: "Traumkontinuität während der Pandemie", @@ -87,7 +117,7 @@ export const citizenScienceProjects = [ ]; // Researcher Interviews data -export const researcherInterviews = [ +export const researcherInterviews: ResearcherInterview[] = [ { id: 1, name: "Dr. Sarah Merton", @@ -186,9 +216,18 @@ export const upcomingEvents = [ } ]; +// Define the type for the exported object +interface MockResearchLiveData { + currentStudies: Study[]; + citizenScienceProjects: any[]; // Using any for now as we haven't defined a specific type + researcherInterviews: ResearcherInterview[]; + upcomingEvents: any[]; // Using any for now as we haven't defined a specific type +} + +// Export with type information export default { currentStudies, citizenScienceProjects, researcherInterviews, upcomingEvents -}; \ No newline at end of file +} as MockResearchLiveData; diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 5a1e720..a27a3d3 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -25,8 +25,7 @@ export default function Home() { ).slice(0, 5); return ( -
+
{/* Welcome Card */}
diff --git a/src/pages/dreamarchive/CulturalLandscapes.tsx b/src/pages/dreamarchive/CulturalLandscapes.tsx index 66c5a0e..b390db8 100644 --- a/src/pages/dreamarchive/CulturalLandscapes.tsx +++ b/src/pages/dreamarchive/CulturalLandscapes.tsx @@ -1,6 +1,5 @@ import {getBackgroundStyle, getTextStyle} from '../../styles/StyleUtils'; import {FaGlobeAfrica, FaGlobeAsia, FaGlobeEurope, FaHandshake} from 'react-icons/fa'; -import {NavLink} from 'react-router-dom'; export default function CulturalLandscapes() { return (
@@ -288,19 +287,5 @@ export default function CulturalLandscapes() {

- - {/* Navigation Links */} -
- - Zurück zu Weltweiten Ereignissen - - - Weiter zu Lebensbedingungen & Traumqualität - -
); } diff --git a/src/pages/dreamarchive/DreamArchiveIndex.tsx b/src/pages/dreamarchive/DreamArchiveIndex.tsx index 6bf001c..aec00a2 100644 --- a/src/pages/dreamarchive/DreamArchiveIndex.tsx +++ b/src/pages/dreamarchive/DreamArchiveIndex.tsx @@ -7,10 +7,6 @@ export default function DreamArchiveIndex() {
{/* Hero Section */}
-
-

Dream Archive

-

Globale Traumforschung und Datenvisualisierung

-
diff --git a/src/pages/dreamarchive/LivingConditions.tsx b/src/pages/dreamarchive/LivingConditions.tsx index 7be084f..a0cea12 100644 --- a/src/pages/dreamarchive/LivingConditions.tsx +++ b/src/pages/dreamarchive/LivingConditions.tsx @@ -1,41 +1,26 @@ -import {getBackgroundStyle} from '../../styles/StyleUtils'; import {FaCity, FaGraduationCap, FaLightbulb, FaMoneyBillWave, FaSmog, FaVolumeUp} from 'react-icons/fa'; -import {NavLink} from 'react-router-dom'; +import HeroSection from '../../components/dreamarchive/HeroSection'; +import SectionHeader from '../../components/dreamarchive/SectionHeader'; +import DreamyCard from '../../components/dreamarchive/DreamyCard'; +import IconWithBackground from '../../components/dreamarchive/IconWithBackground'; export default function LivingConditions() { return (
{/* Hero Section */} -
-
-

Lebensbedingungen & - Traumqualität

-

Der Einfluss von Umgebung und Lebensumständen auf - unsere Träume

-
-
-
-

Wie unsere Umgebung unsere Träume formt

-
-

- Entdecke, wie sozioökonomische Faktoren und Umweltbedingungen die Qualität, Intensität und - Inhalte unserer Träume beeinflussen. -

-
-
+ {/* Socioeconomic Factors */}
-

Sozioökonomische Faktoren

+
{/* Urban vs Rural */} -
+
-
- -
+ } color="blue"/>

Urbane vs. Rurale Träume

@@ -56,14 +41,12 @@ export default function LivingConditions() { Menschen in ländlichen Gebieten. Ihre Träume enthalten auch mehr technologische Elemente und soziale Interaktionen mit Fremden.

-
+ {/* Income Level */} -
+
-
- -
+ } color="emerald"/>

Einkommensniveau

@@ -85,14 +68,12 @@ export default function LivingConditions() { Personen mit niedrigerem Einkommen. Finanzielle Sicherheit korreliert mit positiveren Traumthemen und besserer Schlafqualität.

-
+ {/* Education Level */} -
+
-
- -
+ } color="amber"/>

Bildungsgrad

@@ -131,21 +112,19 @@ export default function LivingConditions() { Handlungssträngen. Bildung korreliert mit der Fähigkeit, Träume detaillierter zu erinnern und zu beschreiben.

-
+
{/* Environmental Factors */}
-

Umweltfaktoren

+
{/* Air Quality */} -
+
-
- -
+ } color="rose"/>

Luftqualität

@@ -166,14 +145,12 @@ export default function LivingConditions() { Studien zeigen, dass Luftverschmutzung die REM-Schlafphasen verkürzt und zu fragmentierteren Träumen führt.

-
+ {/* Noise Level */} -
+
-
- -
+ } color="purple"/>

Lärmpegel

@@ -203,14 +180,12 @@ export default function LivingConditions() { Städtische Lärmbelastung fragmentiert Träume durch kürzere REM-Phasen. Selbst wenn der Lärm nicht zum Aufwachen führt, beeinflusst er die Traumkontinuität und -qualität negativ.

-
+ {/* Light Pollution */} -
+
-
- -
+ } color="violet"/>

Lichtverschmutzung

@@ -253,15 +228,15 @@ export default function LivingConditions() { Menschen in Gebieten mit geringer Lichtverschmutzung berichten von lebhafteren und intensiveren Träumen.

-
+
{/* Combined Impact */}
-

Kombinierte Auswirkungen

+ -
+

Optimale vs. Suboptimale Bedingungen

@@ -321,15 +296,15 @@ export default function LivingConditions() { Effekt auf die Traumqualität. Die Verbesserung einzelner Faktoren kann bereits zu einer signifikanten Verbesserung der Traumqualität führen.

-
+
{/* Practical Tips */}
-

Praktische Tipps für bessere Träume

+
-
+

Umweltfaktoren optimieren

  • Verwende Verdunkelungsvorhänge, um Lichtverschmutzung zu reduzieren
  • @@ -338,9 +313,9 @@ export default function LivingConditions() {
  • Halte die Schlafzimmertemperatur zwischen 16-18°C
  • Vermeide blaues Licht von Bildschirmen mindestens eine Stunde vor dem Schlafengehen
-
+ -
+

Lebensstil-Anpassungen

  • Etabliere eine regelmäßige Schlafenszeit und Aufwachzeit
  • @@ -349,18 +324,8 @@ export default function LivingConditions() {
  • Reduziere Stress durch regelmäßige Bewegung und Meditation
  • Vermeide schwere Mahlzeiten, Alkohol und Koffein vor dem Schlafengehen
-
+
- - {/* Navigation Links */} -
- - Zurück zu Kulturellen Traumlandschaften - - - Weiter zu Technologie & Traumforschung - -
); -} \ No newline at end of file +} diff --git a/src/pages/dreamarchive/ResearchLive.tsx b/src/pages/dreamarchive/ResearchLive.tsx index 5ceef96..a54b2d3 100644 --- a/src/pages/dreamarchive/ResearchLive.tsx +++ b/src/pages/dreamarchive/ResearchLive.tsx @@ -11,16 +11,12 @@ export default function ResearchLive() { return (
{/* Hero Section */} {/* Current Studies */}
- -
{mockResearchLive.currentStudies.slice(0, 2).map((study) => ( ))} @@ -34,8 +30,6 @@ export default function ResearchLive() { {/* Citizen Science */}
- -
); -} \ No newline at end of file +} diff --git a/src/pages/dreamarchive/Technology.tsx b/src/pages/dreamarchive/Technology.tsx index b9485d6..525fdbc 100644 --- a/src/pages/dreamarchive/Technology.tsx +++ b/src/pages/dreamarchive/Technology.tsx @@ -1,41 +1,27 @@ -import {getBackgroundStyle, getTextStyle} from '../../styles/StyleUtils'; +import {getTextStyle} from '../../styles/StyleUtils'; import {FaBrain, FaChartBar, FaChartPie, FaLaptopCode, FaMicrochip, FaRobot, FaVrCardboard} from 'react-icons/fa'; -import {NavLink} from 'react-router-dom'; +import HeroSection from '../../components/dreamarchive/HeroSection'; +import SectionHeader from '../../components/dreamarchive/SectionHeader'; +import DreamyCard from '../../components/dreamarchive/DreamyCard'; +import IconWithBackground from '../../components/dreamarchive/IconWithBackground'; export default function Technology() { return (
{/* Hero Section */} -
-
-

Technologie & - Traumforschung

-

Neueste Entwicklungen in der - Traumforschungstechnologie

-
-
-
-

Die Zukunft der Traumforschung

-
-

- Entdecke bahnbrechende Technologien, die uns helfen, Träume besser zu verstehen, zu analysieren - und sogar zu steuern. -

-
-
+ {/* Latest Developments */}
-

Neueste Entwicklungen

+
{/* EEG-based Dream Detection */} -
+
-
- -
+ } color="blue"/>

EEG-basierte Traumdetektion

@@ -56,14 +42,12 @@ export default function Technology() { welcher Traumphase sie sich befindet. Dies ermöglicht gezielte Traumforschung und -intervention.

-
+ {/* DreamNet Framework */} -
+
-
- -
+ } color="purple"/>

DreamNet-Framework

@@ -85,14 +69,12 @@ export default function Technology() { Körpertemperatur für eine präzise Traumanalyse. KI-Algorithmen interpretieren diese Daten und erstellen detaillierte Traumprofile.

-
+ {/* Lucid Dreaming Control */} -
+
-
- -
+ } color="emerald"/>

Lucid Dreaming Control

@@ -118,19 +100,17 @@ export default function Technology() { Augenbewegungen und Muskelsignale mit der Außenwelt zu kommunizieren und sogar virtuelle Objekte zu steuern.

-
+
{/* Dream Type Classification */}
-

Traumtypen-Klassifikation

+ -
+
-
- -
+ } color="rose" className="mr-3"/>

Globale Verteilung der Traumtypen

@@ -272,20 +252,18 @@ export default function Technology() { Strukturen klassifizieren. Diese Klassifikation hilft Forschern, Muster in großen Traumdatensätzen zu erkennen und kulturübergreifende Vergleiche anzustellen.

-
+
{/* Future Technologies */}
-

Zukunftstechnologien

+
{/* Dream Recording */} -
+
-
- -
+ } color="violet" className="mr-4"/>

Traumaufzeichnung

@@ -302,14 +280,12 @@ export default function Technology() { und abzuspielen. Erste Prototypen können bereits einfache visuelle Elemente aus der Hirnaktivität während des Träumens rekonstruieren.

-
+ {/* Dream Sharing */} -
+
-
- -
+ } color="amber" className="mr-4"/>

Traumaustausch

@@ -326,15 +302,15 @@ export default function Technology() { Traumwelten zu schaffen. Diese Technologie könnte revolutionäre Anwendungen in Therapie, Kreativität und zwischenmenschlicher Kommunikation haben.

-
+
{/* Ethical Considerations */}
-

Ethische Überlegungen

+ -
+

Wichtige ethische Fragen

@@ -376,21 +352,7 @@ export default function Technology() { sorgfältig betrachten. Forscher und Ethiker arbeiten gemeinsam an Richtlinien für verantwortungsvolle Traumforschung und -technologie.

-
-
- - {/* Navigation Links */} -
- - Zurück zu Lebensbedingungen & Traumqualität - - - Weiter zu Deinen Träumen im Kontext - +
); } diff --git a/src/pages/dreamarchive/UserDreams.tsx b/src/pages/dreamarchive/UserDreams.tsx index 856ec92..d2f6b55 100644 --- a/src/pages/dreamarchive/UserDreams.tsx +++ b/src/pages/dreamarchive/UserDreams.tsx @@ -1,6 +1,5 @@ import {getBackgroundStyle, getTextStyle} from '../../styles/StyleUtils'; import {FaChartLine, FaRegCommentDots, FaRegLightbulb, FaUser} from 'react-icons/fa'; -import {NavLink} from 'react-router-dom'; import {MockUserMap} from '../../data/MockUsers'; import mockUserDreams from '../../data/MockUserDreams'; @@ -350,15 +349,5 @@ export default function UserDreams() {
- - {/* Navigation Links */} -
- - Zurück zu Technologie & Traumforschung - - - Weiter zu Traumforschung Live - -
); } diff --git a/src/pages/dreamarchive/WorldwideEvents.tsx b/src/pages/dreamarchive/WorldwideEvents.tsx index 5610aba..ddcdc09 100644 --- a/src/pages/dreamarchive/WorldwideEvents.tsx +++ b/src/pages/dreamarchive/WorldwideEvents.tsx @@ -1,34 +1,20 @@ import {getBackgroundStyle, getTextStyle} from '../../styles/StyleUtils'; import {FaFire, FaFlag, FaVirus} from 'react-icons/fa'; -import {NavLink} from 'react-router-dom'; import mockWorldwideEvents from '../../data/MockWorldwideEvents'; +import HeroSection from '../../components/dreamarchive/HeroSection'; +import SectionHeader from '../../components/dreamarchive/SectionHeader'; export default function WorldwideEvents() { return (
{/* Hero Section */} -
-
-

Weltweite Ereignisse & - Traumreaktionen

-

Korrelation zwischen globalen Ereignissen und - Traummustern

-
-
-
-

Signifikante Ereignisse 2020-2025

-
-

- Entdecke, wie weltweite Ereignisse wie die COVID-19 Pandemie, Klimawandel-Ereignisse und - geopolitische Spannungen die Traumlandschaft beeinflusst haben. -

-
-
+ {/* Interactive Timeline (Mock) */}
-

Zeitlinie der Ereignisse

+
@@ -80,7 +66,7 @@ export default function WorldwideEvents() { {/* Detailed Event Sections */}
-

Detaillierte Ereignisanalyse

+ {mockWorldwideEvents.detailedEvents.map((event, index) => { // Dynamically determine which icon component to use @@ -103,7 +89,7 @@ export default function WorldwideEvents() { return (
+ style={getBackgroundStyle(event.color as 'purple' | 'blue' | 'violet' | 'emerald' | 'amber' | 'rose' | 'pink-red' | 'cta')}>
- - {/* Navigation Links */} -
- - Zurück zur Übersicht - - - Weiter zu Kulturellen Traumlandschaften - -
); } diff --git a/src/types/Dream.ts b/src/types/Dream.ts index 97ff5a5..2d1d8e8 100644 --- a/src/types/Dream.ts +++ b/src/types/Dream.ts @@ -16,12 +16,17 @@ export type AudioInput = { transcript: string; } +export type ChipInput = { + inputType: "chip"; + chip: string; +} + export default class Dream{ id: number; userId: number; title: string; date: Date; - input: TextInput | ImageInput | AudioInput; + input: TextInput | ImageInput | AudioInput | ChipInput; ai?:{ interpretation: string; image?: string;