diff --git a/frontend/index.html b/frontend/index.html index 45184e07..29f2d32a 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,6 +4,11 @@ XSLT Playground +
diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 14a0ba8d..773f29e6 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -58,6 +58,8 @@ function debounce(fn, delay) { } const goPro = import.meta.env.VITE_GO_PRO === "true"; +const adsenseClient = import.meta.env.VITE_ADSENSE_CLIENT; +const adsenseSlot = import.meta.env.VITE_ADSENSE_SLOT; function defaultTab() { return { @@ -256,6 +258,14 @@ export default function App() { URL.revokeObjectURL(url); }; + useEffect(() => { + if (adsenseClient && adsenseSlot && window.adsbygoogle) { + try { + window.adsbygoogle.push({}); + } catch {} + } + }, []); + return (
@@ -445,7 +455,30 @@ export default function App() { options={{ readOnly: true, minimap: { enabled: false }, automaticLayout: true }} />
-
Anuncio
+
+ {adsenseClient && adsenseSlot ? ( + + ) : ( + "Anuncio" + )} +
+
+ © 2025 Alexandre Vazquez. All rights reserved.{' '} + + alexandre-vazquez.com + +
); } diff --git a/frontend/src/style.css b/frontend/src/style.css index 2bb49ee6..9c91fd28 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -95,10 +95,15 @@ body, text-align: center; padding: 0.5rem; background: #f0f0f0; - position: fixed; - bottom: 0; - left: 0; - right: 0; + border-top: 1px solid #ddd; +} + +.footer { + text-align: center; + padding: 0.5rem; + background: #fafafa; + border-top: 1px solid #ddd; + font-size: 0.85rem; } .icon-button {