/* global React, ReactDOM */
const {useEffect,useState} = React;
const api = (slug,opts)=> fetch(`/wp-json/upath/v1/${slug}`, Object.assign({headers:{'Content-Type':'application/json'}}, opts||{})).then(async r=>{const t=await r.text(); try{return JSON.parse(t)}catch(e){return t}});
const Container = ({children}) =>
{children}
;
function nav(e){ if(e && e.preventDefault){ e.preventDefault(); } const href = (e?.currentTarget?.getAttribute('href')) || '/'; history.pushState({},'',href); render(); }
window.addEventListener('popstate', ()=>render());
function Header({variant="dark"}){
const [data,set] = useState(null);
useEffect(()=>{api('header').then(set)},[]);
if(!data) return null;
const dark = variant==="dark";
return (
);
}
function Footer(){
const [data,set] = useState(null);
useEffect(()=>{api('footer').then(set)},[]);
if(!data) return null;
return (
);
}
function Hero({data}){
return (
{data.title}
{data.subtitle}
);
}
const Stat = ({icon,num,label})=>(
);
const HiwCard = ({step,title,desc,img})=>(
{step}
{title}
{desc}
);
function Testimonials({items}){
if(!items || items.length<3) return null;
return (
What Our Clients Say About Us
{items.slice(0,3).map((t,i)=>(
{t.name}
{t.role}
{t.title}
{t.text}
{'★'.repeat(t.rating)}{'☆'.repeat(5-t.rating)}
))}
);
}
/*** INNER PAGES (PIXEL-LIKE) ***/
function SimpleHero({title,bg,sub}){
return (
);
}
function AboutPage(){
const [d,set] = useState(null);
useEffect(()=>{api('about').then(set)},[]);
if(!d) return null;
return (<>
Our Team
{d.team.map((m,i)=>(
{m.name}
{m.role}
))}
>);
}
function ContactForm(){
const [s,setS] = useState({name:'',email:'',message:''}); const [ok,setOk]=useState(false);
return (
);
}
function ContactPage(){
const [d,set] = useState(null);
useEffect(()=>{api('contact').then(set)},[]);
if(!d) return null;
return (<>
>);
}
function FindMentorsPage(){
const [d,set] = useState(null);
useEffect(()=>{api('find').then(set)},[]);
if(!d) return null;
return (<>
{d.mentors.map((m,i)=>(
{m.name}
{m.tag}
))}
>);
}
function LoginForm(){
const [s,setS] = useState({email:'',password:''}); const [msg,setMsg]=useState('');
return (
);
}
function SignupForm(){
const [s,setS] = useState({email:'',password:'',role:'subscriber'}); const [msg,setMsg]=useState('');
return (
);
}
function LoginPage(){ const [d,set] = useState(null); useEffect(()=>{api('login').then(set)},[]); if(!d) return null; return (<>
>); }
function SignupPage(){ const [d,set] = useState(null); useEffect(()=>{api('signup').then(set)},[]); if(!d) return null; return (<>
>); }
function Dashboard({type}){
const [d,set] = useState(null);
useEffect(()=>{api('dash/'+type).then(set)},[type]);
if(!d) return null;
return (<>
Upcoming Sessions
{d.sessions.map((s,i)=>(- {s.title} — {s.time}
))}
Messages
{d.messages.map((m,i)=>(- {m.from}: {m.text}
))}
>);
}
function HomePage(){
const [data,set] = useState(null);
useEffect(()=>{api('home').then(set)},[]);
if(!data) return null;
return (<>
{data.stats.map((s,i)=>())}
{data.howItWorks.map((h,i)=>())}
>);
}
function App(){
const p=(window.location.pathname||'/').replace(/\/+$/,'')||'/';
if(p===''||p==='/') return ;
if(p.includes('/about-us')) return ;
if(p.includes('/contact-us')) return ;
if(p.includes('/find-mentors')) return ;
if(p.includes('/dashboard-mentor')) return ;
if(p.includes('/dashboard-mentee')) return ;
if(p.includes('/login')) return ;
if(p.includes('/signup')) return ;
return ;
}
function render(){ ReactDOM.createRoot(document.getElementById('root')).render(); }
render();