/* global React, Icon, Logo */ const { useState: useStateAuth } = React; const AuthShell = ({ side, children }) => (
{children}
© 2026 Roomly Need help? Contact support
{side}
); const PageLoginSeeker = ({ onNav }) => { const [showPw, setShowPw] = useStateAuth(false); const [tab, setTab] = useStateAuth("agency"); return (
Tonight, somewhere safe

"We placed 14 clients into rooms in our first month with Roomly."

MR
Marisol Rivera Housing Navigator · Bay Area Outreach

12,840verified rooms
48hravg. placement
96%retention at 90 days
} >
Sign in · Seeker

Welcome back.

Find a room — for yourself or someone you're placing.

Forgot password?

New here? onNav("signup-pick")}>Create an account · onNav("login-lister")}>Sign in as a host →

); }; const PageLoginLister = ({ onNav }) => { const [showPw, setShowPw] = useStateAuth(false); return (
Open a door, change a life

Your spare room is someone's fresh start.

Hosts on Roomly earn an average of $720/month per room while housing verified, supported guests.

This month · sample host Active
$2,1603 rooms occupied
4.9guest rating
} >
Sign in · Host

Manage your rooms.

Check inquiries, payouts, and upcoming move-ins.

Forgot password?

Want to list a room? onNav("signup-pick")}>Become a host · onNav("login-seeker")}>I'm looking for a room →

); }; const PageSignupPick = ({ onNav }) => { return (
Already have an account?
Get started · Step 1 of 4

What brings you here?

Pick the role that fits. You can add another role later from your account.

{[ { id: "case", icon: "briefcase", title: "I'm a case worker", body: "Place clients into rooms. Submit applications and track outcomes for your caseload.", chips: ["Agency dashboard", "Bulk applications", "Voucher network"], next: "search" }, { id: "ind", icon: "user", title: "I'm looking for myself", body: "Find a room you can move into this week. Vouchers welcome, no credit check.", chips: ["Browse rooms", "Direct messaging", "Saved searches"], next: "search" }, { id: "host", icon: "key", title: "I have a room to list", body: "Earn from your spare room. Background-checked guests, payouts in 48 hours.", chips: ["Free to list", "Insurance included", "Steady payouts"], next: "lister-dash" }, ].map(opt => (
onNav(opt.next)}>

{opt.title}

{opt.body}

{opt.chips.map(c => {c})}
))}

Are you an organization placing 50+ clients per year? Talk to enterprise →

); }; window.PageLoginSeeker = PageLoginSeeker; window.PageLoginLister = PageLoginLister; window.PageSignupPick = PageSignupPick;