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.