PageSourceSearch

https://www.cavecoste.com/blog/wp-content/themes/cavecoste/js/cc-blog-stock-toast.js?ver=81

js cavecoste.com collected 2026-10-10 01:35:43 UTC 1,979 bytes, 39 lines download raw bytes

1/* Cave Coste — amorce du toast panier persistant (#7) sur le blog WordPress.
2 *
3 * Le blog (/blog/, WordPress) n'émet pas le toast #7 : ni le tick stock ni
4 * l'émetteur legacy (inc/templates/v4/stock-toast.inc.php) n'y tournent. On
5 * interroge l'état ACK-AWARE du site principal (action stock_toast_state) et,
6 * s'il y a un manque NON acquitté, on émet via window.ccToast — le helper
7 * (scripts/cc-toast.js) et son CSS (css/v4/site.css) sont déjà chargés par le
8 * thème. Session partagée : le blog est un CHEMIN /blog/ du même hôte, donc le
9 * cookie de session PHP (path=/) part avec le fetch same-origin.
10 *
11 * Portée : chargement initial de la page UNIQUEMENT. La navigation interne du
12 * blog est en PJAX (carnet-nav.js), mais le blog ne peut pas muter le panier
13 * (aucune action d'achat) → l'état ack-aware ne change pas pendant une session
14 * blog, rien à ré-évaluer. Un toast déjà affiché survit d'ailleurs au PJAX
15 * (#cc-toast-stack vit sur <body>, hors du conteneur remplacé).
16 *
17 * Le bouton « J'ai compris » est câblé par cc-toast.js : il POST ack_stock_toast
18 * vers /ajax_panier.php (même hôte) → acquittement cross-app, aucun code ici.
19 * Silencieux sur erreur réseau : ce toast n'est qu'un rappel, le blocage tunnel
20 * (inc/commande.inc.php) reste l'autorité côté paiement. */
21(function () {
22  if (!window.ccToast) return;
23  fetch('/ajax_panier.php', {
24    method: 'POST',
25    credentials: 'same-origin',
26    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
27    body: new URLSearchParams({ panier_action: 'stock_toast_state' })
28  })
29    .then(function (r) { return r.ok ? r.json() : null; })
30    .then(function (d) {
31      if (d && d.persist) {
32        window.ccToast(d.message, 'alert', {
33          persist: true,
34          ack: { label: "J'ai compris", action: 'ack_stock_toast' }
35        });
36      }
37    })
38    .catch(function () { /* silencieux : le blocage tunnel reste l'autorité */ });
39})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.