// invite.jsx — Friend invite page + Body Check bonus already handled in academy/league const { useState: useStateInv } = React; function InviteFriends({ go, back }) { const [copied, setCopied] = useStateInv(false); const code = 'AVA-7K2P'; const channels = [ { id: 'kakao', label: '카카오톡', tone: T.amber, icon: 'chat' }, { id: 'message', label: '메시지', tone: T.good, icon: 'bell' }, { id: 'link', label: '링크 복사', tone: T.calm, icon: 'share' }, { id: 'more', label: '더보기', tone: T.violet, icon: 'plus' }, ]; const pending = [ { name: '수현', status: '가입 대기', day: '어제 초대' }, { name: '太현', status: 'Quest 2회 완료', day: '함께 3일째', done: true }, ]; return ( {/* hero — multi-hue */}
같이 하면 더 오래 가요
친구가 첫 Quest를 완료하면
두 분 모두 에너지 5개를 받아요
{/* reward strip */}
{[['친구 초대', '+5', 'bolt', T.teal], ['둘 다 3일', '+50', 'flame', T.amberDark], ['스쿼드 합류', '+120', 'sparkle', T.coral]].map((r, i) => (
{r[1]}
{r[0]}
))}
{/* invite code */}
내 초대 코드
{/* channels */}
{channels.map(ch => ( ))}
{/* pending / joined */}
초대한 친구
{pending.map((p, i) => (
{p.name[0]}
{p.name}
{p.status}
{p.done ? +5 : {p.day}}
))}
); } Object.assign(window, { InviteFriends });