Save worktree changes

This commit is contained in:
2026-07-25 02:29:19 +01:00
parent 8d3b7d557b
commit db9d718cd8
170 changed files with 11719 additions and 3414 deletions
+33
View File
@@ -0,0 +1,33 @@
const { renderView } = require('../../../view');
module.exports = function renderSlideFormPage(data, mode, slide, message, currentUser) {
const templateRegions = data.templateRegions || [];
const rssFeeds = data.rssFeeds || [];
const apiSources = data.apiSources || [];
const templates = (data.templates || []).map((template) => ({
...template,
canvas_size_width: template.canvas_size_width,
canvas_size_height: template.canvas_size_height,
regions: templateRegions.filter((region) => Number(region.template_id) === Number(template.id))
}));
return renderView('slides/form', {
title: mode === 'edit' ? 'Edit slide' : 'Create slide',
active: 'slides',
message: message,
isEdit: mode === 'edit',
saveLabel: 'Save',
action: mode === 'edit' ? `/slides/${slide.id}` : '/slides',
slide: slide || { title: '', template_id: null, content: {} },
templates: templates,
stylesheets: ['js/vendor/ckeditor5/ckeditor5.css'],
slideEditorData: {
templates: templates,
rssFeeds: rssFeeds,
apiSources: apiSources,
existingTemplateId: slide && slide.template_id ? slide.template_id : null,
existingContent: slide && slide.content ? slide.content : {}
},
currentUser: currentUser || null
});
};
+12
View File
@@ -0,0 +1,12 @@
const { renderView } = require('../../../view');
module.exports = function renderSlidesPage(data, message, currentUser) {
return renderView('slides/list', {
title: 'Slides',
active: 'slides',
message: message,
currentUser: currentUser || null,
slides: data.slides || []
});
};
+16
View File
@@ -0,0 +1,16 @@
module.exports = function registerSlidesRoutes(app, deps) {
const pages = deps.pages;
const common = deps.common;
const pool = deps.pool;
const requirePermission = deps.requirePermission;
app.get('/slides', requirePermission('slides.read'), async function (req, res, next) {
try {
const data = await common.fetchAdminData(pool);
res.send(pages.renderSlidesPage(data, req.query.message ? String(req.query.message) : '', req.currentUser));
} catch (error) {
next(error);
}
});
};