updated ResearchLive mock data to include optedIn status and adjusted UI to display participation state for enhanced user interaction feedback

Signed-off-by: Matthias Puchstein <matthias@puchstein.bayern>
This commit is contained in:
2025-07-16 19:46:51 +02:00
parent 26dd1c45a3
commit 8df4c91907
2 changed files with 31 additions and 21 deletions

View File

@@ -100,19 +100,22 @@ export const citizenScienceProjects = [
id: 1, id: 1,
title: "Globales Traumtagebuch", title: "Globales Traumtagebuch",
icon: "FaClipboardCheck", icon: "FaClipboardCheck",
description: "Teile deine Träume in der weltweit größten Traumdatenbank und hilf Forschern, Muster zu erkennen." description: "Teile deine Träume in der weltweit größten Traumdatenbank und hilf Forschern, Muster zu erkennen.",
optedIn: true
}, },
{ {
id: 2, id: 2,
title: "Traumkarte", title: "Traumkarte",
icon: "FaGlobeAmericas", icon: "FaGlobeAmericas",
description: "Hilf bei der Erstellung einer interaktiven Weltkarte, die zeigt, wie Träume je nach Region variieren." description: "Hilf bei der Erstellung einer interaktiven Weltkarte, die zeigt, wie Träume je nach Region variieren.",
optedIn: false
}, },
{ {
id: 3, id: 3,
title: "30-Tage-Challenge", title: "30-Tage-Challenge",
icon: "FaCalendarAlt", icon: "FaCalendarAlt",
description: "Nimm an der 30-Tage-Traumaufzeichnungs-Challenge teil und erhalte personalisierte Analysen." description: "Nimm an der 30-Tage-Traumaufzeichnungs-Challenge teil und erhalte personalisierte Analysen.",
optedIn: false
} }
]; ];

View File

@@ -15,19 +15,6 @@ export default function ResearchLive() {
description="Entdecke laufende Forschungsprojekte, nimm an Studien teil und lerne von führenden Traumforschern aus der ganzen Welt." description="Entdecke laufende Forschungsprojekte, nimm an Studien teil und lerne von führenden Traumforschern aus der ganzen Welt."
/> />
{/* Current Studies */}
<div className="mb-12">
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
{mockResearchLive.currentStudies.slice(0, 2).map((study) => (
<StudyCard key={study.id} study={study}/>))}
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 mt-6">
{mockResearchLive.currentStudies.slice(2, 4).map((study) => (
<StudyCard key={study.id} study={study}/>))}
</div>
</div>
{/* Citizen Science */} {/* Citizen Science */}
<div className="mb-12"> <div className="mb-12">
<DreamyCard color="violet"> <DreamyCard color="violet">
@@ -70,10 +57,16 @@ export default function ResearchLive() {
{project.description} {project.description}
</p> </p>
<div className="mt-3 text-center"> <div className="mt-3 text-center">
<button {project.optedIn ? (
className="py-1 px-3 bg-violet-500 hover:bg-violet-600 text-white text-xs rounded-lg transition-colors"> <button
Beitragen className="py-1 px-3 bg-violet-500 hover:bg-violet-600 text-white text-xs rounded-lg transition-colors">
</button> Du machst bereits mit!
</button>) : (
<button
className="py-1 px-3 bg-violet-500 hover:bg-violet-600 text-green text-xs rounded-lg transition-colors">
Beitragen
</button>
)}
</div> </div>
</div>); </div>);
})} })}
@@ -87,7 +80,21 @@ export default function ResearchLive() {
</DreamyCard> </DreamyCard>
</div> </div>
{/* Researcher Interviews */}
{/* Current Studies */}
<div className="mb-12">
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
{mockResearchLive.currentStudies.slice(0, 2).map((study) => (
<StudyCard key={study.id} study={study}/>))}
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 mt-6">
{mockResearchLive.currentStudies.slice(2, 4).map((study) => (
<StudyCard key={study.id} study={study}/>))}
</div>
</div>
Researcher Interviews
<div className="mb-12"> <div className="mb-12">
<SectionHeader title="Forscher-Interviews"/> <SectionHeader title="Forscher-Interviews"/>