Skip to content

Commit fe10025

Browse files
Reverted to edit edt-23167d0b-ef79-4aef-996a-8bd73c98ba4e: "Implement mood tracking feature
Adds mood tracking functionality with daily prompts and mood level recording. Saves journal entries to Firebase profile. Replaces community map quick action with journal."
1 parent 3e3d926 commit fe10025

File tree

2 files changed

+30
-25
lines changed

2 files changed

+30
-25
lines changed

src/pages/Analytics.tsx

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ import {
1010
CardTitle,
1111
} from "@/components/ui/card";
1212
import { Textarea } from "@/components/ui/textarea";
13+
import {
14+
Select,
15+
SelectContent,
16+
SelectItem,
17+
SelectTrigger,
18+
SelectValue,
19+
} from "@/components/ui/select";
1320
import { Label } from "@/components/ui/label";
1421
import ProgressChart from "@/components/ProgressChart";
1522
import { logRelapse } from "../utils/firebase";
@@ -20,7 +27,6 @@ import { toast } from "sonner";
2027
import { useEffect } from "react";
2128
import { db } from "../utils/firebase";
2229
import { collection, doc, getDoc } from "firebase/firestore";
23-
import { MultiSelect } from "@/components/ui/multi-select";
2430

2531
const mockStreakData = [
2632
{ date: "Jan 1", streak: 1 },
@@ -59,21 +65,12 @@ const mockMoodData = [
5965
const Analytics: React.FC = () => {
6066
const { currentUser, userProfile } = useAuth();
6167
const [notes, setNotes] = useState("");
62-
const [selectedTriggers, setSelectedTriggers] = useState<string[]>([]);
68+
const [selectedTrigger, setSelectedTrigger] = useState("");
6369
const [isSubmitting, setIsSubmitting] = useState(false);
6470
const [triggers, setTriggers] = useState<{ name: string; count: number }[]>(
6571
[]
6672
);
6773

68-
const triggerOptions = [
69-
{ value: "stress", label: "Stress" },
70-
{ value: "boredom", label: "Boredom" },
71-
{ value: "loneliness", label: "Loneliness" },
72-
{ value: "fatigue", label: "Fatigue" },
73-
{ value: "social-media", label: "Social Media" },
74-
{ value: "other", label: "Other" }
75-
];
76-
7774
const useTriggers = (uid: string | undefined) => {
7875
useEffect(() => {
7976
if (!uid) return;
@@ -120,15 +117,15 @@ const Analytics: React.FC = () => {
120117
setIsSubmitting(true);
121118

122119
try {
123-
const result = await logRelapse(currentUser.uid, selectedTriggers, notes);
120+
const result = await logRelapse(currentUser.uid, selectedTrigger, notes);
124121
if (result.success) {
125122
toast.success("Progress reset", {
126123
description:
127124
"Remember that every moment is a new opportunity to begin again.",
128125
});
129126

130127
setNotes("");
131-
setSelectedTriggers([]);
128+
setSelectedTrigger("");
132129
} else {
133130
toast.error("Failed to log relapse", {
134131
description: result.message,
@@ -392,14 +389,23 @@ const Analytics: React.FC = () => {
392389

393390
<CardContent className="space-y-4">
394391
<div className="space-y-2">
395-
<Label htmlFor="trigger">What triggered this relapse? (Select up to 3)</Label>
396-
<MultiSelect
397-
options={triggerOptions}
398-
selected={selectedTriggers}
399-
onChange={setSelectedTriggers}
400-
placeholder="Select triggers"
401-
className="w-full"
402-
/>
392+
<Label htmlFor="trigger">What triggered this relapse?</Label>
393+
<Select
394+
value={selectedTrigger}
395+
onValueChange={setSelectedTrigger}
396+
>
397+
<SelectTrigger id="trigger">
398+
<SelectValue placeholder="Select a trigger" />
399+
</SelectTrigger>
400+
<SelectContent>
401+
<SelectItem value="stress">Stress</SelectItem>
402+
<SelectItem value="boredom">Boredom</SelectItem>
403+
<SelectItem value="loneliness">Loneliness</SelectItem>
404+
<SelectItem value="fatigue">Fatigue</SelectItem>
405+
<SelectItem value="social-media">Social Media</SelectItem>
406+
<SelectItem value="other">Other</SelectItem>
407+
</SelectContent>
408+
</Select>
403409
</div>
404410

405411
<div className="space-y-2">
@@ -418,7 +424,7 @@ const Analytics: React.FC = () => {
418424
variant="destructive"
419425
className="w-full"
420426
onClick={handleRelapseSubmit}
421-
disabled={isSubmitting || selectedTriggers.length === 0}
427+
disabled={isSubmitting || !selectedTrigger}
422428
>
423429
{isSubmitting
424430
? "Submitting..."

src/utils/firebase.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import { initializeApp } from 'firebase/app';
32
import { getAuth, onAuthStateChanged, signInWithEmailAndPassword, createUserWithEmailAndPassword, signOut, User, updatePassword, EmailAuthProvider, reauthenticateWithCredential } from 'firebase/auth';
43
import { getFirestore, collection, doc, setDoc, getDoc, getDocs, updateDoc, query, where, GeoPoint, Timestamp, addDoc, orderBy, arrayUnion, serverTimestamp } from 'firebase/firestore';
@@ -298,13 +297,13 @@ interface LogRelapseResult {
298297
message?: string;
299298
}
300299

301-
export const logRelapse = async (userId: string, triggers: string[], notes?: string): Promise<LogRelapseResult> => {
300+
export const logRelapse = async (userId: string, triggers: string, notes?: string): Promise<LogRelapseResult> => {
302301
try {
303302
const userDocRef = doc(db, 'users', userId); // Reference to the user's document
304303

305304
const relapseObject = {
306305
timestamp: Timestamp.now(),
307-
triggers: triggers, // Now we store the array of triggers
306+
triggers: triggers,
308307
notes: notes || ''
309308
};
310309

0 commit comments

Comments
 (0)