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"
+ )}
+
+
);
}
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 {