Initial commit

This commit is contained in:
Kwesi Banson Jnr
2026-03-19 11:03:33 +00:00
commit c68c007945
8388 changed files with 520335 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CML Client Portal | Reset Password</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css">
<style>
body { background-color: #f8f9fa; }
.reset-container { margin-top: 100px; max-width: 400px; }
</style>
</head>
<body>
<div class="container d-flex justify-content-center">
<div class="reset-container w-100">
<div class="card shadow-sm">
<div class="card-body p-4">
<div class="text-center mb-4">
<h3 class="fw-bold">Email Notice </h3>
<p class="text-muted">An Email has been sent to your address with the password reset link. Check and proceed.</p>
</div>
<!-- <div class="text-center mt-4">
<a class="text-decoration-none small text-muted">
<i class="bi bi-arrow-left"></i> Back to Login
</a>
</div> -->
<div class="text-center mt-4">
<a href="{{ url('user-login') }}" class="text-decoration-none small text-muted">
<i class="bi bi-arrow-left"></i> Back to Login
</a>
</div>
</div>
</div>
<div class="text-center mt-3 text-muted small">
&copy; LUPMIS 2.0
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Login Page</title>
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container d-flex justify-content-center align-items-center vh-100">
<div class="card shadow-sm p-4" style="width: 100%; max-width: 400px;">
<h3 class="text-center mb-4">Login</h3>
<form action="{{ url('client-login') }}" method="POST">
@csrf
<!-- Email -->
<div class="mb-3">
<label for="email" class="form-label">Email address</label>
<input type="email" class="form-control" id="email" name="email" placeholder="Enter email">
</div>
<!-- Password -->
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control" name="password" id="password" placeholder="Enter password">
</div>
<!-- Remember Me -->
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" id="remember">
<label class="form-check-label" for="remember">Remember me</label>
</div>
<!-- Submit -->
<button type="submit" class="btn btn-primary w-100">Login</button>
</form>
<div class="text-center mt-3">
<small>Don't have an account? <a href="#">Sign up</a></small>
</div>
</div>
</div>
<!-- Bootstrap 5 JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,134 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Click Client Portal | Login</title>
<link rel="icon" type="image/png" href="{{ url('public/assets/images/click-logo.png') }}">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Sora:wght@400;600;700&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="{{ url('public/assets/css/theme.css') }}" rel="stylesheet">
</head>
<body>
<main class="auth-shell d-flex align-items-center">
<div class="container auth-stage py-4 py-lg-5">
<div class="row g-4 align-items-center">
<div class="col-lg-6">
<section class="auth-panel h-100">
<div class="brand-chip mb-4">
<i class="bi bi-broadcast-pin"></i>
SMS Traffic Portal
</div>
<img src="{{ url('public/assets/images/click-logo.png') }}" alt="Click Mobile" class="brand-logo mb-4">
<h1 class="display-6 fw-semibold mb-3">Monitor delivery traffic with a cleaner client experience.</h1>
<p class="fs-5 opacity-75 mb-4">
A branded front door for clients to review sent SMS, delivery status, route activity, and campaign health in one place.
</p>
<div class="hero-graphic mb-4">
<span class="signal-dot" style="top: 18%; left: 14%;"></span>
<span class="signal-dot" style="top: 30%; left: 66%;"></span>
<span class="signal-dot" style="top: 72%; left: 28%;"></span>
<span class="signal-dot" style="top: 62%; left: 78%;"></span>
<span class="signal-line" style="top: 21%; left: 17%; width: 52%; transform: rotate(8deg);"></span>
<span class="signal-line" style="top: 34%; left: 45%; width: 29%; transform: rotate(35deg);"></span>
<span class="signal-line" style="top: 69%; left: 31%; width: 45%; transform: rotate(-8deg);"></span>
<span class="message-pill" style="top: 18%; right: 12%;">OTP sent in 2.1s</span>
<span class="message-pill" style="left: 10%; bottom: 16%;">98.4% delivered</span>
<span class="message-pill" style="top: 48%; left: 38%;">Bridge active</span>
</div>
<div class="row g-3">
<div class="col-sm-4">
<div class="auth-metric">
<div class="auth-metric-label mb-1">Current routes</div>
<!-- <div class="auth-metric-value h4 mb-0">24+</div> -->
</div>
</div>
<div class="col-sm-4">
<div class="auth-metric">
<div class="auth-metric-label mb-1">Messages today</div>
<!-- <div class="auth-metric-value h4 mb-0">186k</div> -->
</div>
</div>
<div class="col-sm-4">
<div class="auth-metric">
<div class="auth-metric-label mb-1">Delivery rates</div>
<!-- <div class="auth-metric-value h4 mb-0">98.4%</div> -->
</div>
</div>
</div>
</section>
</div>
<div class="col-lg-5 offset-lg-1">
<section class="glass-card">
<div class="d-flex align-items-center justify-content-between mb-4">
<div>
<div class="text-uppercase small fw-semibold text-primary mb-2">Client Portal</div>
<h2 class="h3 mb-1">Welcome back</h2>
<!-- <p class="text-secondary mb-0">Sign in to review SMS traffic and delivery logs.</p> -->
</div>
<span class="badge text-bg-light rounded-pill px-3 py-2">Click Mobile</span>
</div>
<form class="" action="{{ url('client-login') }}" method="POST">
@csrf
<div class="mb-3">
<label for="companyEmail" class="form-label fw-semibold">Email</label>
<input type="email" class="form-control" id="companyEmail" placeholder="client@click-mobile.com" value="ops@click-mobile.com" autocomplete="">
</div>
<div class="mb-3">
<label for="password" class="form-label fw-semibold">Password</label>
<div class="input-group">
<span class="input-group-text bg-white border-end-0 rounded-start-4">
<i class="bi bi-shield-lock"></i>
</span>
<input type="password" class="form-control border-start-0 rounded-end-4" id="password" placeholder="Enter password" autocomplete="current-password">
</div>
</div>
<div class="d-flex align-items-center justify-content-between mb-4">
<!-- <div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="rememberMe" checked>
<label class="form-check-label" for="rememberMe">
Keep me signed in
</label>
</div> -->
<a href="#" class="text-decoration-none fw-semibold">Forgot password?</a>
</div>
<div class="d-grid gap-3">
<button type="submit" class="btn btn-click">Sign in to portal</button>
<a href="" class="btn btn-ghost">Request account access</a>
</div>
</form>
<div class="row g-3 mt-4">
<!-- <div class="col-sm-6">
<div class="p-3 rounded-4 bg-body-tertiary h-100">
<div class="muted-label mb-2">Portal features</div>
<div class="fw-semibold">Sent SMS logs, status breakdown, search filters, and route insights.</div>
</div>
</div>
<div class="col-sm-6">
<div class="p-3 rounded-4 bg-body-tertiary h-100">
<div class="muted-label mb-2">Support window</div>
<div class="fw-semibold">Mon to Fri, 08:00 to 18:00 CAT</div>
</div>
</div> -->
</div>
</section>
</div>
</div>
</div>
</main>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>

View File

@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CML Client Portal | Reset Password</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css">
<style>
body { background-color: #f8f9fa; }
.reset-container { margin-top: 100px; max-width: 400px; }
</style>
</head>
<body>
<div class="container d-flex justify-content-center">
<div class="reset-container w-100">
<div class="card shadow-sm">
<div class="card-body p-4">
<div class="text-center mb-4">
<h3 class="fw-bold">Success </h3>
<p class="text-muted">Your password has been successfully reset. Use the link below to login</p>
</div>
<div class="d-grid gap-2">
<a href="{{ url('user-login') }}" class="btn btn-primary btn-lg">Login Page</a>
</div>
<!-- <div class="text-center mt-4">
<a class="text-decoration-none small text-muted">
<i class="bi bi-arrow-left"></i> Back to Login
</a>
</div> -->
</div>
</div>
<div class="text-center mt-3 text-muted small">
&copy; LUPMIS 2.0
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CML Client Portal | Reset Password</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css">
<style>
body { background-color: #f8f9fa; }
.reset-container { margin-top: 100px; max-width: 400px; }
</style>
</head>
<body>
<!-- Kwesi the Grey -->
<div class="container d-flex justify-content-center">
<div class="reset-container w-100">
<div class="card shadow-sm">
<div class="card-body p-4">
<div class="text-center mb-4">
<h3 class="fw-bold">Password Reset</h3>
<p class="text-muted">Enter your new password to reset</p>
</div>
<form action="{{ url('passowrd-reset') }}" method="POST">
@csrf
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control form-control-lg" id="password" name="password" placeholder="***********" required autofocus>
</div>
<div class="mb-3">
<label for="passwordConfirm" class="form-label">Confirm Password</label>
<input type="password" class="form-control form-control-lg" id="passwordConfirm" name="confirm_password" placeholder="***********" required autofocus>
</div>
<div class="d-grid gap-2">
<button type="submit" class="btn btn-primary btn-lg">Submit</button>
</div>
</form>
<div class="text-center mt-4">
<a href="{{ url('user-login') }}" class="text-decoration-none small text-muted">
<i class="bi bi-arrow-left"></i> Back to Login
</a>
</div>
</div>
</div>
<div class="text-center mt-3 text-muted small">
&copy; LUPMIS 2.0
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LUPMIS4LUSPA | Reset Password</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css">
<style>
body { background-color: #f8f9fa; }
.reset-container { margin-top: 100px; max-width: 400px; }
</style>
</head>
<body>
<div class="container d-flex justify-content-center">
<div class="reset-container w-100">
<div class="card shadow-sm">
<div class="card-body p-4">
<div class="text-center mb-4">
<h3 class="fw-bold">Forgot Password?</h3>
<p class="text-muted">Enter your email and we'll send you a link to reset your password.</p>
</div>
<form action="{{ url('user-reset') }}" method="POST">
@csrf
<div class="mb-3">
<label for="email" class="form-label">Email Address</label>
<input type="email" class="form-control form-control-lg" id="email" name="email" placeholder="name@example.com" required autofocus>
</div>
<div class="d-grid gap-2">
<button type="submit" class="btn btn-primary btn-lg">Send Reset Link</button>
</div>
</form>
<div class="text-center mt-4">
<a href="{{ url('user-login') }}" class="text-decoration-none small text-muted">
<i class="bi bi-arrow-left"></i> Back to Login
</a>
</div>
</div>
</div>
<div class="text-center mt-3 text-muted small">
&copy; LUPMIS 2.0
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>