feat: add answered prayers tab with answer details tracking
This commit is contained in:
1 parent
159a7463cd
commit
12377187c8
4 files changed
+133
-4
No files matched your search
+19
-2
@@ -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}
|
||||
|
||||
Reference in new issue
Block a user