import React, { useState } from 'react'; import * as API from '../api.js'; const AuthPortal = ({ onLoginSuccess }) => { const [loading, setLoading] = useState(false); const handleSwiggyLogin = async (e) => { e.preventDefault(); setLoading(true); try { const res = await API.fetchLoginUrl(); if (res && res.auth_url) { localStorage.setItem('swiggy_oauth_state', res.state); window.location.href = res.auth_url; } else { alert("Failed to fetch login URL"); setLoading(false); } } catch (err) { console.error("Swiggy login error:", err); alert("Failed to initiate Swiggy login"); setLoading(false); } }; const handleDemoLogin = async (e) => { e.preventDefault(); setLoading(true); try { const response = await fetch('/api/v1/auth/demo', { method: 'POST' }); let token = "demo_jwt_token_fallback"; if (response.ok) { const data = await response.json(); if (data.access_token) token = data.access_token; } localStorage.setItem('swiggy_access_token', token); setTimeout(() => { setLoading(false); if (onLoginSuccess) onLoginSuccess(); }, 600); } catch (err) { localStorage.setItem('swiggy_access_token', "demo_jwt_token_fallback"); setTimeout(() => { setLoading(false); if (onLoginSuccess) onLoginSuccess(); }, 600); } }; return (
Unconstrain demand, smooth ETA jitter, and triage refunds — all in one intelligent platform powered by Swiggy MCP.
{/* Feature Quick Bar (6 Icon Grid) */}₹1,85,600
TOTAL DEMAND UNCONSTRAINED
+91 98765 43210 • Patia Hub