- Speaker notes are hidden on the presenting screen by default (N / "Show notes" turns them on for one-screen use), so a mirrored display never shows them. - "Audience window" opens a second window for a projector (?audience=1, no sign-in) that shows only the point, its passage and quoted verse. Notes, minutes, the script and the timer are never sent to it. - With it connected this screen becomes a presenter view: what the audience sees, your notes, the next point, plus Blank audience (B) and audience text size. - Script mode sends the audience only the title. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
16 lines
1.4 KiB
React
16 lines
1.4 KiB
React
// One outline point as it appears on screen: the point, its passage and quoted verse, and what it carries.
|
|
// Used for the whole screen in present mode, for the presenter's preview, and on the audience window. `note` and
|
|
// `minutes` are only passed where the speaker is the one looking.
|
|
export default function StepFace({ step, index, total, fontSize, minutes = null, note = '' }) {
|
|
return (
|
|
<div className="mx-auto max-w-[46em] font-serif" style={{ fontSize, lineHeight: 1.4 }}>
|
|
<p className="font-sans text-[0.4em] uppercase tracking-[0.16em] opacity-60">{step.kind ? `${step.kind} · ` : ''}Point {index + 1} of {total}{minutes ? ` · ${minutes} min` : ''}</p>
|
|
<h1 className="mt-2 font-semibold"><span className="mr-3 opacity-60">{step.label}</span>{step.text || '(untitled)'}</h1>
|
|
{step.ref && <p className="mt-2 text-[0.6em] opacity-70">{step.ref}</p>}
|
|
{step.scripture?.text && <blockquote className="mt-5 border-l-4 border-current/30 pl-5 text-[0.8em] italic opacity-90">“{step.scripture.text}” <span className="not-italic opacity-60">— {step.scripture.ref}</span></blockquote>}
|
|
{note && <p className="mt-5 whitespace-pre-wrap text-[0.7em] opacity-85">{note}</p>}
|
|
{step.attachments?.length > 0 && <p className="mt-5 text-[0.55em] opacity-60">{step.attachments.map((a) => `${a.type === 'word' ? 'Word' : 'See'}: ${a.label}`).join(' · ')}</p>}
|
|
</div>
|
|
);
|
|
}
|