Initial content
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
<h2>Your cart</h2>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-end">Quantity</th><th>Item</th>
|
||||
<th class="text-end">Price</th><th class="text-end">Subtotal</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#unless cart.lines}}
|
||||
<tr><td colspan="5" class="text-center">Cart is empty</td></tr>
|
||||
{{/unless}}
|
||||
{{#each cart.lines}}
|
||||
{{> cart_line returnUrl=../returnUrl }}
|
||||
{{/each }}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="3" class="text-end">Total:</td>
|
||||
<td class="text-end">{{ currency cart.total }}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<div class="text-center">
|
||||
<a class="btn btn-primary" href="{{ returnUrl }}">Continue Shopping</a>
|
||||
{{#if cart.lines}}
|
||||
<a class="btn btn-primary" href="/checkout{{returnUrl}}">Checkout</a>
|
||||
{{else}}
|
||||
<button class="btn btn-primary" disabled>Checkout</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<tr>
|
||||
<td class="text-end">{{ quantity }} </td>
|
||||
<td class="text-left">{{ product.name }}</td>
|
||||
<td class="text-end">{{ currency product.price }}</td>
|
||||
<td class="text-end">{{ currency subtotal }}</td>
|
||||
<td class="text-center">
|
||||
<form method="post" action="/cart/remove">
|
||||
<input type="hidden" name="id" value="{{ product.id }}">
|
||||
<input type="hidden" name="returnUrl" value="{{ returnUrl }}">
|
||||
<button type="submit" class="btn btn-sm btn-danger">
|
||||
Remove
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -0,0 +1,10 @@
|
||||
{{#if cart.lines}}
|
||||
<small class="navbar-text">{{ countCartItems cart }} item(s)</small>
|
||||
{{else}}
|
||||
<small class="navbar-text">(Empty)</small>
|
||||
{{/if}}
|
||||
|
||||
<a class="btn btn-sm btn-secondary navbar-btn"
|
||||
href="/cart?returnUrl={{ escapeUrl ( navigationUrl ) }}">
|
||||
<i class="bi-cart"></i>
|
||||
</a>
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="d-grid gap-2 py-2">
|
||||
<a class="btn btn-outline-secondary"
|
||||
href="{{navigationUrl category="" page=1 searchTerm="" }}">
|
||||
Home
|
||||
</a>
|
||||
{{#categoryButtons }}
|
||||
{{#if selected }}
|
||||
<a class="btn btn-secondary">{{ name }}</a>
|
||||
{{else }}
|
||||
<a class="btn btn-outline-secondary"
|
||||
href="{{navigationUrl category=id page=1}}">
|
||||
{{ name }}
|
||||
</a>
|
||||
{{/if }}
|
||||
{{/categoryButtons }}
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div class="h2 bg-danger text-white text-center p-2 my-2">
|
||||
500 - Error
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a class="btn btn-secondary" href="/">OK</a>
|
||||
</div>
|
||||
|
||||
{{#if (isDevelopment) }}
|
||||
<div class="h4 bg-danger text-white p-1 mt-2">Error Details</div>
|
||||
<div class="h5 p-1">Message: {{ error.message }}</div>
|
||||
<div class="font-monospace p-1">{{error.stack}}</div>
|
||||
{{/if }}
|
||||
@@ -0,0 +1,15 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
{{> category_controls }}
|
||||
</div>
|
||||
<div class="col">
|
||||
{{> search_controls }}
|
||||
{{#unless products}}<h4>No products</h4>{{/unless}}
|
||||
{{#each products }}
|
||||
{{> product this }}
|
||||
{{/each}}
|
||||
{{> page_controls }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="/font/bootstrap-icons.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div class="bg-dark text-white py-2 px-1">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col align-baseline pt-1">SPORTS STORE</div>
|
||||
<div class="col-auto text-end">
|
||||
{{#if show_cart}}
|
||||
{{> cart_summary }}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{{ body }}}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<div class="h2 bg-danger text-white text-center p-2 my-2">
|
||||
404 - Not Found
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a class="btn btn-secondary" href="/">OK</a>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div class="text-center m-2">
|
||||
<h2>Thanks!</h2>
|
||||
<p>Thanks for placing order #{{ id }}</p>
|
||||
<p>We'll ship your goods as soon as possible.</p>
|
||||
<a class="btn btn-primary" href="/?page=1&pageSize={{pageSize}}">
|
||||
Return to Store
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,11 @@
|
||||
<form method="post" action="/checkout">
|
||||
|
||||
{{> order_details_customer }}
|
||||
{{> order_details_address }}
|
||||
|
||||
<div class="m-2">
|
||||
<button type="submit" class="btn btn-primary">Place Order</button>
|
||||
<a href="/cart?returnUrl={{ escapeUrl (navigationUrl )}}"
|
||||
class="btn btn-primary">Back</a>
|
||||
</div>
|
||||
</form>
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
<div class="m-2">
|
||||
<h3>Ship to:</h3>
|
||||
{{#each (toArray "Street" "City" "State" "Zip") }}
|
||||
{{#with (getValue ../order.address this) }}
|
||||
<div class="form-group">
|
||||
<label>{{ ../this }}:</label>
|
||||
<input name="address[{{lower ../this}}]" class="form-control"
|
||||
value="{{value}}">
|
||||
</div>
|
||||
{{#unless valid}}
|
||||
{{> validation_messages messages }}
|
||||
{{/unless}}
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
</div>
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<div class="m-2">
|
||||
<h3>Your details:</h3>
|
||||
<div class="form-group">
|
||||
<label>Name:</label>
|
||||
{{#with (get order.customer.name) }}
|
||||
<input name="customer[name]" class="form-control"
|
||||
value="{{ value }}">
|
||||
{{#if invalid}}
|
||||
{{> validation_messages messages }}
|
||||
{{/if }}
|
||||
{{/with }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Email:</label>
|
||||
{{#with (get order.customer.email)}}
|
||||
<input name="customer[email]" class="form-control"
|
||||
value="{{ value }}">
|
||||
{{#if invalid }}
|
||||
{{> validation_messages messages }}
|
||||
{{/if }}
|
||||
{{/with}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,31 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{{#pageButtons }}
|
||||
{{#if selected}}
|
||||
<button class="btn btn-sm btn-light active mr-1 p-2">
|
||||
{{index}}
|
||||
</button>
|
||||
{{else}}
|
||||
<a class="btn btn-sm btn-light mr-1 p-2"
|
||||
href="{{navigationUrl page=index }}">{{index}}</a>
|
||||
{{/if}}
|
||||
{{/pageButtons}}
|
||||
</div>
|
||||
<div class="col-auto text-end">
|
||||
<form id="pageSizeForm" method="get">
|
||||
<select class="form-select" name="pageSize">
|
||||
{{#pageSizeOptions }}
|
||||
<option value="{{size}}" {{selected}}>
|
||||
{{size}} per page
|
||||
</option>
|
||||
{{/pageSizeOptions }}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-light mr-2" type="submit"
|
||||
form="pageSizeForm">Go</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="card card-outline-primary m-1 p-1">
|
||||
<div class="bg-faded p-1">
|
||||
<h4>
|
||||
{{ highlight name }}
|
||||
<span class="badge rounded-pill bg-primary text-white"
|
||||
style="float:right">
|
||||
<small>{{ currency price }}</small>
|
||||
</span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="card-text p-1">
|
||||
<span class="float-start">{{ highlight description }}</span>
|
||||
<form method="post" action="/cart">
|
||||
<input type="hidden" name="returnUrl" value="{{navigationUrl}}">
|
||||
<input type="hidden" name="productId" value="{{id}}">
|
||||
<button type="submit" class="btn btn-sm btn-success float-end">
|
||||
Add To Cart
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<form class="row row-cols my-2" method="get">
|
||||
<div class="col">
|
||||
<input type="hidden" name="pageSize" value="{{pageSize}}">
|
||||
<input type="hidden" name="category" value="{{category}}">
|
||||
<input class="form-control" name="searchTerm"
|
||||
placeholder="Product Search" value="{{searchTerm}}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-small btn-secondary" type="submit">
|
||||
Search
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,3 @@
|
||||
{{#each this }}
|
||||
<div class="text-danger">{{ this }}</div>
|
||||
{{/each }}
|
||||
Reference in New Issue
Block a user