thibaud frere commited on
Commit
9b76585
·
1 Parent(s): 78ea91c
Files changed (1) hide show
  1. app/src/content/embeds/banner.html +17 -0
app/src/content/embeds/banner.html CHANGED
@@ -102,6 +102,21 @@
102
  tip.style.display = 'block';
103
  }
104
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  const applyContainerLayout = () => {
106
  if (!container || !container.style) return;
107
  container.style.flexDirection = isMobileLayout() ? 'column' : 'row';
@@ -380,6 +395,7 @@
380
  // Ensure tooltip layout reflects current viewport
381
  applyTooltipLayout();
382
  applyContainerLayout();
 
383
  };
384
 
385
  if (window.ResizeObserver) {
@@ -405,6 +421,7 @@
405
  render();
406
  applyTooltipLayout();
407
  applyContainerLayout();
 
408
  });
409
  };
410
 
 
102
  tip.style.display = 'block';
103
  }
104
  };
105
+ const installMobileDismissHandler = () => {
106
+ if (!window.__bannerMobileDismissInstalled) {
107
+ window.__bannerMobileDismissInstalled = true;
108
+ document.addEventListener('click', (ev) => {
109
+ if (!isMobileLayout()) return;
110
+ const target = ev.target;
111
+ const isCircle = target && target.tagName && target.tagName.toLowerCase && target.tagName.toLowerCase() === 'circle' && container.contains(target);
112
+ const inTooltip = tip && tip.contains(target);
113
+ if (tipVisible && !isCircle && !inTooltip) {
114
+ tipVisible = false;
115
+ applyTooltipLayout();
116
+ }
117
+ }, { passive: true });
118
+ }
119
+ };
120
  const applyContainerLayout = () => {
121
  if (!container || !container.style) return;
122
  container.style.flexDirection = isMobileLayout() ? 'column' : 'row';
 
395
  // Ensure tooltip layout reflects current viewport
396
  applyTooltipLayout();
397
  applyContainerLayout();
398
+ installMobileDismissHandler();
399
  };
400
 
401
  if (window.ResizeObserver) {
 
421
  render();
422
  applyTooltipLayout();
423
  applyContainerLayout();
424
+ installMobileDismissHandler();
425
  });
426
  };
427