board: add advisory-board reveal JS + 8 portrait images

The #board-reveal section HTML was already committed, but the GSAP
reveal timeline (members start opacity:0) lived only in the working
tree and the 8 portraits under protected/fenja/board/ were untracked.
Result: the whole "Meet the Fenja AI Advisory Board" section never
appeared in the deployed build. Commit both so it renders in the cloud.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan Hvid 2026-06-11 14:06:56 +02:00
parent 4fc5af27b5
commit 32306e8fea
9 changed files with 36 additions and 2 deletions

View file

@ -199,7 +199,7 @@
// through them.
const sceneOrder = [
'hero',
'bifrost', 'bifrost-meaning',
'bifrost', 'bifrost-meaning', 'board-reveal',
'platform-question', 'platform-layers',
'wiki-deepdive',
'platform-cards',
@ -216,6 +216,7 @@
'hero': 'hero',
'bifrost': 'bifrost',
'bifrost-meaning': 'bifrost',
'board-reveal': 'bifrost',
'platform-question': 'platform-layers',
'platform-layers': 'platform-layers',
'wiki-deepdive': 'wiki-deepdive',
@ -666,6 +667,39 @@
}
});
// ─── Advisory board reveal ───────────────────────────────────
// The #board-reveal section (8-member grid) sits right after the
// final treasure-map stop. Header bits rise/fade in, then the
// portraits stagger up. Mirrors the .map-stop reveal pattern;
// reduced-motion users never reach this block (early return above)
// and get the static CSS fallback instead.
const boardSection = document.getElementById('board-reveal');
if (boardSection) {
const headBits = boardSection.querySelectorAll('.board-head > *');
const members = boardSection.querySelectorAll('.board-member');
const boardTl = gsap.timeline({
scrollTrigger: {
trigger: boardSection,
start: 'top 72%',
toggleActions: 'play none none reverse',
}
});
if (headBits.length) {
boardTl.to(headBits, {
opacity: 1, y: 0,
duration: 0.7, stagger: 0.1,
ease: 'power3.out',
});
}
if (members.length) {
boardTl.to(members, {
opacity: 1, y: 0,
duration: 0.7, stagger: 0.06,
ease: 'power3.out',
}, '-=0.3');
}
}
/* SCENE 6 Join CTA + Innovationsfonden footer: REMOVED 2026-05-19
in the customer-presentation conversion. The CTA, confirmation
panel, click handler, and three-mark footer all went away with
@ -679,7 +713,7 @@
document.fonts.ready.then(() => ScrollTrigger.refresh());
}
// Refresh once illustrations have laid out
const illustrations = document.querySelectorAll('#bifrost-meaning img');
const illustrations = document.querySelectorAll('#bifrost-meaning img, #board-reveal img');
let pending = illustrations.length;
if (pending === 0) ScrollTrigger.refresh();
illustrations.forEach((img) => {

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB