118 lines
7.8 KiB
HTML
118 lines
7.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>FreeSched Meeting Scheduler</title>
|
|
<!-- Bootstrap CSS -->
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="/css/styles.css">
|
|
<!-- Bootstrap Icons -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
|
|
</head>
|
|
<body>
|
|
<div id="uidError" class="container-fluid p-5 text-center" style="display: none;">
|
|
<div class="alert alert-warning p-5 shadow-sm" role="alert">
|
|
<h4 class="alert-heading mb-4"><i class="bi bi-exclamation-triangle me-2"></i>Invalid Schedule URL</h4>
|
|
<p class="mb-0">Please make sure you have the correct scheduling link.<br>The URL should include a valid schedule identifier.</p>
|
|
</div>
|
|
</div>
|
|
<div id="mainContent" class="container-fluid p-0">
|
|
<div class="row g-0">
|
|
<div class="col-md-4 sidebar bg-light border-end border-gray-300">
|
|
<div class="d-flex flex-column align-items-center p-4">
|
|
<img src="/images/avatar.jpg" alt="Doug Masiero" class="profile-pic rounded-circle mb-3 shadow-sm">
|
|
<h2 class="fs-5 text-dark fw-bold mb-2">Doug Masiero</h2>
|
|
<h3 class="fs-6 text-muted mb-2">30 Minute Meeting</h3>
|
|
<p class="text-muted fs-6">30 min</p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-8 main-content p-4">
|
|
<div class="calendar-header">
|
|
<h1 class="fs-3 text-dark fw-bold mb-3">Select a Date & Time</h1>
|
|
<div class="month-nav d-flex justify-content-between align-items-center text-dark fs-5">
|
|
<button id="prevMonth" class="btn btn-link p-0 text-decoration-none"><i class="bi bi-chevron-left"></i></button>
|
|
<span id="monthYear">April 2021</span>
|
|
<button id="nextMonth" class="btn btn-link p-0 text-decoration-none"><i class="bi bi-chevron-right"></i></button>
|
|
</div>
|
|
</div>
|
|
<div class="calendar mb-4">
|
|
<div class="days-of-week d-grid gap-2 mb-2" style="grid-template-columns: repeat(7, 1fr);">
|
|
<span class="text-muted fw-bold text-center p-2">SUN</span>
|
|
<span class="text-muted fw-bold text-center p-2">MON</span>
|
|
<span class="text-muted fw-bold text-center p-2">TUE</span>
|
|
<span class="text-muted fw-bold text-center p-2">WED</span>
|
|
<span class="text-muted fw-bold text-center p-2">THU</span>
|
|
<span class="text-muted fw-bold text-center p-2">FRI</span>
|
|
<span class="text-muted fw-bold text-center p-2">SAT</span>
|
|
</div>
|
|
<div id="calendarDates" class="dates d-grid gap-2" style="grid-template-columns: repeat(7, 1fr);">
|
|
<!-- Dates will be dynamically generated by JavaScript -->
|
|
</div>
|
|
</div>
|
|
<div id="timeSlots" class="time-slots mb-4">
|
|
<!-- Time slots will be dynamically populated by JavaScript -->
|
|
</div>
|
|
<div id="timezone" class="text-muted fs-6 mb-3 d-flex justify-content-between align-items-center">
|
|
<span>Eastern Time - US & Canada (<span id="currentTime"></span>)</span>
|
|
<span class="powered-by text-muted fs-7 text-end index-powered-by">
|
|
<a href="https://github.com/moeny/freesched" target="_blank" class="text-decoration-none text-muted github-link">
|
|
<svg class="octocat-icon" height="16" viewBox="0 0 16 16" width="16" aria-hidden="true">
|
|
<path fill="currentColor" d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
|
|
</svg>
|
|
Powered by FreeSched
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Booking Modal -->
|
|
<div class="modal fade" id="bookingModal" tabindex="-1" aria-labelledby="bookingModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered modal-lg">
|
|
<div class="modal-content shadow">
|
|
<div class="modal-header border-bottom-0 pb-0">
|
|
<h5 class="modal-title fw-bold" id="bookingModalLabel">Confirm Appointment</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body pt-2 px-4">
|
|
<form id="bookingForm">
|
|
<div class="mb-4">
|
|
<label for="name" class="form-label fw-semibold">Name <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control form-control-lg" id="name" required>
|
|
<div class="invalid-feedback">Please enter your name.</div>
|
|
</div>
|
|
<div class="mb-4">
|
|
<label for="email" class="form-label fw-semibold">Email <span class="text-danger">*</span></label>
|
|
<input type="email" class="form-control form-control-lg" id="email" required>
|
|
<div class="invalid-feedback">Please enter a valid email address.</div>
|
|
</div>
|
|
<div class="mb-4">
|
|
<label for="phone" class="form-label fw-semibold">Phone Number <small class="text-muted">(optional)</small></label>
|
|
<input type="tel" class="form-control form-control-lg" id="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}">
|
|
<small class="text-muted">Format: XXX-XXX-XXXX</small>
|
|
<div class="invalid-feedback">Please use format: XXX-XXX-XXXX</div>
|
|
</div>
|
|
<div class="mb-4">
|
|
<label for="notes" class="form-label fw-semibold">Notes <small class="text-muted">(optional)</small></label>
|
|
<textarea class="form-control" id="notes" rows="3" placeholder="Add any additional information..."></textarea>
|
|
</div>
|
|
<input type="hidden" id="selectedTime">
|
|
<input type="hidden" id="selectedDate">
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer border-top-0 px-4">
|
|
<button type="button" class="btn btn-light btn-lg px-4" data-bs-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary btn-lg px-4" id="submitBooking">Confirm</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bootstrap JS and Popper.js -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js"></script>
|
|
<script src="/public.js"></script>
|
|
</body>
|
|
</html> |