fix: Defer agent dashboard data fetching until session is authenticated and update payment success redirect to full page reload.

This commit is contained in:
pradeepkumar
2026-03-19 10:22:21 +05:30
parent 27e9fdabb4
commit 00a7cc68d1
2 changed files with 9 additions and 4 deletions

View File

@@ -62,7 +62,7 @@ const defaultContactInfoData: ContactInfoData = {
}; };
export default function AgentDashboard() { export default function AgentDashboard() {
const { data: session } = useSession(); const { data: session, status: sessionStatus } = useSession();
const [agentProfile, setAgentProfile] = useState<AgentProfile | null>(null); const [agentProfile, setAgentProfile] = useState<AgentProfile | null>(null);
const [fieldValues, setFieldValues] = useState<FieldValueResponse[]>([]); const [fieldValues, setFieldValues] = useState<FieldValueResponse[]>([]);
const [experienceData, setExperienceData] = useState<ExperienceData>(defaultExperience); const [experienceData, setExperienceData] = useState<ExperienceData>(defaultExperience);
@@ -89,8 +89,13 @@ export default function AgentDashboard() {
return !avatar.startsWith('http') && !avatar.startsWith('/'); return !avatar.startsWith('http') && !avatar.startsWith('/');
}; };
// Fetch agent profile and field values on mount // Fetch agent profile and field values when session is ready
useEffect(() => { useEffect(() => {
// Wait until session is authenticated and tokens are available
if (sessionStatus !== 'authenticated') return;
const token = typeof window !== 'undefined' ? localStorage.getItem('accessToken') : null;
if (!token) return;
const fetchData = async () => { const fetchData = async () => {
try { try {
setLoading(true); setLoading(true);
@@ -164,7 +169,7 @@ export default function AgentDashboard() {
}; };
fetchData(); fetchData();
}, []); }, [sessionStatus]);
// Handle availability toggle // Handle availability toggle
const handleToggleAvailability = async () => { const handleToggleAvailability = async () => {

View File

@@ -139,7 +139,7 @@ export function PaymentSuccessForm() {
{/* Action Buttons */} {/* Action Buttons */}
<div className="flex gap-4 mb-6"> <div className="flex gap-4 mb-6">
<button <button
onClick={() => router.push('/agent/dashboard')} onClick={() => window.location.href = '/agent/dashboard'}
className="flex-1 bg-[#e58625] border border-[#e58625] text-white font-fractul font-bold text-[14px] py-4 rounded-[15px] hover:bg-[#d47920] transition-colors flex items-center justify-center gap-2" className="flex-1 bg-[#e58625] border border-[#e58625] text-white font-fractul font-bold text-[14px] py-4 rounded-[15px] hover:bg-[#d47920] transition-colors flex items-center justify-center gap-2"
> >
<Image <Image