27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
const { renderView } = require('../../view');
|
|
|
|
module.exports = function renderSlideFormPage(data, mode, slide, message, currentUser) {
|
|
const templateRegions = data.templateRegions || [];
|
|
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',
|
|
action: mode === 'edit' ? `/admin/slides/${slide.id}` : '/admin/slides',
|
|
slide: slide || { title: '', template_id: null, content: {} },
|
|
templates: templates,
|
|
slideEditorData: {
|
|
templates: templates,
|
|
existingTemplateId: slide && slide.template_id ? slide.template_id : null,
|
|
existingContent: slide && slide.content ? slide.content : {}
|
|
},
|
|
currentUser: currentUser || null
|
|
});
|
|
};
|