feat: add answered prayers tab with answer details tracking

This commit is contained in:
nmemmert committed 2026-01-15 14:47:52 -05:00
1 parent 159a7463cd
commit 12377187c8
4 files changed
+133 -4

No files matched your search

+19 -2
View File
@@ -10,6 +10,7 @@ import CalendarView from '@/components/CalendarView';
import ReflectionsList from '@/components/ReflectionsList';
import SettingsPage from '@/components/SettingsPage';
import HomePage from '@/components/HomePage';
import AnsweredPrayers from '@/components/AnsweredPrayers';
import { db } from '@/lib/firebase';
import { collection, addDoc, getDocs, updateDoc, query, where, doc } from 'firebase/firestore';
import toast from 'react-hot-toast';
@@ -20,10 +21,12 @@ interface Prayer {
date: string;
text: string;
prayFor?: string;
answered?: boolean;
answerDetails?: string;
}
export default function Home() {
const [activeTab, setActiveTab] = useState<'home' | 'compose' | 'journal' | 'reflections' | 'settings'>('home');
const [activeTab, setActiveTab] = useState<'home' | 'compose' | 'journal' | 'answered' | 'reflections' | 'settings'>('home');
const [prayers, setPrayers] = useState<Prayer[]>([]);
const [editingPrayer, setEditingPrayer] = useState<Prayer | null>(null);
@@ -31,6 +34,8 @@ export default function Home() {
const [date, setDate] = useState(new Date().toISOString().split('T')[0]);
const [text, setText] = useState('');
const [prayFor, setPrayFor] = useState('');
const [answered, setAnswered] = useState(false);
const [answerDetails, setAnswerDetails] = useState('');
const { user, loading: authLoading } = useAuth();
@@ -98,6 +103,8 @@ export default function Home() {
date,
text,
prayFor: prayFor || undefined,
answered,
answerDetails: answerDetails || undefined,
};
if (editingPrayer) {
@@ -132,7 +139,9 @@ export default function Home() {
setDate(prayer.date);
setText(prayer.text);
setPrayFor(prayer.prayFor || '');
setActiveTab('home');
setAnswered(prayer.answered || false);
setAnswerDetails(prayer.answerDetails || '');
setActiveTab('compose');
};
const handleDateClick = (clickedDate: string) => {
@@ -206,6 +215,10 @@ export default function Home() {
onTextChange={setText}
prayFor={prayFor}
onPrayForChange={setPrayFor}
answered={answered}
onAnsweredChange={setAnswered}
answerDetails={answerDetails}
onAnswerDetailsChange={setAnswerDetails}
onSubmit={handleSubmit}
isEditing={!!editingPrayer}
/>
@@ -215,6 +228,10 @@ export default function Home() {
<CalendarView prayers={prayers} onDayClick={handleDateClick} />
)}
{activeTab === 'answered' && (
<AnsweredPrayers prayers={prayers} onEdit={handleSelectPrayer} />
)}
{activeTab === 'reflections' && (
<ReflectionsList
prayers={prayers}