integratedhub/islands/GuestHome.tsx
2026-02-14 02:20:19 +00:00

106 lines
3.2 KiB
TypeScript

export default function GuestHome() {
const startOnboarding = (role: "landlord" | "tenant") => {
try {
localStorage.setItem("login-purpose", role);
localStorage.removeItem("lock-route");
} catch (_error) {
void _error;
}
globalThis.location.href = "/auth/login";
};
return (
<div class="landing-home landing-home--guest">
<div class="landing-grid-overlay" aria-hidden="true"></div>
<div class="landing-orb landing-orb--north" aria-hidden="true"></div>
<div class="landing-orb landing-orb--east" aria-hidden="true"></div>
<div class="landing-orb landing-orb--south" aria-hidden="true"></div>
<section class="landing-panel">
<div class="landing-brand">
<img
src="/logo.svg"
alt="Cyber Hybrid Hub Logo"
width="80"
height="80"
class="landing-logo"
/>
<p class="landing-eyebrow">Cyber Hybrid Hub</p>
</div>
<h1 class="landing-heading">
Trusted tools for property operations and personal budgeting.
</h1>
<p class="landing-copy">
Sign in once to reach the right dashboard in seconds and keep your
financial calendar in view for every upcoming obligation.
</p>
<div class="landing-cta-row">
<form method="get" action="/auth/login" class="inline-form">
<button type="submit" class="primary-action">
Sign In or Create Account
</button>
</form>
</div>
<div class="trust-points">
<article class="trust-point">
<h2>Secure Access</h2>
<p>
Authentication and encryption controls are built into every
session.
</p>
</article>
<article class="trust-point">
<h2>Fast Routing</h2>
<p>
Members are directed quickly to landlord or tenant dashboards
after login.
</p>
</article>
<article class="trust-point">
<h2>Budget Clarity</h2>
<p>
Financial calendar workflows keep due dates and obligations easy
to manage.
</p>
</article>
</div>
</section>
<section class="role-quickstart" aria-label="Role-specific onboarding">
<article class="role-card">
<h3>Landlord Quick Start</h3>
<p>
Save your intent now and continue directly to landlord tools after
signing in.
</p>
<button
type="button"
onClick={() => startOnboarding("landlord")}
class="secondary-action"
>
Start as Landlord
</button>
</article>
<article class="role-card">
<h3>Tenant Quick Start</h3>
<p>
Sign in with tenant intent to move directly into your tenant
workspace.
</p>
<button
type="button"
onClick={() => startOnboarding("tenant")}
class="secondary-action"
>
Start as Tenant
</button>
</article>
</section>
</div>
);
}