Initial content

This commit is contained in:
Adam Freeman
2024-05-29 18:54:49 +01:00
parent 2dbc1a8088
commit 5215a1d919
1944 changed files with 203378 additions and 0 deletions
@@ -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,27 @@
<form method="post" action="/checkout">
<div class="container">
<div class="row flex-row align-items-center">
<div class="col-7">{{> order_details_customer }}</div>
<div class="col">
<div class="d-flex justify-content-center">
<a class="btn btn-primary" href="/checkout/google">
<i class="bi bi-google"></i>
Use Google Account
</a>
</div>
</div>
</div>
<div class="row">
{{> order_details_address }}
</div>
<div class="row">
<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>
</div>
</div>
</form>
@@ -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>
@@ -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 }}