// desidium-dubbing.jsx — dedicated case page for a video-dubbing engagement, // served at /dubbing/ (see functions.php + DUBBING in content.js). Exported to window. const { useEffect: useEffectDub } = React; function DubbingPage({ item, lang, motion, onBack, goContact }) { useEffectDub(() => { window.scrollTo(0, 0); }, [item && item.id]); const d = I18N.dubbing; if (!item) return null; const themeBase = (window.desidiumWp && window.desidiumWp.themeUri) || ""; const tool = item.tool || null; return (
{item.heroImage && (
)}
{L(d.kicker, lang)}

{L(item.title, lang)}

{L(item.lede, lang)}

{item.steps && item.steps.length > 0 && (
{L(d.process, lang)}
    {item.steps.map((s, i) => (
    {L(s.k, lang)}

    {L(s.v, lang)}

    ))}
)} {tool && (
{L(d.loop, lang)} {tool.bodyBefore && tool.bodyBefore.length > 0 && ( {tool.bodyBefore.map((p, i) =>

{L(p, lang)}

)}
)} {tool.image && ( {L(tool.alt, {tool.caption &&
{L(tool.caption, lang)}
}
)} {tool.bodyAfter && tool.bodyAfter.length > 0 && ( {tool.bodyAfter.map((p, i) =>

{L(p, lang)}

)}
)}
)}
{L(d.approach, lang)}
{(item.body || []).map((p, i) => (

{L(p, lang)}

))}
{L(d.facts, lang)}
{(item.facts || []).map((f, i) => (
{L(f.k, lang)}
{L(f.v, lang)}
))}

{L(d.cta, lang)}

); } Object.assign(window, { DubbingPage });