Adds a reusable {video} block (responsive 16:9 youtube-nocookie embed) rendered as a prominent orange callout with title and caption, placed right after the warning box on evs-application-guide so students see it first. Trilingual title/caption.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment area is now a flex row that bottom-aligns the Send button with a 16px gap. The No vote is held until the comment is sent so both land on one Google Form row; a No left without a comment is still recorded once via sendBeacon on page-leave.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Voting now locks the widget for the page view (buttons disabled, chosen one highlighted, thank-you shown); reload to vote again. Fixes the CSS bug where display:flex overrode the hidden attribute so buttons stayed clickable. On No, an optional comment box posts to a separate Comment field. Adds a guarded [hidden] rule and selected/disabled/comment styles.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Every guide page and the landing now end with a help section: an Email us contact, a prominent Viber community join button, and a Was this page helpful Yes/No widget. guide-feedback.js records the vote in localStorage and on No invites emailing MSOS or asking in Viber; it exposes a sendVote hook for later central collection.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrites the six residence/health pages (visa-and-residence-explained,
student-residence-permit, where-to-apply-for-residence,
means-accommodation-address, rm-si-3-health-insurance,
healthcare-in-slovenia) to the deeper v3 English master, trilingual.
Adds backward-compatible generator support for per-page hero-image
placeholders and a "Sources and further information" section, plus
.guide-last-checked styling. Owner decisions applied (student work on
the study permit vs employment permit; sufficient means shown as
"check current"). SI/MK bodies are MSOS working translations pending
native proofread.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Completes the 30-page guide: adds programme choice, recognition,
documents, admission, tuition, residence, health, accommodation,
arrival, admin basics, meals, transport, student work, academic
life, study cities, budget, wellbeing, renewal, and official
sources, each in EN/SI/MK. Landing quicklinks now list all 29
topics; adds guide-linklist styling and a links block renderer.
SI/MK bodies of dense administrative content still need a native
proofread before publishing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Launch the two country sections as a cultural bridge, following the
approved Phase A spec and reusing the Events & Projects structure.
Hubs (6 pages, EN/SI/MK each):
- get-to-know-slovenia and get-to-know-macedonia
- Section header + newsletter form, 6-category filter (Places & Nature,
Culture & Traditions, Food & Flavours, History & Heritage,
People & Identity), 6 launch cards, empty state, client-side pagination.
- Five cards per hub link to articles that arrive in later batches.
Articles (6 pages, EN/SI/MK each):
- Welcome to Slovenia and Welcome to Macedonia, full text with the
auto-generated table of contents and sticky mobile header.
- Real, sourced images with attribution captions (place, photographer,
source link). Wikimedia photos also link the CC BY-SA licence and note
that the image was cropped. Images center-cropped to a uniform 3:2 and
downscaled. Each article's hero image is reused on its hub card.
Site-wide:
- Wire the For Students menu links (desktop and mobile) to the new hubs on
every page and in the header templates; rename the menu label from
North Macedonia to Macedonia (formal name kept in body content).
- Placeholder styles for images and cards still awaiting a sourced photo.
- Add caption styling for the hero image and give the article table of
contents clear separation from the footer.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a Proxify-style category filter and real client-side pagination to
the Events & Projects listing across all three languages (EN/SI/MK).
- Filter: a pill nav (All / Events / Student Life / Projects / Webinars)
plus a contextual sub-chip row for Events (Sports / Cultural /
Entertainment / Educational). Buttons carry stable data-filter /
data-subfilter keys and cards carry data-category / data-subcategory,
so a single language-agnostic handler drives all three locales.
- Pagination: replaces the hardcoded dead 1..10 links with real
client-side paging (9 per page). Shows a single page today and grows
automatically as content is added, with windowed page numbers,
enabled/disabled Prev/Next, and smooth scroll-to-top. Integrates with
the filter (resets to page 1, repaginates, hides when no matches).
- Show a localized empty-state message when a filter has no results.
- Nudge the filter block up and add space below it for even spacing.
- Drop the duplicate News pill (News has its own top-nav section) and
retag the placeholder card from announcements to projects so it stays
reachable.
Verified with jsdom across EN/SI/MK: filtering, sub-filtering, empty
state, single/multi-page navigation, and filter/pagination interaction.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Pin the site header on scroll (position: absolute -> fixed) so it no
longer disappears when reading.
- Redesign the desktop table-of-contents sidebar: compact spacing and fix
the first-item clipping at 100% zoom (drop fixed-height flex centering in
the scroll container for a flex column with max-height).
- Add the article title above the desktop TOC so readers always know which
article they are in.
- Make the article TOC a site-wide standard: main.js now auto-builds the
sidebar + sticky mobile header from each page's own h1/h2 headings, so all
languages (EN/SI/MK) get it with no per-page HTML. Existing hand-written
EN labels are preserved.
- Update the URL hash to the active section while scrolling (replaceState,
no history spam, no jump).
- Add transliteration for readable anchors in every language: Slovenian
diacritics and Macedonian Cyrillic map to ASCII slugs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>