ecommerce
Version:
Easily create Ecommerce sites powered by Hanzo.
324 lines (301 loc) • 13.2 kB
HTML
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.1/css/selectize.bootstrap3.min.css">
<link rel="stylesheet" type="text/css" href="/style/main.css">
<title>shop.js single page app bootstrap example</title>
</head>
<!-- We use the loading class to hide the app until Shop.js loads. -->
<body class="loading">
<!-- Bootstrap navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">
<img alt="Droney 2.0" src="/img/drone.svg" height="40" width="40">
</a>
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<a class="navbar-brand" href="#">Droney 2.0</a>
</li>
<li>
<button class="btn btn-muted navbar-btn buy-button">Get Droney 2.0!</button>
</li>
</ul>
</div>
</nav>
<!-- end Bootstrap navbar -->
<div class="container text-center">
<!-- Big Droney logo -->
<img alt="Droney 2.0" src="/img/drone.svg" height="550" width="600" class="hide-when-co">
<!-- Side cart modal (currently shows up on left side) -->
<div class="side-cart hidden modal right" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<!-- Cart container. empty-message shows when cart is empty. -->
<cart empty-message="Add something to your cart.">
<!-- nav buttons -->
<div class="nav">
<button class="btn btn-muted back-button">
<i class="fa fa-arrow-left"></i>
Back
</button>
<button class="btn btn-muted checkout-button" __disabled="{ isEmpty() }">
<i class="fa fa-arrow-right"></i>
Checkout
</button>
</div>
<!-- end nav buttons -->
<h2 class="text-muted">Your Cart</h2>
<!-- if="{ isEmpty() }" is provided by the Cart container -->
<div class="cart-empty-message" if="{ isEmpty() }">
Add something to your cart.
</div>
<!-- Show cart contents if there are any. -->
<lineitems if="{ !isEmpty() }"></lineitems>
<!-- Display promo options and cart details (if it's not empty) -->
<div if="{ !isEmpty() }">
<hr/>
<div class="promo">
<div>
<text-control placeholder="Promo/Coupon Code" input="{ inputs['order.promoCode'] }"></text-control>
</div>
<div>
<button class="btn" onClick="{ applyPromoCode }">Apply</button>
</div>
<div class="promo-message" if="{ data.get('order.promoCode') && !promoMessage && !applying}">
Don't forget to apply your code!
</div>
<div class="promo-message" if="{ promoMessage }">
{ promoMessage }
</div>
</div>
<div if="{ data.get('order.discount') > 0}">
<div>
Discount:
</div>
<div>
{ renderCurrency(data.get('order.currency'), data.get('order.discount'))} {data.get('order.currency').toUpperCase() }
</div>
</div>
<hr>
<div class="invoice-line">
<div>
Subtotal:
</div>
<div>
{ renderCurrency(data.get('order.currency'), data.get('order.subtotal'))} { data.get('order.currency').toUpperCase() }
</div>
</div>
<div class="invoice-line">
<div>
Shipping:
</div>
<div>
{ renderCurrency(data.get('order.currency'), data.get('order.shipping')) } { data.get('order.currency').toUpperCase() }
</div>
</div>
<div class="invoice-line">
<div>
Tax ({ data.get('order.taxRate') * 100 }%);
</div>
<div>
{ renderCurrency(data.get('order.currency'), data.get('order.tax'))} { data.get('order.currency').toUpperCase() }
</div>
</div>
<hr>
<div class="invoice-line">
<div>
Total:
</div>
<div>
{ renderCurrency(data.get('order.currency'), data.get('order.total'))} { data.get('order.currency').toUpperCase() }
</div>
</div>
<!-- end details -->
<!-- Checkout -->
<div class="checkout-button">
<button class="btn btn-muted checkout-button">checkout</button>
</div>
</div>
</cart>
<!-- End cart container -->
</div>
</div>
</div>
<!-- Checkout dialog. Hidden until user presses a 'Checkout' button -->
<div class="checkout hidden">
<div class="row co">
<h1 class="text-muted text-center">
Checkout
</h1>
</div>
<div class="row">
<div class="col-lg-8">
<checkout>
<div class="contact-info info">
<div class="head">
<h2 class="text-muted">Contact Information</h2>
</div>
<div>
<user-name placeholder="Name"></user-name>
</div>
<div>
<user-email placeholder="Email"></user-email>
</div>
</div>
<div class="shipping-info info">
<!-- bootstrapify -->
<h2 class="text-muted">
Shipping Address
</h2>
<shippingaddress-line1 placeholder="Address"></shippingaddress-line1>
<shippingaddress-line2 placeholder="Suite"></shippingaddress-line2>
<shippingaddress-city placeholder="City"></shippingaddress-city>
<shippingaddress-postalcode placeholder="Postal Code"></shippingaddress-postalcode>
<shippingaddress-state placeholder="State"></shippingaddress-state>
<shippingaddress-country placeholder="Country"></shippingaddress-country>
</div>
<div class="payment-info info">
<h2 class="text-muted">
Payment Information
</h2>
<card-number name="number" placeholder="XXXX XXXX XXXX XXXX"></card-number>
<card-expiry name="expiry" placeholder="MM / YY"></card-expiry>
<card-cvc name="cvc" placeholder="CVC"></card-cvc>
<!-- credit card CO pics -->
</div>
<!-- class="card" card image -->
<!-- stripe logo -->
<div class="finish info">
<h2 class="text-muted">
Almost Done
</h2>
<div class="droney-terms">
<terms class="checkbox">
<label>I agree to Droney's
<a href="#">terms and conditions</a>.</label>
</terms>
</div>
<button class="{ btn: true, btn-primary: true, loading: loading || checkedOut }" type="submit">Confirm Preorder</button>
<button class="btn btn-warning checkout-back-button" type="button">Back</button>
<div if="{ errorMessage }">
{ errorMessage }
</div>
</div>
</checkout>
</div>
<div class="cart col-lg-4 info">
<cart>
<h2 class="text-muted">
Your Cart
</h2>
<lineitems if="{ !isEmpty() }"></lineitems>
<hr/>
<div class="promo">
<promocode placeholder="Promo/Coupon Code"></promocode>
<button class="{ btn: true, loading: applying }" onclick="{ applyPromoCode }">Apply</button>
<div class="promo-message" if="{ data.get('order.promoCode') && !promoMessage && !applying }">
Don't forget to apply your code!
</div>
<div class="promo-message" if="{ promoMessage }">
{ promoMessage }
</div>
<div if="{ data.get('order.discount') > 0}">
Discount: { renderCurrency(data.get('order.currency'), data.get('order.discount')) } { data.get('order.currency').toUpperCase() }
</div>
</div>
<hr>
<div class="total">
Subtotal: { renderCurrency(data.get('order.currency'), data.get('order.subtotal')) } { data.get('order.currency').toUpperCase() }
<div>
Shipping: { renderCurrency(data.get('order.currency'), data.get('order.shipping')) } { data.get('order.currency').toUpperCase() }
</div>
<div>
Tax ({ data.get('order.taxRate') * 100 }%): { renderCurrency(data.get('order.currency'), data.get('order.tax')) } { data.get('order.currency').toUpperCase() }
</div>
<hr/>
<div>
Total:
</div>
<div>
{ renderCurrency(data.get('order.currency'), data.get('order.total')) } { data.get('order.currency').toUpperCase() }
</div>
</div>
</cart>
</div>
</div>
</div>
<!-- Thank you message shown when checkout submit-success is triggered -->
<div class="thanks hidden alert alert-success">
<h2>Thank you!</h2>
<p>You will receive a confirmation email soon.</p>
<p>Your order number is
<strong></strong>.</p>
<div class="share-social text-center">
<a href="https://facebook.com">
<i class="fa fa-facebook"></i>
</a>
<a href="https://twitter.com">
<i class="fa fa-twitter"></i>
</a>
<a href="https://plus.google.com">
<i class="fa fa-google-plus"></i>
</a>
<a href="mailto:">
<i class="fa fa-envelope"></i>
</a>
</div>
</div>
<!-- End thank you message -->
<!-- Press Bar, hidden when checking out -->
<div class="press hide-when-co">
<div class="row">
<img src="/img/press/Forbes.png"></img>
<img src="/img/press/CESLogo.png"></img>
<img src="/img/press/PCworldLogo.png"></img>
<img src="/img/press/YahooFinanceLogo.png"></img>
<img src="/img/press/MacworldLogo.png"></img>
</div>
<div class="row">
<img src="/img/press/BWBusinessWorldLogo.png"></img>
<img src="/img/press/WSJ.png"></img>
<img src="/img/press/CNETLogo.png"></img>
<img src="/img/press/BloombergBusinessLogo.png"></img>
<img src="/img/press/TechHiveLogo.png"></img>
</div>
</div>
<!-- End press bar -->
<!-- About div, hidden when checking out -->
<div class="about hide-when-co">
<div class="well">
<blockquote>
<p>Droney 2.0 is the best drone ever!</p>
</blockquote>
<p>Drone enthusiasts agree that there is no better drone on the market.</p>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<div class="row">
<p class="text-muted text-center">Droney 2.0
<i class="fa fa-facebook"></i>
<i class="fa fa-twitter"></i>
<i class="fa fa-hacker-news"></i>
<i class="fa fa-reddit-alien"></i>
</p>
</div>
</div>
</footer>
<script src="https://code.jquery.com/jquery-1.12.3.min.js" integrity="sha256-aaODHAgvwQW1bFOGXMeX+pC4PZIPsvn2h1sArYOhgXQ=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.1/js/standalone/selectize.min.js" type="text/javascript"></script>
<script src="js/bundle.js"></script>
</body>
</html>