// Profile, Payroll, Equipment pages // ──────────────── Profile ──────────────── function ProfilePage({ persona }) { const p = PERSONAS[persona]; const [editing, setEditing] = React.useState(null); return (
Personal info

Your profile

This information is shared with People Ops, Payroll, and Benefits. Some fields are read-only and require an HR change request.

{PROFILE.legalName}

{p.role} · {p.team}
{p.badge} {p.location} Starts {p.startDate}
); } function ProfileSection({ title, sub, children }) { return (

{title}

{sub && {sub}}
{children}
); } function ProfileField({ label, value, editable, locked, wide, hint }) { return (
{label}
{value}
{locked && } {editable && }
{hint &&
{hint}
}
); } // ──────────────── Payroll & taxes ──────────────── function PayrollPage({ persona }) { return (
Payroll & taxes

Your pay setup

Direct deposit, tax withholdings, and 401(k) elections. First paycheck arrives Friday, May 22.

Annual base
$172,000/yr
Bi-weekly · 26 paychecks/year · ~$6,615 gross/period
+ $25,000 sign-on bonus + Equity grant
Next paycheck
$4,872.18
Friday, May 22 · estimated net
Pay period progress 9 of 14 days

Pay history

Once you start, paystubs appear here
No pay history yet
Your first paystub will be available May 22, 2026
); } function PayCard({ icon, color, title, status, cta, rows }) { const C = I[icon]; return (
{title}
{status}
{rows.map(([k, v], i) => ( ))}
{k}{v}
); } // ──────────────── Equipment ──────────────── function EquipmentPage({ persona }) { return (
IT & equipment

Your gear is on the way

Your equipment was approved and shipped. Track it below or request anything you're missing.

Order #CV-2026-04812
Arrives Sun, May 10
FedEx · 2-day · Tracking 7849 0231 9912
In transit
Approved
Packed
In transit
Out for delivery
Delivered
{EQUIPMENT.map(e => { const C = I[e.icon]; return (
{e.name}
{e.spec}
{e.status === "shipped" ? "Shipped" : e.status === "processing" ? "Processing" : "Available"}
{e.eta}
); })}

Software & access

{[ { name: "Convoso SSO", state: "Active", icon: "lock", color: "#16a34a" }, { name: "Slack workspace", state: "Active · #welcome-riley", icon: "slack", color: "#a855f7" }, { name: "GitHub org · convoso-eng", state: "Pending · accept invite", icon: "github", color: "#0b1220" }, { name: "Linear", state: "Pending provisioning", icon: "layout", color: "#6366f1" }, { name: "AWS Console · dev account", state: "Pending · IT setup call", icon: "globe", color: "#f97316" }, { name: "Datadog", state: "Pending provisioning", icon: "monitor", color: "#7c3aed" }, { name: "1Password", state: "Active", icon: "lock", color: "#0ea5e9" }, { name: "Zoom", state: "Active", icon: "zoom", color: "#2563eb" }, ].map((s, i) => { const C = I[s.icon]; const isActive = s.state.startsWith("Active"); return (
{s.name}
{s.state}
{isActive ? Ready : }
); })}
); } window.ProfilePage = ProfilePage; window.PayrollPage = PayrollPage; window.EquipmentPage = EquipmentPage;