Fix mobile nav/TOC/overflow on article pages + harden membership form

Mobile fixes (article, guide, get-to-know, projects pages):
- Remove duplicate main.js include site-wide. footer.js emitted a
  <script src=main.js> inside the footer block while pages also load one
  before </body>, so DOMContentLoaded ran twice and every tap toggled the
  mobile menu / article TOC twice (net no-op). Menu and TOC only worked on
  the homepage. Now exactly one main.js per page, before </body>.
- Kill horizontal overflow: add overflow-x: clip to html/body (clips the
  off-canvas mobile nav panel without breaking position: sticky, unlike
  overflow-x: hidden).
- Reset align-items to stretch in the mobile .article-layout-container
  rule; the desktop flex-start made .article-container size to max-content
  width in a column flexbox and overflow the viewport.

Membership form hardening (Become a Member):
- Honeypot field + localStorage cooldown (30s gap, max 3/24h) + stronger
  email regex; trilingual cooldown alert message.
- Apps Script (setup doc): per-email auto-reply dedupe + daily send cap;
  applicant reply is a plain thank-you that never echoes submitted answers.
- Draft HTML welcome email (email-welcome-preview.html) for later use.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-01 10:59:55 +02:00
1 parent 7bc249e8a4
commit efb3c6ea39
196 files changed
+83 -203

No files matched your search

+3 -2
View File
@@ -347,8 +347,9 @@
<p>Nekaj prijaznih vprašanj. Ni ti treba zdaj odločiti, kako aktiven želiš biti.</p>
</div>
<form class="ms-form" novalidate>
<div class="ms-hp" aria-hidden="true"><label>Do not fill this in<input type="text" name="company" tabindex="-1" autocomplete="off"></label></div>
<div class="ms-progress" data-step="Korak" data-of="od" hidden><div class="ms-progress-track"><div class="ms-progress-bar"></div></div><span class="ms-progress-text"></span></div>
<div class="ms-alert" hidden>Izpolni obvezna polja.</div>
<div class="ms-alert" hidden data-required-msg="Izpolni obvezna polja." data-cooldown-msg="Videti je, da si pravkar poslal prošnjo. Počakaj trenutek, preden pošlješ novo.">Izpolni obvezna polja.</div>
<div class="ms-step" data-step="path" data-flow="both">
<h3>Kako se želiš povezati z MSOS?</h3>
@@ -565,10 +566,10 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
<script src="../../member-form.js"></script>
<script src="../../main.js"></script>
</body>
</html>
+1 -1
View File
@@ -346,10 +346,10 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
<script src="../../blog-filter.js"></script>
<script src="../../main.js"></script>
</body>
</html>
-1
View File
@@ -281,7 +281,6 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
+1 -1
View File
@@ -499,9 +499,9 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
<script src="../../main.js"></script>
</body>
</html>
@@ -358,7 +358,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -364,7 +364,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
-1
View File
@@ -333,7 +333,6 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -364,7 +364,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -356,7 +356,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -346,7 +346,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -343,7 +343,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -348,7 +348,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
-1
View File
@@ -333,7 +333,6 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -344,7 +344,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -338,7 +338,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -365,7 +365,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -350,7 +350,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -321,7 +321,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
+1 -1
View File
@@ -510,9 +510,9 @@
</div>
</div>
</div>
<script src="../main.js"></script>
</footer>
<!-- END_FOOTER -->
<script src="../main.js"></script>
</body>
</html>
+1 -1
View File
@@ -411,10 +411,10 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
<script src="../../news-filter.js"></script>
<script src="../../main.js"></script>
</body>
</html>
-1
View File
@@ -326,7 +326,6 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -314,7 +314,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -263,7 +263,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -273,7 +273,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
+1 -1
View File
@@ -382,11 +382,11 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
<!-- Povezava do glavne JS datoteke -->
<script src="../../main.js"></script>
</body>
</html>
@@ -300,7 +300,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -360,7 +360,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -315,7 +315,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -286,7 +286,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -297,7 +297,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -285,7 +285,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -324,7 +324,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -321,7 +321,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -322,7 +322,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -319,7 +319,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -337,7 +337,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -349,7 +349,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -340,7 +340,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -365,7 +365,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -314,7 +314,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -332,7 +332,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -375,7 +375,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
-1
View File
@@ -480,7 +480,6 @@
</div>
</div>
</div>
<script src="../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -326,7 +326,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -398,7 +398,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -226,7 +226,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -353,7 +353,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -370,7 +370,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -315,7 +315,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -324,7 +324,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -364,7 +364,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -364,7 +364,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -334,7 +334,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -322,7 +322,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -359,7 +359,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -376,7 +376,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -343,7 +343,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -317,7 +317,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -349,7 +349,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -319,7 +319,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -346,7 +346,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -313,7 +313,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->
@@ -384,7 +384,6 @@
</div>
</div>
</div>
<script src="../../../main.js"></script>
</footer>
<!-- END_FOOTER -->