feat(F-128): completed feature
This commit is contained in:
@@ -27,11 +27,26 @@ const EMPTY_FORM = { slug: '', title: '', body: '' };
|
||||
|
||||
// Plantillas de páginas principales de la tienda. Cada una se corresponde con
|
||||
// una ruta pública que renderiza el contenido CMS si existe (y está publicada).
|
||||
// `defaultBody` es el contenido HTML inicial cuando el operador abre la plantilla
|
||||
// sin que exista aún una página CMS (F-128): evita que el editor se abra vacío
|
||||
// y permite editar/guardar desde el primer clic.
|
||||
const TEMPLATES = [
|
||||
{ slug: 'home', label: 'Home', route: '/', icon: '🏠', defaultTitle: 'Bienvenido a Mercado de Vida', hint: 'Sección de bienvenida destacada en la página de inicio.' },
|
||||
{ slug: 'products', label: 'Productos', route: '/products', icon: '🛒', defaultTitle: 'Nuestros productos', hint: 'Texto introductorio del listado de productos.' },
|
||||
{ slug: 'categories', label: 'Categorías', route: '/categories', icon: '🗂️', defaultTitle: 'Nuestras categorías', hint: 'Texto introductorio del listado de categorías.' },
|
||||
{ slug: 'brands', label: 'Marcas', route: '/brands', icon: '🏷️', defaultTitle: 'Nuestras marcas', hint: 'Texto introductorio del listado de marcas.' },
|
||||
{ slug: 'home', label: 'Home', route: '/', icon: '🏠',
|
||||
defaultTitle: 'Bienvenido a Mercado de Vida',
|
||||
hint: 'Sección de bienvenida destacada en la página de inicio.',
|
||||
defaultBody: '<h2>Bienvenido a Mercado de Vida</h2><p>Productos naturales, ecológicos y de comercio justo. Envío a toda la península en 24-48h.</p>' },
|
||||
{ slug: 'products', label: 'Productos', route: '/products', icon: '🛒',
|
||||
defaultTitle: 'Nuestros productos',
|
||||
hint: 'Texto introductorio del listado de productos.',
|
||||
defaultBody: '<p>Descubre nuestra selección de productos naturales y ecológicos. Filtra por categoría, marca o atributo (vegano, sin gluten, bio...).</p>' },
|
||||
{ slug: 'categories', label: 'Categorías', route: '/categories', icon: '🗂️',
|
||||
defaultTitle: 'Nuestras categorías',
|
||||
hint: 'Texto introductorio del listado de categorías.',
|
||||
defaultBody: '<p>Explora todas nuestras categorías: alimentación, cosmética, limpieza del hogar y más.</p>' },
|
||||
{ slug: 'brands', label: 'Marcas', route: '/brands', icon: '🏷️',
|
||||
defaultTitle: 'Nuestras marcas',
|
||||
hint: 'Texto introductorio del listado de marcas.',
|
||||
defaultBody: '<p>Trabajamos con marcas comprometidas con la producción ecológica y el comercio justo.</p>' },
|
||||
];
|
||||
|
||||
export default function CmsPage() {
|
||||
@@ -58,7 +73,7 @@ export default function CmsPage() {
|
||||
const existing = items.find(p => p.slug === tpl.slug);
|
||||
if (existing) { openEdit(existing); return; }
|
||||
setEditing(null);
|
||||
setForm({ slug: tpl.slug, title: tpl.defaultTitle, body: '' });
|
||||
setForm({ slug: tpl.slug, title: tpl.defaultTitle, body: tpl.defaultBody });
|
||||
setShowForm(true);
|
||||
};
|
||||
const openEdit = (p: Page) => { setEditing(p); setForm({ slug: p.slug, title: p.title, body: p.body }); setShowForm(true); };
|
||||
|
||||
Reference in New Issue
Block a user