diff --git a/CHANGELOG.md b/CHANGELOG.md index d7ae303..08b435b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## v0.60 (dev) -* Converted template literals into html. -* Converted modals into html/htmx. +* Converted JS template literals into HTML. +* Converted modals into HTML/HTMX. * Moved functions into dashboard controller. * Added modal placeholder with loading spinner. * Independently updating container cards. diff --git a/Dockerfile b/Dockerfile index cbc3500..0083dab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:21-alpine +FROM node:22-alpine ENV NODE_ENV=production WORKDIR /app COPY . /app diff --git a/controllers/apps.js b/controllers/apps.js index c6e938f..f29b917 100644 --- a/controllers/apps.js +++ b/controllers/apps.js @@ -6,28 +6,22 @@ const upload = multer({storage: multer.diskStorage({ filename: function (req, file, cb) { cb(null, file.originalname) }, })}); - -// load the default template then sort the templates by name -let templatesJSON = readFileSync('./templates/templates.json'); - -let templates = JSON.parse(templatesJSON).templates; - -templates = templates.sort((a, b) => { - if (a.name < b.name) { return -1; } -}); - let alert = ''; - - export const Apps = (req, res) => { let page = Number(req.params.page) || 1; - let custom_template = req.params.template; + let template_param = req.params.template || 'default'; + + let template_file = readFileSync(`./templates/json/${template_param}.json`); + + let templates = JSON.parse(template_file).templates; + + templates = templates.sort((a, b) => { + if (a.name < b.name) { return -1; } + }); + - if (custom_template) { - console.log(custom_template); - } let list_start = (page-1)*28; let list_end = (page*28); @@ -62,8 +56,7 @@ export const Apps = (req, res) => { appCard = appCard.replace(/AppCategories/g, categories); apps_list += appCard; } - // let templatesJSON = readFileSync('./templates/templates.json'); - // let templates = JSON.parse(templatesJSON).templates; + res.render("apps", { name: req.session.user, @@ -86,6 +79,17 @@ export const Apps = (req, res) => { export const appSearch = async (req, res) => { let page = Number(req.params.page) || 1; + + let template_param = req.params.template || 'default'; + + let template_file = readFileSync(`./templates/json/${template_param}.json`); + + let templates = JSON.parse(template_file).templates; + + templates = templates.sort((a, b) => { + if (a.name < b.name) { return -1; } + }); + let list_start = (page-1)*28; let list_end = (page*28); let last_page = Math.ceil(templates.length/28); diff --git a/templates/templates.json b/templates/json/default.json similarity index 100% rename from templates/templates.json rename to templates/json/default.json diff --git a/templates/foss.json b/templates/json/foss.json similarity index 100% rename from templates/foss.json rename to templates/json/foss.json diff --git a/templates/templates-bak.json b/templates/json/templates-bak.json similarity index 100% rename from templates/templates-bak.json rename to templates/json/templates-bak.json