[0f3491d] | 1 | <!DOCTYPE html>
|
---|
| 2 | <html lang="en">
|
---|
| 3 | <head>
|
---|
| 4 | <meta charset="UTF-8">
|
---|
| 5 | <title>Schedule Reservation</title>
|
---|
| 6 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
---|
| 7 | <!-- Font Awesome -->
|
---|
| 8 | <link
|
---|
| 9 | href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"
|
---|
| 10 | rel="stylesheet"
|
---|
| 11 | />
|
---|
| 12 | <!-- Google Fonts -->
|
---|
| 13 | <link
|
---|
| 14 | href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
|
---|
| 15 | rel="stylesheet"
|
---|
| 16 | />
|
---|
| 17 | <!-- MDB -->
|
---|
| 18 | <link
|
---|
| 19 | href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/5.0.0/mdb.min.css"
|
---|
| 20 | rel="stylesheet"
|
---|
| 21 | />
|
---|
| 22 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css"
|
---|
| 23 | integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
---|
| 24 | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
---|
| 25 | <script>
|
---|
| 26 | async function sendRequest() {
|
---|
| 27 | let date = document.getElementById("date").value;
|
---|
| 28 | let type = document.getElementById("type").value;
|
---|
| 29 | console.log(date)
|
---|
| 30 | const params = {
|
---|
| 31 | "date": String(date),
|
---|
| 32 | "type": String(type)
|
---|
| 33 | };
|
---|
| 34 | const options = {
|
---|
| 35 | method: 'POST',
|
---|
| 36 | body: JSON.stringify(params)
|
---|
| 37 | };
|
---|
| 38 | fetch('http://localhost:8080/reservation', options)
|
---|
| 39 | .then(response => response.json())
|
---|
| 40 | .then(response => {
|
---|
| 41 | console.log(response)
|
---|
| 42 | });
|
---|
| 43 |
|
---|
| 44 | }
|
---|
| 45 | </script>
|
---|
| 46 | </head>
|
---|
| 47 | <body>
|
---|
| 48 | <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
---|
| 49 | <a class="navbar-brand" href="#">Salon Bella</a>
|
---|
| 50 | <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
---|
| 51 | <span class="navbar-toggler-icon"></span>
|
---|
| 52 | </button>
|
---|
| 53 |
|
---|
| 54 | <div class="collapse navbar-collapse" id="navbarSupportedContent">
|
---|
| 55 | <ul class="navbar-nav mr-auto">
|
---|
| 56 | <li class="nav-item ">
|
---|
| 57 | <a class="nav-link" href="/userDashboard">Home <span class="sr-only">(current)</span></a>
|
---|
| 58 | </li>
|
---|
| 59 |
|
---|
| 60 | <li class="nav-item dropdown">
|
---|
| 61 | <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
---|
| 62 | Functions - Reservations
|
---|
| 63 | </a>
|
---|
| 64 | <div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
---|
| 65 | <a class="dropdown-item" href="/schedule-reservation">Schedule Reservations</a>
|
---|
| 66 | <a class="dropdown-item" href="/my-reservations">My scheduled reservations</a>
|
---|
| 67 | </div>
|
---|
| 68 | </li>
|
---|
| 69 |
|
---|
| 70 | <li class="nav-item dropdown">
|
---|
| 71 | <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
---|
| 72 | Functions - Orders
|
---|
| 73 | </a>
|
---|
| 74 | <div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
---|
| 75 | <a class="dropdown-item" href="/order">Order Products</a>
|
---|
| 76 | <a class="dropdown-item" href="/my-orders">Ordered Products</a>
|
---|
| 77 | </div>
|
---|
| 78 | </li>
|
---|
| 79 |
|
---|
| 80 | </ul>
|
---|
| 81 | <form class="form-inline my-2 my-lg-0" method="get" action="/logout">
|
---|
| 82 | <button class="btn btn-outline-info my-2 my-sm-0" type="submit">Log out</button>
|
---|
| 83 | </form>
|
---|
| 84 | </div>
|
---|
| 85 | </nav>
|
---|
| 86 | <br>
|
---|
| 87 | <div class="h-100 d-flex align-items-center justify-content-center">
|
---|
| 88 | <form method="post" action="/get-free-reservations">
|
---|
| 89 | <#if date??>
|
---|
| 90 | <div class="d-flex justify-content-center">
|
---|
| 91 | <input type="date" min="" name="date" id="date" value="${date}" required/>
|
---|
| 92 | </div>
|
---|
| 93 | <#else>
|
---|
| 94 | <div class="d-flex justify-content-center">
|
---|
| 95 | <input type="date" min="" name="date" id="date" required/>
|
---|
| 96 | </div>
|
---|
| 97 | </#if>
|
---|
| 98 |
|
---|
| 99 | <br>
|
---|
| 100 | <div class="d-flex justify-content-center">
|
---|
| 101 | <select name="type" id="type" required>
|
---|
| 102 | <option value="NAILS">NAILS</option>
|
---|
| 103 | <option value="MAKEUP">MAKEUP</option>
|
---|
| 104 | <option value="WAXING">WAXING</option>
|
---|
| 105 | </select>
|
---|
| 106 | </div>
|
---|
| 107 | <br>
|
---|
| 108 | <button class="btn btn-primary" type="submit">Get Free Reservations</button>
|
---|
| 109 | </form>
|
---|
| 110 | </div>
|
---|
| 111 |
|
---|
| 112 | <br>
|
---|
| 113 | <div class="h-100 d-flex align-items-center justify-content-center">
|
---|
| 114 | <#if tip??>
|
---|
| 115 |
|
---|
| 116 | <form method="post" action="/make-reservation">
|
---|
| 117 | <div class="d-flex justify-content-center">
|
---|
| 118 | <input type="date" name="date" value="${date}" hidden/>
|
---|
| 119 | </div>
|
---|
| 120 |
|
---|
| 121 | <div class="d-flex justify-content-center">
|
---|
| 122 | <select name="type" id="type" hidden>
|
---|
| 123 | <option value="NAILS">NAILS</option>
|
---|
| 124 | <option value="MAKEUP">MAKEUP</option>
|
---|
| 125 | <option value="WAXING">WAXING</option>
|
---|
| 126 | </select>
|
---|
| 127 | </div>
|
---|
| 128 |
|
---|
| 129 | <div class="d-flex justify-content-center">
|
---|
| 130 | <#if free_reservations??>
|
---|
| 131 | <select name="time" id="time">
|
---|
| 132 | <#list free_reservations as reservation>
|
---|
| 133 | <option value="${reservation}">${reservation}</option>
|
---|
| 134 | </#list>
|
---|
| 135 | </select>
|
---|
| 136 | </#if>
|
---|
| 137 | </div>
|
---|
| 138 | <br>
|
---|
| 139 | <button class="btn btn-primary" type="submit">Reserve</button>
|
---|
| 140 | </form>
|
---|
| 141 | </#if>
|
---|
| 142 | </div>
|
---|
| 143 |
|
---|
| 144 |
|
---|
| 145 | <#if tip??>
|
---|
| 146 | <script>
|
---|
| 147 | let array = document.getElementsByTagName("option");
|
---|
| 148 | for (let i = 0; i < array.length; i++) {
|
---|
| 149 | if (array[i].value == "${tip}") {
|
---|
| 150 | array[i].setAttribute("selected", "");
|
---|
| 151 | }
|
---|
| 152 | }
|
---|
| 153 | </script>
|
---|
| 154 | </#if>
|
---|
| 155 | <script>
|
---|
| 156 | document.getElementById("date").setAttribute("min", new Date().toISOString().split('T')[0])
|
---|
| 157 | </script>
|
---|
| 158 | <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
---|
| 159 | <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
---|
| 160 | <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
---|
| 161 | <script
|
---|
| 162 | type="text/javascript"
|
---|
| 163 | src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/5.0.0/mdb.min.js"
|
---|
| 164 | ></script>
|
---|
| 165 | </body>
|
---|
| 166 | </html> |
---|