initial commit
[urlittler] / src / template / info-html.js
1 'use strict';
2
3 const toDateString = (ts) => ts ? new Date(ts * 1000).toISOString() : 'never';
4
5 module.exports = (ctx, details, pageTitle) => {
6 const created = toDateString(details.created);
7 const lastAccess = toDateString(details.lastAccess);
8 const expires = details.expires ? toDateString(details.expires) : '';
9
10 return `<!DOCTYPE html>
11 <html lang="en">
12 <head>
13 <meta charset="utf-8">
14 <title>${pageTitle} - ${details.id} Details</title>
15 <link rel="stylesheet" href="../../static/theme.css">
16 </head>
17 <body>
18 <header>
19 <h1>Link Details</h1>
20 </header>
21 <main>
22 <div class="identifier">id: <span><a href="/${details.id}">${details.id}</a></span></div>
23 <div class="url">url: <span>${details.url}</span></div>
24 <div class="created">created: <time datetime="${created}">${created}</time></div>
25 <div class="accesses">accesses: <span>${details.accesses}</span></div>
26 <div class="lastaccess">last access: <time datetime="${lastAccess}">${lastAccess}</time></div>` +
27 (!details.expires ? '' : `
28 <div class="expires">expires: <time datetime="${expires}">${expires}</time></div>`) + `
29 </main>
30 </body>
31 </html>`;
32 };