David Ashby
fa22a8b91d
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
import { load } from "cheerio";
|
|
import { readFile, writeFile } from "fs";
|
|
import stores from "./stores.json" assert { type: "json" };
|
|
|
|
function TableViewTemplate(rows) {
|
|
let table = "<table>";
|
|
rows.forEach((row, key) => {
|
|
row.rowNumber = key;
|
|
table = table + TableRowTemplate(row);
|
|
});
|
|
return table + "</table>";
|
|
}
|
|
|
|
function TableRowTemplate({ rowNumber, name, address, city }) {
|
|
return `
|
|
<tr id="${rowNumber}" class="spotRow">
|
|
<td class="name">${name}</td>
|
|
<td>${address}, ${city}</td>
|
|
</tr>`;
|
|
}
|
|
|
|
readFile("./index.html", function (err, data) {
|
|
if (err) {
|
|
throw err;
|
|
}
|
|
const $ = load(data);
|
|
|
|
stores.sort(function (a, b) {
|
|
var aname = a.name.toLowerCase();
|
|
var bname = b.name.toLowerCase();
|
|
return aname === bname ? 0 : +(aname > bname) || -1;
|
|
});
|
|
|
|
$("#Stores").html(TableViewTemplate(stores));
|
|
$("#storeCount").html(stores.length);
|
|
$("#updatedOn").html(
|
|
new Date().toLocaleDateString("en-US", {
|
|
year: "numeric",
|
|
month: "long",
|
|
day: "numeric",
|
|
})
|
|
);
|
|
const cssurl = $("link[type='text/css']").attr("href").split("?")[0];
|
|
$("link[type='text/css']").attr("href", cssurl + "?" + new Date().getTime());
|
|
writeFile("./index.html", $.html(), (err) => {
|
|
if (err) throw err;
|
|
console.log("Default view updated.");
|
|
});
|
|
});
|