Widget del Workshop Kit

Entregado

live-preview-frame

Un iframe sandboxed que renderiza una vista previa en miniatura del sitio del operador tal como está ahora mismo. La base del riel de obra persistente del Método Muntin — cada lección del bootcamp aloja uno.

Contrato

Ruta del módulo: /tools/_shared/workshop/live-preview-frame.js.

Exports:

export const tag         = 'live-preview-frame';
export const contextKeys = ['palette', 'onePromise', 'customerParagraph'];

export function mount(rootEl, state, deps) -> { unmount(), refresh(state) };
export function serialize() -> {};

Claves de contexto consumidas: palette, onePromise, customerParagraph, y (vía MuntinContext.readRestaurantProfile()) el name, cuisine, address, phone del operador.

Este widget es un visor — consume contexto pero nunca le escribe. Otros widgets (palette-picker, voice-slider, persona-card-builder) son los productores.

Colocarlo en una página

Agrega una sola sección en cualquier parte de una página de lección; el motor del Workshop Kit cargado al pie de la página maneja descubrimiento y montaje.

<section class="course-widget"
         data-widget="live-preview-frame"
         data-preview-page="home">
</section>
<script src="/tools/_shared/context-bus.js" defer></script>
<script src="/assets/js/workshop-widget.js" defer></script>

Opcional data-preview-page: home (predeterminado), menu, about, contact. Las páginas no-home renderizan un placeholder hasta que la plantilla de página correspondiente llegue en P6.

Cómo se comporta