From 7f871ca46f40892cb681a30fb67297b83fa8bac4 Mon Sep 17 00:00:00 2001 From: archicratia Date: Sat, 31 Jan 2026 16:33:13 +0000 Subject: [PATCH] =?UTF-8?q?Fix=20gitea=20env=20+=20proposer=20modal=20+=20?= =?UTF-8?q?favicon/nginx=20=E2=80=94=202026-01-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 ++-- .gitignore | 4 ++++ Dockerfile | 4 +++- nginx.conf | 12 ++++++++++++ public/about.txt | 6 ++++++ public/android-chrome-192x192.png | Bin 0 -> 8398 bytes public/android-chrome-512x512.png | Bin 0 -> 24242 bytes public/apple-touch-icon.png | Bin 0 -> 7499 bytes public/favicon-16x16.png | Bin 0 -> 558 bytes public/favicon-32x32.png | Bin 0 -> 1135 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/site.webmanifest | 1 + src/components/ProposeModal.astro | 17 ++++------------- src/layouts/EditionLayout.astro | 20 +++++--------------- 14 files changed, 37 insertions(+), 31 deletions(-) create mode 100755 public/about.txt create mode 100755 public/android-chrome-192x192.png create mode 100755 public/android-chrome-512x512.png create mode 100755 public/apple-touch-icon.png create mode 100755 public/favicon-16x16.png create mode 100755 public/favicon-32x32.png create mode 100755 public/favicon.ico create mode 100755 public/site.webmanifest diff --git a/.env b/.env index e0b336d..5a0f453 100644 --- a/.env +++ b/.env @@ -1,3 +1,3 @@ PUBLIC_GITEA_BASE=https://gitea.archicratie.trans-hands.synology.me -PUBLIC_GITEA_OWNER=archicratia -PUBLIC_GITEA_REPO=archicratie-web +PUBLIC_GITEA_OWNER=Archicratia +PUBLIC_GITEA_REPO=archicratie-edition diff --git a/.gitignore b/.gitignore index 4d59341..926b6d0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,7 @@ dist/ /_release_out/ .DS_Store ._* + +# local backups +Dockerfile.bak.* +public/favicon_io.zip diff --git a/Dockerfile b/Dockerfile index 2c47e20..54e94d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ ENV npm_config_update_notifier=false \ npm_config_progress=false # (Optionnel mais propre) git + certificats -RUN --network=host apt-get -o Acquire::Retries=5 -o Acquire::ForceIPv4=true update \ +RUN apt-get -o Acquire::Retries=5 -o Acquire::ForceIPv4=true update \ && apt-get install -y --no-install-recommends ca-certificates git \ && rm -rf /var/lib/apt/lists/* @@ -36,4 +36,6 @@ RUN npm run build FROM nginx:1.27-alpine AS runtime COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist/ /usr/share/nginx/html/ +RUN find /usr/share/nginx/html -type d -exec chmod 755 {} \; \ + && find /usr/share/nginx/html -type f -exec chmod 644 {} \; EXPOSE 80 diff --git a/nginx.conf b/nginx.conf index e1e2df1..d857cd7 100644 --- a/nginx.conf +++ b/nginx.conf @@ -9,6 +9,18 @@ server { add_header X-Frame-Options SAMEORIGIN always; add_header Referrer-Policy strict-origin-when-cross-origin always; + location = /favicon.ico { + try_files /favicon.ico =404; + access_log off; + log_not_found off; + } + + location = /favicon.svg { + try_files /favicon.svg =404; + access_log off; + log_not_found off; + } + # Assets statiques (cache long) location ~* \.(?:css|js|mjs|json|png|jpg|jpeg|gif|svg|webp|ico|woff2?|ttf|eot|wasm)$ { try_files $uri =404; diff --git a/public/about.txt b/public/about.txt new file mode 100755 index 0000000..f90ec40 --- /dev/null +++ b/public/about.txt @@ -0,0 +1,6 @@ +This favicon was generated using the following font: + +- Font Title: Leckerli One +- Font Author: undefined +- Font Source: https://fonts.gstatic.com/s/leckerlione/v21/V8mCoQH8VCsNttEnxnGQ-1itLZxcBtItFw.ttf +- Font License: undefined) diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100755 index 0000000000000000000000000000000000000000..c3fec1b11bb1c8e1e169e697d1608bbf6d745ca9 GIT binary patch literal 8398 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 literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100755 index 0000000000000000000000000000000000000000..e6244019e2a973f881e5ebb15de955f4a3bed677 GIT binary patch literal 24242 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 J*I44?{|6p`JnH}e literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..cc62da339e930cd16b855f10d4d4a3a51c5c48bb GIT binary patch literal 7499 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 literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100755 index 0000000000000000000000000000000000000000..ac4cc48254e4a156771ce3f83f0fdda909807ae7 GIT binary patch literal 1135 zcmV-#1d#iQP)5>YWij0R93fbVTM*y@0-xV59Mu5)c^*R}rV7B7~&+hz}#e{$0FKmYmu?>zqR zp2I~ETSwBHLvk3~-0K$G9d|id;Z@U?YD3VTWTm({$r(u5Jb*N1p zqC|n-EOazfBlH(5ENL4v0bTA7$X>Jo@|2(?`k*5Z?R9S_JYr)apq}v?a+f>{nQ|!U z61Q)z#o!sMWZb9;DAfHZT)7NNorebvdW>-HFN4offRwA;Fh5uWrN%2H?Ed;uxb`oa zI0BZ3UWVTK9S`X5$%g&CS_}uYLW1eVTai)xk?{ZA(fe?A_lk)jps_R~_wi@IkyuAU zQ_#Ap9wARg9Qd?(dttV{DfoI1+3?4n@`)jkSH21wb1M(#{B{9)zFH~*HqLK^>COhh z@A#qu?jxn+C!jGOM_&0;JWw>k;do6WhP>$_;F*uSh^d7~1%F%JCORLp$4|iW@CN9w zKg0u_cbm|)>uDk)qb4UUmC>HCUk>@@t07PI^Ks#T3N2N;C`MY45>!DH+F3tCKX)H= zIls~g?~|N`R7YRae01(ulW^RK1e8=xmW9>OT4MV>R_kb}f|p5h0vnM)Ud5BpWS!*q zdT8JpC^Y?$DK3hR^T0xW`DOAjIAw_Xf{>^Apr3P4NHz5LRJ6RhJ?ZygL;|UXPDFa>OJBO&#m@`C zerGmLzO`AjsG0Y^3q#STu_~bt{0Y*C^Su@!E=AuX(hSy_l)&`j4@ud!2|!-^jp+Db zqliGks-;jFJ9&S=HG>Fj5n`?_+6iOPCun(Pr)XSK0+-gcr}=iA+5SQtkZg(%bJv%W zLdNbko+gUf5sNY0_AyL%Z$Ypx1Ff}NM^B(|^)>L8%@P2D*=x!14LYI3RV_3FKE?^szHA z9MI4WX^@W_IAz7}@7M5Rb*UxY0&8U{6lpOaX3l+O==tWcI2^gk3+vhiR59#+8*g6w z4LIFciAYc->SKs BArt@r literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..8e9167edb0b84177d2bef130928905a3713179f1 GIT binary patch literal 15406 zcmeHO32;@_8NP^Ci`t?V>((}Ih}u!wDxS>D5KD>Z(Ey4V>d4Jo7p&SL4k-V+TGat*365 zy{Codbol6pJ>&oN^LdK44wyUV+ILK)j2yN`Zp~UNH;mt?>hd}+_lz@X|NMv3rRq2N zs(**cn`HV8Wiqqd3Yp!tRIYnyv-G-eLtJ}M+`3rN`)0FQ5qzYBbiH|MXbvV`clp3^ z(-jS)2d@(DAKS;E%<(&#=S5(;$C=;HUAR!%faalhR7h_3GHE*{v@Uy33*LVd#*-}< zODF6d@$#8CpggYmn=rVh&tH%y|2}K3&sgsrFvka%)z}HC++QnGNT8B@CIipac*vjp ze&R?Y&^aE@K0MzA&r9=%RNlm)Z~>>roeI2E#_D;e0wa~NwYBDcG}gv``{9nSei!a1 z`2_jjSB<^=)jY41E!%OYcVi6syV;g(IV;Q`$!91lK7hQl!OFWnBp)J6S;am6F@ zZHjbs4a+?Zx3JAJ5B|@ZOjmM1_c7n()d!EA<{4v~gRQRngpiEVFlTpN;ekaNr`y#V zGLiCL*Nyt~YWXHCFKjr1>IUDrE&_+}av}TN{r5mO(YW}&Z_p}rR%P#KM(d<>B0YBtZy64InpOH+ULS-}%WbIfDC6-K+hBAsvD6spr}B&7J4P(z&ohiIq+pK6l;iw?3}sLOq2#s)?U8 z6trC?g>8yuNxKr654~^(bg{{OS4QWLK0U^5jOa*i_|<)X1U+^Hbi~Md0$wuZ?O|QH zI()Wvt}*wXx;1%OGWe%tKAQ9%xM{k-Uvzy3j#@AO%$P5)fbUQ~>^XCe>^*&syaqkI z^Q5R=*coT#>!X5Yh8vIHH}UB;;JM%)+4{Qq1!=VPOQvqb@X)y=9ZTAI96PKMQl3VUh=1PU;f2BWlL)u zL2vF^GV`o%4DG#+lcRUdMne|(sEt=w2Rq(&-uL0RhwN83e(DYTPKsaV#EaA2kNO?g zVsZNtWta2)>_v-`=KXH?HUC|gHh{JT)1#{=zE;`}tuy>#8#reiXn()<>~Doj;r8)so54%mmO&ow~W!*f<=sUe*k*Iw1vyBhCVu1gsmFOBK# zN4@dDans}@#Cg)?%d5@%_W|rf#++y?P!FbGQpZf*a< zk4cX$8xMZ^PfVSfHt(c<c{#t#n!_;VRY)i!#BX2TxVb+p}z z;KQ=TENy$5Xk8!Bsd1U_-k8_NC*->LbCh>Hh4`%5KT^iJD|<8Se_(w(_yyNoS&*`i z-8MJB^TU1l&x!u@Kk@5W|A(fZykLE+0vU&xG3nOz^jDEL*l0+lE*p1M<1pX!1CuxT z!6q$ce_by9W0ATy^mWtssq6V3bk{mz48jj)GWFzpCJtThftWdc!+tQ|hs|$0|Bqi8 z>j$G>jQ&CPWgft@7ccUK>4z(*o^ftXv-xH`S%mLbj_Mo{ZL;ol6Nl)uh<~_5Z)m;0O%eVuKzaIKQ^6_N9`4ML2 zL&wYLOl$o*!x--uX^Sex0pO$%H51zUty|T(SNAgd` z|0pMihjZsl`YEIC9e`(Q*`mkuPE|K|6HcmS;#z{(lz9)XgKRFowpfk?#K>vuWLo0?%!{Z^e+1`G zIp@v?;-2h0cY!ZIVVcie-`#bV-6mkHmpYS4 zyQV+gHdj1zp}&B+$ILr6Y3hP}ugX^WD(1?VJb5d1HRd{-{d9Q%Uu+v-!u_&YjWRm&so#`_@-WZ%t~uo@a^owe*^z zn4Ee|uleo`p8t2`+0}=&cdrxY!5o~tjwR5QDwO>;5NC_>V$4meWHt0y>Ur*Q_3`^i z;~e-HXQ=Nh%ez&Qdfi3l$#-O!izQ&a94J`K| x%&WNe%sI(!(D@ri4oWwiBb=qFxDWO5PDk$QR;)X6PO_Vj_V0h+uRtm*@IRg3Gjsp| literal 0 HcmV?d00001 diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100755 index 0000000..45dc8a2 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/components/ProposeModal.astro b/src/components/ProposeModal.astro index 3a3d2c9..0bbbef0 100644 --- a/src/components/ProposeModal.astro +++ b/src/components/ProposeModal.astro @@ -160,15 +160,8 @@ } }; - // ✅ Ouvre EN NOUVEL ONGLET sans jamais remplacer l’onglet courant + // ✅ Ouvre EN NOUVEL ONGLET : stratégie unique (anchor click) => jamais 2 onglets const openInNewTab = (url) => { - // 1) tente window.open - try { - const w = window.open(url, "_blank", "noopener,noreferrer"); - if (w) return true; - } catch {} - - // 2) fallback "anchor click" (souvent mieux toléré) try { const a = document.createElement("a"); a.href = url; @@ -181,7 +174,7 @@ return true; } catch {} - // 3) dernier recours: on ne quitte PAS la page + // dernier recours window.prompt("Popup bloquée. Copiez ce lien pour ouvrir le ticket :", url); return false; }; @@ -200,7 +193,7 @@ if (!a) return; e.preventDefault(); - e.stopPropagation(); + e.stopImmediatePropagation(); const rawUrl = a.dataset.url || a.getAttribute("href") || ""; if (!rawUrl || rawUrl === "#") return; @@ -210,10 +203,8 @@ try { const u = new URL(rawUrl); - // Option B.1 : copie presse-papier du texte complet (si dispo) if (full) { try { await navigator.clipboard.writeText(full); } catch {} - // Option B.2 : upgrade du body (si l'URL reste raisonnable) tryUpgradeBodyWithFull(u, full); } @@ -221,7 +212,7 @@ } catch { openInNewTab(rawUrl); } - }); + }, { capture: true }); // Step 1: type dlg.addEventListener("click", (e) => { diff --git a/src/layouts/EditionLayout.astro b/src/layouts/EditionLayout.astro index 7d97cb8..4001165 100644 --- a/src/layouts/EditionLayout.astro +++ b/src/layouts/EditionLayout.astro @@ -497,27 +497,17 @@ const GITEA_REPO = import.meta.env.PUBLIC_GITEA_REPO ?? ""; const excerpt = raw.length > 420 ? (raw.slice(0, 420) + "…") : raw; const issueUrl = buildIssueURL(p.id, raw, excerpt); + + // Lien fallback (si JS casse totalement) propose.href = issueUrl; - // 🔥 indispensables pour réactiver ProposeModal (les 2 filtres) + // ✅ Marqueurs pour ProposeModal (interception 2 étapes) propose.dataset.propose = "1"; propose.dataset.url = issueUrl; - - // optionnel mais top : permet à ProposeModal de copier le texte complet propose.dataset.full = raw; - // ✅ CRUCIAL : permet à ProposeModal d’intercepter le clic (2 étapes) - propose.setAttribute("data-propose", "1"); - propose.setAttribute("data-url", issueUrl); - - // ✅ Bonus : ProposeModal peut copier/upgrade avec le texte complet si dispo - // (tu peux commenter si tu veux éviter de stocker le texte en attribut) - propose.setAttribute("data-full", raw); - - // ✅ Fallback si JS casse : on ouvre quand même le lien (idéalement en nouvel onglet) - propose.href = issueUrl; - propose.target = "_blank"; - propose.rel = "noopener noreferrer"; + // ❌ PAS de target=_blank ici + // ❌ PAS de rel noopener ici row.appendChild(propose); } -- 2.49.1