"use client"; import { useRef, useState, type KeyboardEvent } from "react"; import { Dialog, Icon, NpcSay, XpBar } from "../pixel"; import { quests } from "../../lib/content"; import { Reveal } from "./reveal"; import { SectionHeader } from "./section-header"; import section from "./section.module.css"; import styles from "./quest-log.module.css"; export function QuestLog() { const [active, setActive] = useState(0); const nodes = useRef<(HTMLButtonElement | null)[]>([]); const quest = quests[active]!; function onKeyDown(event: KeyboardEvent) { const step = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 }[event.key]; if (!step) return; event.preventDefault(); const next = (active + step + quests.length) % quests.length; setActive(next); nodes.current[next]!.focus(); } return (
    {quests.map((item, index) => (
  1. ))}

{quest.body}

); }