diff --git a/src/App.tsx b/src/App.tsx index f197cf9..4bcea6a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1059,36 +1059,23 @@ function HomepageNewsletterSection() { type TflWidgetType = 'audiodevo' | 'abdevotional' function TruthForLifeWidget({ type = 'audiodevo' }: { type?: TflWidgetType }) { - const containerId = `tfl-syndicate-container-${type}` - useEffect(() => { - // Remove any previous instance of this script to allow re-init on re-mount - const existingScript = document.getElementById('tfl-syn-script-' + type) - if (existingScript) existingScript.remove() + // TFL's script looks for #tfl-syndicate-container synchronously when it loads. + // The div is already in the DOM by the time this effect runs, so we just + // inject the script and it will find and populate the container. + const existing = document.getElementById('tfl-syn-script') + if (existing) existing.remove() - // Clear the container so the widget can repopulate it - const container = document.getElementById(containerId) + const container = document.getElementById('tfl-syndicate-container') if (container) container.innerHTML = '' const script = document.createElement('script') - script.id = 'tfl-syn-script-' + type + script.id = 'tfl-syn-script' script.src = `https://www.truthforlife.org/static/js/responsive/lib/syndicate.js?type=${type}&id=458890` - script.type = 'text/javascript' - // The TFL script looks for #tfl-syndicate-container by ID — temporarily - // rename our container to match, then rename back after the script fires - if (container) container.id = 'tfl-syndicate-container' + script.async = true document.body.appendChild(script) - // Restore the namespaced id after a tick so React doesn't lose track - const restore = setTimeout(() => { - const el = document.getElementById('tfl-syndicate-container') - if (el) el.id = containerId - }, 2000) - - return () => { - clearTimeout(restore) - script.remove() - } + return () => { script.remove() } }, [type]) return ( @@ -1101,7 +1088,7 @@ function TruthForLifeWidget({ type = 'audiodevo' }: { type?: TflWidgetType }) {

Teaching from Truth For Life with Alistair Begg

-
+
)