init project

This commit is contained in:
root
2026-04-23 00:21:02 -04:00
parent 23826c5528
commit 9191fd32f0
64 changed files with 10229 additions and 0 deletions
+78
View File
@@ -0,0 +1,78 @@
import { Link } from 'react-router-dom'
import { useAuth } from '../auth/AuthProvider'
/** Public landing — structure inspired by CodeIgniter `Views/landing_page/guest_dashboard.php` hero. */
export function HomePage() {
const { isAuthenticated } = useAuth()
return (
<div className="flex-grow-1">
<section className="hero-section position-relative overflow-hidden bg-white">
<div className="welcome-message text-center py-5 px-3">
<h1 className="display-5 fw-semibold text-success mb-2">
Welcome to Al Rahma Sunday School
</h1>
<h2 className="h4 text-secondary mb-3">
{isAuthenticated ? 'Welcome back' : 'Welcome, Guest!'}
</h2>
<p className="lead text-muted mx-auto mb-4" style={{ maxWidth: 640 }}>
Use the portal to manage enrollment, attendance, grades, and family information the
same workflows as the CodeIgniter site, backed by the Laravel API.
</p>
<div className="d-flex flex-wrap justify-content-center gap-2">
{isAuthenticated ? (
<Link className="btn btn-success btn-lg px-4" to="/app/home">
Go to dashboard
</Link>
) : (
<>
<Link className="btn btn-success btn-lg px-4" to="/login">
Sign in
</Link>
<Link className="btn btn-outline-success btn-lg px-4" to="/register">
Registration Form
</Link>
</>
)}
<Link className="btn btn-outline-secondary btn-lg" to="/docs">
API documentation
</Link>
</div>
</div>
</section>
<section className="py-5 border-top bg-light">
<div className="container">
<div className="row g-4 justify-content-center">
<div className="col-md-4">
<div className="card border-0 shadow-sm h-100">
<div className="card-body">
<h3 className="h6 text-success">
<i className="bi bi-house-door me-2" aria-hidden />
Families
</h3>
<p className="small text-muted mb-0">
Parents sign in after registration is activated by email.
</p>
</div>
</div>
</div>
<div className="col-md-4">
<div className="card border-0 shadow-sm h-100">
<div className="card-body">
<h3 className="h6 text-success">
<i className="bi bi-shield-lock me-2" aria-hidden />
Secure portal
</h3>
<p className="small text-muted mb-0">
Sessions use JWT from the Laravel API (<code>/api/v1/auth/login</code>).
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
)
}