Become a Member page, minimum-income update + announcement, mobile & nav/header/hero fixes #4

Merged
popovskik merged 22 commits from kristijan-dev into develop 2026-08-01 10:33:30 +00:00
Collaborator

Batch of Student Welcome Guide / site changes on kristijan-dev.

Become a Member

  • New flagship Become a Member page (trilingual) with multi-step form wired to a Google Form; email notification + applicant auto-reply via Apps Script.
  • Security hardening: honeypot + localStorage cooldown/cap, stronger email validation, server-side per-email dedupe + daily send cap. Draft HTML welcome email prepared.
  • Hero polish: full-bleed stronger gradient, equal-sized CTAs with hover/click feedback, removed confusing tag pills.

Content / news

  • Residence-permit "sufficient means" figure updated to 507,43 EUR/month (Slovenian basic minimum income from 1 April 2026, source gov.si) across guide, FAQ, budget, parent-statement sample and route builder.
  • New standalone news announcement page (trilingual) about the change, with a clickable gov.si source box and a credited hero image; shows newest-first on the homepage and News hub.
  • English EUR amounts switched to European format (comma decimal, dot thousands).

Fixes / nav / layout

  • Mobile: fixed dead hamburger menu + article TOC (duplicate main.js), and horizontal overflow on article pages.
  • Removed the redundant "Get Involved" nav dropdown (dead links duplicating the CTA buttons).
  • Header now spans full width: logo + menus flush left, buttons + language flush right.

Deploy note: goes live only on merge to develop. Please review; do not merge yet.

Batch of Student Welcome Guide / site changes on kristijan-dev. Become a Member - New flagship Become a Member page (trilingual) with multi-step form wired to a Google Form; email notification + applicant auto-reply via Apps Script. - Security hardening: honeypot + localStorage cooldown/cap, stronger email validation, server-side per-email dedupe + daily send cap. Draft HTML welcome email prepared. - Hero polish: full-bleed stronger gradient, equal-sized CTAs with hover/click feedback, removed confusing tag pills. Content / news - Residence-permit "sufficient means" figure updated to 507,43 EUR/month (Slovenian basic minimum income from 1 April 2026, source gov.si) across guide, FAQ, budget, parent-statement sample and route builder. - New standalone news announcement page (trilingual) about the change, with a clickable gov.si source box and a credited hero image; shows newest-first on the homepage and News hub. - English EUR amounts switched to European format (comma decimal, dot thousands). Fixes / nav / layout - Mobile: fixed dead hamburger menu + article TOC (duplicate main.js), and horizontal overflow on article pages. - Removed the redundant "Get Involved" nav dropdown (dead links duplicating the CTA buttons). - Header now spans full width: logo + menus flush left, buttons + language flush right. Deploy note: goes live only on merge to develop. Please review; do not merge yet.
popovskik added 22 commits 2026-08-01 10:31:39 +00:00
cc047dd867 Fix route builder: remove stray hero border line and bottom-align field labels
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
c035b64bd3 Route builder: drop reserved label height on single-column mobile layout
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fc3ac32e7e Rebuild site footer across all pages
Add legal name, real social links (FB/IG/LinkedIn/YouTube), clickable email, guide and section navigation, and 2026 copyright. All links depth-correct per page and translated per language.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
44433d4145 Footer: correct legal name spelling and unify left-column text style
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
95b2484117 Redesign language switcher with circular flag icons
Desktop dropdown and mobile modal now show circular country flags (flag-icons) with clean language names and an active-language highlight, driven by the page lang via main.js.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cc849fa6dd Vendor language flags locally and add scrolling partners marquee
Flags: replace flag-icons CDN with local SVGs (images/flags/{gb,si,mk}.svg) referenced as CSS backgrounds, so no external dependency and no per-page path issues. Partners: replace the static home-page logo row with a seamless auto-scrolling, hover-pausing marquee (CSS-only, reduced-motion aware, edge fade).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5a94c62456 Partners marquee: use real partner logos (all languages), trim logo whitespace
Add the auto-scrolling partners marquee to all three home pages (en/si/mk) with the six official partner logos (Embassy of Slovenia in Skopje, NLB, CTK, DSMP, Kampus, Povezani), trimmed to their artwork so they size consistently.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4df3651db7 Add trilingual FAQ page and wire FAQ links site-wide
New /<lang>/faq/ page (en/si/mk) with categorised accordion Q&A that link into the Student Welcome Guide, plus a contact/Viber block. Nav 'FAQs' links and 'See all FAQs' buttons across the site now point to it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
c2ed09544d Rebuild FAQ content from the scraped/brainstormed research set
Replace the ad-hoc FAQ questions with the curated P1 + strong-P2 set from research/faq-questions-and-rating.md: 33 questions across 9 sections, priority-ordered, including the MSOS third-country questions and concrete facts (free bachelor+master, B2 only for specific programmes, no entrance exam except art/architecture/sport/dental-prosthetics, 30 Sept renewal, 8-day address registration, non-EU quotas).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f8e4d765a3 Remove em/en dashes site-wide and fix FAQ hero cropped under fixed header
Replace em/en dashes with commas (or 'to' for number ranges, keeping the euro sign) across the FAQ, home, timeline and project pages; hyphens in compound words are left intact. Increase .faq-hero top padding so the eyebrow/title clear the fixed 80px header.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3dd8a81882 Fix guide landing hero cropped under fixed header
Match the FAQ fix: increase .guide-landing-hero top padding so the eyebrow and title clear the fixed 80px header.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ec794a32e6 Nav cleanup + new Blog page
Remove 'Mentorship Programme' and 'Open calls' from the menus, rename 'Announcements' to 'News and Announcements', and wire the Blog link. Add a trilingual /<lang>/blog/ page with a distinct look: featured strip, client-side topic filters, and a masonry card wall with colour-coded tags (placeholder posts for now).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ea9acc4968 Add News hub and wire homepage Latest news to a dated content index
New /<lang>/news/ hub aggregates real projects (title+image read from their pages), placeholder news announcements, and blog items, newest-first with type badges and a type filter. Homepage Latest news now shows the newest dated items as badged cards with a working See all to the hub; the News menu link points there too. Dates in news.js are placeholders to replace with real publish dates.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5b14cc2189 News hub: add working pagination that respects the type filter
Client-side paginator (9 per page) reusing the site's pagination styling; page numbers with dots for long lists, Previous/Next with disabled states, resets to page 1 on filter change and hides when a single page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
a21450c8c8 Add flagship Become a Member page with interactive multi-step form
New trilingual /<lang>/become-a-member/ conversion page: hero with real-photo collage, why-join benefits, animated MSOS-in-numbers, ways to participate, membership-in-real-life and projects showcase (real project photos), testimonials, who-can-join, an adaptive multi-step form (student + supporter flows, conditional fields, progress, personalised messages, validation, success screen), FAQ and final CTA. Site-wide 'Become a member' buttons now link here. Form posts to a Google Form once wired; metrics/testimonials are placeholders to confirm.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
af40ef9da9 Become a Member: add EUR10/year membership fee to the FAQ
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7bc249e8a4 Wire Become a Member form to the membership Google Form
Map path/name/email/phone/city/university/membership/consent columns plus a full Summary field; city and membership are derived from the student or supporter answers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
efb3c6ea39 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>
ac09e9eff5 Update proof-of-means to 507,43 EUR, add announcement page, European number format (EN)
- Update the residence-permit "sufficient means" figure to 507,43 EUR/month
  (Slovenian basic minimum income from 1 April 2026, source gov.si) across the
  guide, FAQ, budget note, sample parent statement and my-route tip; replaces
  the old 484,88 everywhere.
- New standalone news announcement page /<lang>/news/proof-of-means-updated-2026/
  (trilingual), published 1 August 2026, with a clickable gov.si source box and a
  hero image (Pixabay, credited). news.js now supports announcement items
  (slug + body) and shows them newest-first on the homepage and News hub; the
  image doubles as the card thumbnail. Optimised 6.98MB to 255KB.
- Switch English EUR amounts to European format (comma decimal, dot thousands):
  507,43 / 9.600 / 1.000 etc. Only euro-prefixed amounts are touched, so SI/MK
  (which use a euro suffix) are unaffected. New generator eurofmt.js.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f6fab99ebb Remove "Get Involved" nav dropdown (dead links, duplicated the CTA buttons)
The "Get Involved" dropdown (Become a member / Support MSOS) had dead href="#"
links and only duplicated the two top-right buttons (Become a member, Donate).
Removed it site-wide (desktop + mobile, en/si/mk) - 390 blocks across 195 pages,
including the privacy-policy header the generators slice from, so regeneration
stays clean. Nav is now Who We Are / What We Do / For Students / News + the two
pill buttons.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
d35324f988 Remove "Get Involved" nav dropdown + full-width header alignment
- Remove the "Get Involved" dropdown (Become a member / Support MSOS): dead
  href="#" links that duplicated the top-right buttons. Swept site-wide
  (desktop + mobile, en/si/mk) - 390 blocks across 195 pages, including the
  privacy-policy header the generators slice from, so regeneration stays clean.
  Nav is now Who We Are / What We Do / For Students / News + the two buttons.
- Header now spans the full page width: logo + text menus flush left, buttons +
  language switcher flush right (was constrained to a centred 1280px container,
  which left the logo floating inward on wide screens). CSS-only in _header.css,
  scoped so the mobile hamburger layout is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51474b2da5 Polish Become a Member hero: full-bleed gradient, button sizing + interaction, remove tag pills
- Hero gradient now spans edge to edge (full-viewport ::before band behind the
  centred content) and is more colourful/on-brand (warm peach to soft teal).
- Both hero CTAs (Become a member / See what we do) share one size so they align.
- Add hover (lift + shadow + colour shift) and active (press) states to the
  reusable .btn classes, so all buttons site-wide get consistent feedback; plus
  a focus-visible outline for keyboard users.
- Remove the confusing Community/Events/Support/... tag pills (they duplicated
  the hero lead sentence). member.js updated + now emits main.js on the member
  pages so regeneration keeps the nav working.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
popovskik requested review from mark 2026-08-01 10:31:56 +00:00
popovskik merged commit ab2056dda3 into develop 2026-08-01 10:33:30 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: mark/msos#4
No description provided.