Various additions
parent
4f0ae0098d
commit
d0bffca00a
|
@ -40,7 +40,9 @@ $('#placeBid').click(function () {
|
||||||
|
|
||||||
var update = function update() {
|
var update = function update() {
|
||||||
var success = function success(data) {
|
var success = function success(data) {
|
||||||
$('#highest').text('$' + (data.bid.highest || data.bid.starting));
|
if (data.bid) {
|
||||||
|
$('#highest').text('$' + (data.bid.highest || data.bid.starting));
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var error = function error(xhr) {
|
var error = function error(xhr) {
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.images {
|
.images {
|
||||||
margin: -1em;
|
margin: -1rem;
|
||||||
}
|
}
|
||||||
.image {
|
.image {
|
||||||
margin: 1em;
|
margin: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
|
|
|
@ -1,10 +1,26 @@
|
||||||
.items {
|
.items {
|
||||||
margin: -1em;
|
margin: -1rem;
|
||||||
}
|
}
|
||||||
.item {
|
.item {
|
||||||
margin: 1em;
|
margin: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.item:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding-top: calc(10 / 16 * 100%);
|
||||||
|
}
|
||||||
|
.item a {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
.items {
|
.items {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -12,6 +28,10 @@
|
||||||
}
|
}
|
||||||
.item {
|
.item {
|
||||||
flex: 1 0 auto;
|
flex: 1 0 auto;
|
||||||
width: calc(50% - 4em);
|
width: calc(50% - 4rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.item:after {
|
||||||
|
padding-top: calc(4 / 3 * 100%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,42 @@
|
||||||
main {
|
body {
|
||||||
padding-top: 6vw;
|
font-family: "Fira Sans",
|
||||||
|
-apple-system,
|
||||||
|
BlinkMacSystemFont,
|
||||||
|
"Segoe UI",
|
||||||
|
"Roboto",
|
||||||
|
"Helvetica Neue", Arial, sans-serif;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-brand {
|
||||||
|
/* font-weight: 600; */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main,
|
||||||
|
main.container-fluid {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
main,
|
||||||
|
main.container-fluid {
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.navbar-brand {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,11 @@ routes.use(bodyparser.urlencoded({
|
||||||
const logic = new Logic();
|
const logic = new Logic();
|
||||||
const config = logic.getConfig();
|
const config = logic.getConfig();
|
||||||
|
|
||||||
|
routes.get('/*', (req, res, next) => {
|
||||||
|
res.set('Cache-Control', 'no-cache, no-store');
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
routes.get('/', (req, res, next) => {
|
routes.get('/', (req, res, next) => {
|
||||||
logic.getIndex().then((content) => {
|
logic.getIndex().then((content) => {
|
||||||
res.render('index', {
|
res.render('index', {
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
<main class="container-fluid">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col-sm-10 offset-sm-1 col-md-8 offset-md-2 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4">
|
||||||
<div class="col-sm-10 offset-sm-1 col-md-8 offset-md-2 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4">
|
{{{content}}}
|
||||||
{{{content}}}
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<a href="/items/" class="btn btn-primary">Go to auction</a>
|
<a href="/items/" class="btn btn-primary">Browse items for auction</a>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</div>
|
||||||
|
|
|
@ -1,55 +1,51 @@
|
||||||
{{#if item}}
|
{{#if item}}
|
||||||
{{#with item}}
|
{{#with item}}
|
||||||
<main class="container-fluid">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col-sm-10 offset-sm-1 col-md-8 offset-md-2 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4">
|
||||||
<div class="col-sm-10 offset-sm-1 col-md-8 offset-md-2 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4">
|
<div class="alert alert-success" role="alert" id="success" style="display: none;"></div>
|
||||||
<div class="alert alert-success" role="alert" id="success" style="display: none;"></div>
|
<div class="alert alert-danger" role="alert" id="error" style="display: none;"></div>
|
||||||
<div class="alert alert-danger" role="alert" id="error" style="display: none;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col-xs-12 col-sm-8 offset-sm-2 col-md-6 offset-md-0 col-lg-4 offset-lg-2 mb-1">
|
<div class="row">
|
||||||
<div class="images">
|
<div class="col-xs-12 col-sm-8 offset-sm-2 col-md-6 offset-md-0 col-lg-4 offset-lg-2 mb-1">
|
||||||
{{#each images}}
|
<div class="images">
|
||||||
<div class="image">
|
{{#each images}}
|
||||||
<a href="https://{{@root.config.imgix}}/{{src}}?w=2048">
|
<div class="image">
|
||||||
<img class="crop-wide img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{src}}?w=480&h=640&fit=crop&crop=edges" />
|
<a href="https://{{@root.config.imgix}}/{{src}}?w=2048">
|
||||||
<img class="crop-narrow img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{src}}?w=768&h=480&fit=crop&crop=edges" />
|
<img class="crop-wide img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{src}}?w=480&h=640&fit=crop&crop=edges" />
|
||||||
</a>
|
<img class="crop-narrow img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{src}}?w=768&h=480&fit=crop&crop=edges" />
|
||||||
</div>
|
</a>
|
||||||
{{/each}}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{/each}}
|
||||||
<div class="col-xs-12 col-sm-8 offset-sm-2 col-md-6 offset-md-0 col-lg-4 offset-lg-0">
|
|
||||||
<h6 class="text-muted">Description</h6>
|
|
||||||
<p>{{description}}</p>
|
|
||||||
<h6 class="text-muted">{{#if bid.highest}}Highest{{else}}Starting{{/if}} bid</h6>
|
|
||||||
<h1 class="display-4" id="highest">${{#if bid.highest}}{{bid.highest}}{{else}}{{bid.starting}}{{/if}}</h1>
|
|
||||||
<form action="#" method="get">
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="input-group">
|
|
||||||
<span class="input-group-addon">$</span>
|
|
||||||
<input class="form-control" type="number" id="amount" min="1" max="10000" placeholder="Amount" value="{{bid.next}}" />
|
|
||||||
<span class="input-group-btn">
|
|
||||||
<input class="btn btn-primary" type="button" value="Place bid" data-toggle="modal" data-target="#bidModal" />
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
<div class="col-xs-12 col-sm-8 offset-sm-2 col-md-6 offset-md-0 col-lg-4 offset-lg-0">
|
||||||
|
<h6 class="text-muted">Description</h6>
|
||||||
|
<p>{{description}}</p>
|
||||||
|
<h6 class="text-muted">{{#if bid.highest}}Highest{{else}}Starting{{/if}} bid</h6>
|
||||||
|
<span class="h1 display-4" id="highest">${{#if bid.highest}}{{bid.highest}}{{else}}{{bid.starting}}{{/if}}</span>
|
||||||
|
<form action="#" method="get">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-group">
|
||||||
|
<span class="input-group-addon">$</span>
|
||||||
|
<input class="form-control" type="number" id="amount" min="1" max="10000" placeholder="Amount" value="{{bid.next}}" />
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<input class="btn btn-primary" type="button" value="Place bid" data-toggle="modal" data-target="#bidModal" />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{{/with}}
|
{{/with}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<main class="container-fluid">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col-sm-8 offset-sm-2 col-md-6 offset-md-3 col-lg-4 offset-lg-4">
|
||||||
<div class="col-sm-8 offset-sm-2 col-md-6 offset-md-3 col-lg-4 offset-lg-4">
|
<div class="alert alert-danger">
|
||||||
<div class="alert alert-danger">
|
<strong>Error! </strong>Item not found.
|
||||||
<strong>Error! </strong>Item not found.
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,7 +56,7 @@
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Place bid</h4>
|
<h6 class="modal-title">Place bid</h6>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
<main class="container-fluid">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col-sm-8 offset-sm-2 col-md-12 offset-md-0 col-lg-8 offset-lg-2">
|
||||||
<div class="col-sm-8 offset-sm-2 col-md-12 offset-md-0 col-lg-8 offset-lg-2">
|
<div class="items">
|
||||||
<div class="items">
|
{{#each items}}
|
||||||
{{#each items}}
|
<div class="item">
|
||||||
<div class="item">
|
<a href="/items/{{id}}">
|
||||||
<a href="/items/{{id}}">
|
<img class="crop-wide img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{images.0.src}}?w=480&h=640&fit=crop&crop=edges" />
|
||||||
<img class="crop-wide img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{images.0.src}}?w=480&h=640&fit=crop&crop=edges" />
|
<img class="crop-narrow img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{images.0.src}}?w=768&h=480&fit=crop&crop=edges" />
|
||||||
<img class="crop-narrow img-fluid rounded" ix-src="https://{{@root.config.imgix}}/{{images.0.src}}?w=768&h=480&fit=crop&crop=edges" />
|
</a>
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{{/each}}
|
|
||||||
</div>
|
</div>
|
||||||
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</div>
|
||||||
|
|
|
@ -4,13 +4,28 @@
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<title>{{#if title}}{{title}}{{else}}{{@root.config.title}}{{/if}}</title>
|
<title>{{#if title}}{{title}}{{else}}{{@root.config.title}}{{/if}}</title>
|
||||||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Fira+Sans:300,400,500,700" />
|
||||||
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css" />
|
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css" />
|
||||||
<link rel="stylesheet" href="/assets/main.css" />
|
<link rel="stylesheet" href="/assets/main.css" />
|
||||||
<link rel="stylesheet" href="/assets/items.css" />
|
<link rel="stylesheet" href="/assets/items.css" />
|
||||||
<link rel="stylesheet" href="/assets/item.css" />
|
<link rel="stylesheet" href="/assets/item.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{{{body}}}
|
<main class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12 offset-sm-0 col-md-12 offset-md-0 col-lg-8 offset-lg-2">
|
||||||
|
<nav class="navbar navbar-light">
|
||||||
|
<a class="navbar-brand" href="/">{{@root.config.title}}</a>
|
||||||
|
<div class="nav navbar-nav">
|
||||||
|
<a class="nav-item nav-link" href="/">About</a>
|
||||||
|
<a class="nav-item nav-link" href="/items/">Browse</a>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{{body}}}
|
||||||
|
</main>
|
||||||
<script src="/jquery/jquery.min.js"></script>
|
<script src="/jquery/jquery.min.js"></script>
|
||||||
<script src="/bootstrap/js/bootstrap.min.js"></script>
|
<script src="/bootstrap/js/bootstrap.min.js"></script>
|
||||||
<script src="/imgix.js/imgix.min.js"></script>
|
<script src="/imgix.js/imgix.min.js"></script>
|
||||||
|
|
Loading…
Reference in New Issue