Commit Graph

72 Commits

Author SHA1 Message Date
popovskik f174bb5f68 Feedback: space/bottom-align Send button; submit No + comment as one row
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>
2026-07-31 12:03:07 +02:00
popovskik 1416f9f344 Fix feedback spam: lock buttons after vote, add comment box on No
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>
2026-07-31 11:41:57 +02:00
popovskik acc39a701f Add Still need help section: contact, Viber community button, Yes/No feedback
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>
2026-07-31 11:20:12 +02:00
popovskik f23110d6ae Integrate v3 master: residence and health cluster (Batch 1)
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>
2026-07-30 21:58:16 +02:00
popovskik 5c9699b9a5 Add remaining 24 Student Welcome Guide topic pages (Batches A-D)
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>
2026-07-30 12:25:22 +02:00
popovskik cee9f1da10 Add Student Welcome Guide, legal pages, and working newsletter
Student Welcome Guide (Phase 1):
- Landing + 5 topic pages (journey, bachelor, master, deadlines, eVS)
  in EN/SI/MK, reusing the article auto-TOC
- New css/pages/_guide.css components and a 3:1 hero image placeholder
- Functional client-side "Build my route" tool (student-guide.js)
- "Student Welcome Guide" menu link wired site-wide

Legal pages:
- Trilingual Privacy Policy and Cookie Policy (GDPR-oriented,
  MailerLite disclosed, IP RS complaint route)
- Footer legal strip + Organisation column links wired site-wide,
  depth-aware, plus header/footer templates

Newsletter:
- MailerLite subscribe handler in main.js upgrades both form variants
  on every page: validation, double opt-in, inline trilingual status
- Subscribe status styles in css/pages/_projects.css

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 02:17:35 +02:00
popovskik 8ca03d5886 Add Get to Know Slovenia and Macedonia sections with Welcome articles
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>
2026-07-28 17:56:08 +02:00
popovskik dc1653ab57 Add category filter and functional pagination to projects listing
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>
2026-07-28 11:04:56 +02:00
popovskik 13e4c04c3e Improve article TOC, sticky header, and cross-language anchors
- 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>
2026-07-27 17:39:58 +02:00
Mark Poljanšek d972e45c2f Posodobljeni članki
Deploy to Production on Develop Push / deploy (push) Successful in 1m22s Details
2025-09-09 17:49:31 +02:00
Mark Poljanšek d603ebf585 Popravki za herosliko
Deploy to Production on Develop Push / deploy (push) Successful in 1m19s Details
2025-09-09 14:26:42 +02:00
Mark Poljanšek d9ed2a449f Popravki za timeline
Deploy to Production on Develop Push / deploy (push) Successful in 1m17s Details
2025-09-09 14:21:55 +02:00
Mark Poljanšek eb3b804dbc Popravki za homepage
Deploy to Production on Develop Push / deploy (push) Successful in 1m36s Details
2025-09-09 13:25:10 +02:00
Mark Poljanšek 28c097a959 Posodobljeni meniji pri clankih
Deploy to Production on Develop Push / deploy (push) Successful in 1m15s Details
2025-09-09 00:08:51 +02:00
Mark Poljanšek 90055985fd Homepage update
Deploy to Production on Develop Push / deploy (push) Successful in 1m43s Details
2025-09-08 22:52:15 +02:00
Mark Poljanšek 0346b10f6e popravki
Deploy to Production on Develop Push / deploy (push) Successful in 1m32s Details
2025-09-04 23:46:04 +02:00
Mark Poljanšek 66c4631769 Posodobljen about us
Deploy to Production on Develop Push / deploy (push) Successful in 1m33s Details
2025-09-04 23:34:11 +02:00
Mark Poljanšek 37b72526d8 Posodobljen mobilni meni
Deploy to Production on Develop Push / deploy (push) Successful in 1m7s Details
2025-09-04 20:43:28 +02:00
Mark Poljanšek c1094898b7 Popravljen mobilni meni
Deploy to Production on Develop Push / deploy (push) Successful in 59s Details
2025-09-04 16:14:35 +02:00
Mark Poljanšek 6ed8073b76 Popravljen desktop meni
Deploy to Production on Develop Push / deploy (push) Successful in 1m15s Details
2025-09-04 14:30:10 +02:00
Mark Poljanšek 544791f37e Dodajanje about us in timeline
Deploy to Production on Develop Push / deploy (push) Successful in 1m13s Details
2025-09-02 15:54:18 +02:00
Mark Poljanšek 79150b21d2 Prvotna verzija spletne strani 2025-08-21 11:06:11 +02:00