import { AeroElement } from "./AeroElement.js"; import { WebPage } from "./WebPage.js"; import { LoadHandler } from "./aero.js"; import { createSpinner } from "./boot.js"; /* Turn this: { _type: "aero-slide-prime", theme: "dark", title: `The power of tomorrow`, subtitle: "Hi There", paragraph: `this is a very long text indeed that spread on multiple lines`, background : { _type : "pic", source : "assets/truc0002.jpg" } }, into this:

Say Hello to OCTOFAN

The world's first H2-powered multirole heavy duty drone with switchable nacelles

*/ export const LOW_RESOLUTION_TAG = "-low"; export const HIGH_RESOLUTION_TAG = "-high"; export class AeroMovie extends AeroElement { /** @type {HTMLElement } */ sectionNode; type; props; /** @type{boolean} */ hasBackgroundImage = false; /** @type{boolean} */ isBackgroundImageLoaded = false; /** @type{string} */ backgroundImagePath; /** @type{boolean} */ hasAssetImage = false; /** @type{boolean} */ isAssetImageLoaded = false; /** @type{string} */ assetImagePath; /** @type {HTMLDivElement} */ assetNode; constructor(type, props) { super(); this.type = type; this.props = props; } initializeNodes(handler, state) { this.sectionNode = document.createElement("section"); this.sectionNode.classList.add("aero-movie"); this.sectionNode.setAttribute("loaded", "false"); const spinnerNode = createSpinner(); this.sectionNode.appendChild(spinnerNode); /* */ return this.sectionNode; } render() { if (!this.isInitialized) { this.draw(); this.isInitialized = true; } } draw() { } run() { this.videoNode.play(); } generateNextSourceNode() { if (this.sequenceIndex >= this.sequences.length) { this.sequenceIndex = 0; } } }