[e9b70f6] | 1 | <!DOCTYPE html>
|
---|
| 2 | <html lang="en">
|
---|
| 3 | <head>
|
---|
| 4 | <meta charset="UTF-8">
|
---|
| 5 | <title>Admin Page - Remove product</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 |
|
---|
| 26 | <style>
|
---|
| 27 | @import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700');
|
---|
| 28 |
|
---|
| 29 | * {
|
---|
| 30 | -webkit-box-sizing: border-box;
|
---|
| 31 | box-sizing: border-box;
|
---|
| 32 | margin: 0;
|
---|
| 33 | padding: 0;
|
---|
| 34 | }
|
---|
| 35 |
|
---|
| 36 |
|
---|
| 37 | body {
|
---|
| 38 | font-family: 'Roboto', sans-serif;
|
---|
| 39 | }
|
---|
| 40 |
|
---|
| 41 | a {
|
---|
| 42 | text-decoration: none;
|
---|
| 43 | }
|
---|
| 44 |
|
---|
| 45 | .product-card {
|
---|
| 46 | width: 380px;
|
---|
| 47 | position: relative;
|
---|
| 48 | box-shadow: 0 2px 7px #dfdfdf;
|
---|
| 49 | margin: 50px auto;
|
---|
| 50 | background: #fafafa;
|
---|
| 51 | }
|
---|
| 52 |
|
---|
| 53 | .badge {
|
---|
| 54 | position: absolute;
|
---|
| 55 | left: 0;
|
---|
| 56 | top: 20px;
|
---|
| 57 | text-transform: uppercase;
|
---|
| 58 | font-size: 13px;
|
---|
| 59 | font-weight: 700;
|
---|
| 60 | background: red;
|
---|
| 61 | color: #fff;
|
---|
| 62 | padding: 3px 10px;
|
---|
| 63 | }
|
---|
| 64 |
|
---|
| 65 | .product-tumb {
|
---|
| 66 | display: flex;
|
---|
| 67 | align-items: center;
|
---|
| 68 | justify-content: center;
|
---|
| 69 | height: 300px;
|
---|
| 70 | padding: 50px;
|
---|
| 71 | background: #f0f0f0;
|
---|
| 72 | }
|
---|
| 73 |
|
---|
| 74 | .product-tumb img {
|
---|
| 75 | width: 300px;
|
---|
| 76 | height: 100%;
|
---|
| 77 | object-fit: contain;
|
---|
| 78 | background: #f0f0f0;
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 | .product-details {
|
---|
| 82 | padding: 30px;
|
---|
| 83 | }
|
---|
| 84 |
|
---|
| 85 | .product-catagory {
|
---|
| 86 | display: block;
|
---|
| 87 | font-size: 12px;
|
---|
| 88 | font-weight: 700;
|
---|
| 89 | text-transform: uppercase;
|
---|
| 90 | color: #ccc;
|
---|
| 91 | margin-bottom: 18px;
|
---|
| 92 | }
|
---|
| 93 |
|
---|
| 94 | .product-details h4 a {
|
---|
| 95 | font-weight: 500;
|
---|
| 96 | display: block;
|
---|
| 97 | margin-bottom: 18px;
|
---|
| 98 | text-transform: uppercase;
|
---|
| 99 | color: #363636;
|
---|
| 100 | text-decoration: none;
|
---|
| 101 | transition: 0.3s;
|
---|
| 102 | }
|
---|
| 103 |
|
---|
| 104 | .product-details h4 a:hover {
|
---|
| 105 | color: #fbb72c;
|
---|
| 106 | }
|
---|
| 107 |
|
---|
| 108 | .product-details p {
|
---|
| 109 | font-size: 15px;
|
---|
| 110 | line-height: 22px;
|
---|
| 111 | margin-bottom: 18px;
|
---|
| 112 | color: #999;
|
---|
| 113 | }
|
---|
| 114 |
|
---|
| 115 | .product-bottom-details {
|
---|
| 116 | overflow: hidden;
|
---|
| 117 | border-top: 1px solid #eee;
|
---|
| 118 | padding-top: 20px;
|
---|
| 119 | }
|
---|
| 120 |
|
---|
| 121 | .product-bottom-details div {
|
---|
| 122 | float: left;
|
---|
| 123 | width: 50%;
|
---|
| 124 | }
|
---|
| 125 |
|
---|
| 126 | .product-price {
|
---|
| 127 | font-size: 18px;
|
---|
| 128 | color: #fbb72c;
|
---|
| 129 | font-weight: 600;
|
---|
| 130 | }
|
---|
| 131 |
|
---|
| 132 | .product-price small {
|
---|
| 133 | font-size: 80%;
|
---|
| 134 | font-weight: 400;
|
---|
| 135 | text-decoration: line-through;
|
---|
| 136 | display: inline-block;
|
---|
| 137 | margin-right: 5px;
|
---|
| 138 | }
|
---|
| 139 |
|
---|
| 140 | .product-links {
|
---|
| 141 | text-align: right;
|
---|
| 142 | }
|
---|
| 143 |
|
---|
| 144 | .product-links a {
|
---|
| 145 | display: inline-block;
|
---|
| 146 | margin-left: 5px;
|
---|
| 147 | color: #e1e1e1;
|
---|
| 148 | transition: 0.3s;
|
---|
| 149 | font-size: 17px;
|
---|
| 150 | }
|
---|
| 151 |
|
---|
| 152 | .product-links a:hover {
|
---|
| 153 | color: #fbb72c;
|
---|
| 154 | }
|
---|
| 155 |
|
---|
| 156 | .grid-container {
|
---|
| 157 | display: grid;
|
---|
| 158 | grid-template-columns: auto auto auto;
|
---|
| 159 | padding: 10px;
|
---|
| 160 | }
|
---|
| 161 |
|
---|
| 162 | #cart {
|
---|
| 163 | position: fixed;
|
---|
| 164 | right: 10px;
|
---|
| 165 | bottom: 10px;
|
---|
| 166 | }
|
---|
| 167 |
|
---|
| 168 | </style>
|
---|
| 169 |
|
---|
| 170 | </head>
|
---|
| 171 | <body>
|
---|
| 172 | <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
---|
| 173 | <a class="navbar-brand" href="#">Salon Bella</a>
|
---|
| 174 | <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
---|
| 175 | <span class="navbar-toggler-icon"></span>
|
---|
| 176 | </button>
|
---|
| 177 |
|
---|
| 178 | <div class="collapse navbar-collapse" id="navbarSupportedContent">
|
---|
| 179 | <ul class="navbar-nav mr-auto">
|
---|
| 180 | <li class="nav-item ">
|
---|
| 181 | <a class="nav-link" href="/adminDashboard">Home <span class="sr-only">(current)</span></a>
|
---|
| 182 | </li>
|
---|
| 183 |
|
---|
| 184 | <li class="nav-item dropdown">
|
---|
| 185 | <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
---|
| 186 | Functions - Reservations
|
---|
| 187 | </a>
|
---|
| 188 | <div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
---|
| 189 | <a class="dropdown-item" href="/admin-scheduled-reservations">Scheduled Reservations</a>
|
---|
| 190 | <a class="dropdown-item" href="/admin-schedule-reservation">Schedule reservation</a>
|
---|
| 191 | <div class="dropdown-divider"></div>
|
---|
| 192 | <a class="dropdown-item" href="/admin-get-blocked-reservations">Blocked reservations</a>
|
---|
| 193 | <a class="dropdown-item" href="/admin-block-reservation">Block reservation</a>
|
---|
| 194 | </div>
|
---|
| 195 | </li>
|
---|
| 196 |
|
---|
| 197 | <li class="nav-item dropdown">
|
---|
| 198 | <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
---|
| 199 | Functions - Orders
|
---|
| 200 | </a>
|
---|
| 201 | <div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
---|
| 202 | <a class="dropdown-item" href="/admin-get-orders">Ordered Products</a>
|
---|
| 203 | <a class="dropdown-item" href="/admin-add-product">Add product</a>
|
---|
| 204 | <a class="dropdown-item" href="/admin-remove-product">Remove product</a>
|
---|
| 205 | </div>
|
---|
| 206 | </li>
|
---|
| 207 |
|
---|
| 208 | </ul>
|
---|
| 209 | <form class="form-inline my-2 my-lg-0" method="get" action="/logout">
|
---|
| 210 | <button class="btn btn-outline-info my-2 my-sm-0" type="submit">Log out</button>
|
---|
| 211 | </form>
|
---|
| 212 | </div>
|
---|
| 213 | </nav>
|
---|
| 214 | <br>
|
---|
| 215 |
|
---|
| 216 | <div class="grid-container">
|
---|
| 217 | <#if products??>
|
---|
| 218 | <#list products as product>
|
---|
| 219 | <div class="container d-flex justify-content-center mt-50 mb-50">
|
---|
| 220 | <div class="product-card">
|
---|
| 221 | <div class="badge">Hot</div>
|
---|
| 222 | <div class="product-tumb">
|
---|
| 223 | <img src="data:image/jpeg;base64,${product['base64']}" alt=""/>
|
---|
| 224 | </div>
|
---|
| 225 | <div class="product-details">
|
---|
| 226 | <span class="product-catagory">${product['category']}</span>
|
---|
| 227 | <h4><a href="">${product['name']}</a></h4>
|
---|
| 228 | <p>${product['description']}</p>
|
---|
| 229 | <div class="product-bottom-details">
|
---|
| 230 | <div class="product-price">${product['price']} ден.</div>
|
---|
| 231 | <div class="product-links">
|
---|
| 232 | </div>
|
---|
| 233 | </div>
|
---|
| 234 | <br>
|
---|
| 235 | <form method="post" action="/admin-remove-product">
|
---|
| 236 | <input type="text" value="${product['id']}" name="id" hidden />
|
---|
| 237 | <button class="btn btn-outline-info my-2 my-sm-0" type="submit">Remove Product</button>
|
---|
| 238 | </form>
|
---|
| 239 |
|
---|
| 240 | </div>
|
---|
| 241 | </div>
|
---|
| 242 | </div>
|
---|
| 243 | </#list>
|
---|
| 244 | </#if>
|
---|
| 245 | </div>
|
---|
| 246 |
|
---|
| 247 |
|
---|
| 248 | <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
---|
| 249 | <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
---|
| 250 | <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
---|
| 251 | <script
|
---|
| 252 | type="text/javascript"
|
---|
| 253 | src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/5.0.0/mdb.min.js"
|
---|
| 254 | ></script>
|
---|
| 255 | </body>
|
---|
| 256 | </html> |
---|