function pickRandom(arr) { return arr[Math.floor(Math.random() * arr.length)]; } export function dungeonTemplate(data) { const bodyFonts = [ "'Lora', serif", "'Merriweather', serif", "'Libre Baskerville', serif", "'Source Serif 4', serif" ]; const headingFonts = [ "'New Rocker', system-ui", "'UnifrakturCook', cursive", "'IM Fell DW Pica', serif", "'Cinzel', serif", "'Cormorant Garamond', serif", "'Playfair Display', serif" ]; const tableFonts = [ "'Alegreya Sans', sans-serif", "'Cabin', sans-serif", "'IBM Plex Sans', sans-serif", "'Cormorant Garamond', serif" ]; const quoteFonts = [ "'Playfair Display', serif", "'Libre Baskerville', serif", "'Merriweather', serif" ]; const bodyFont = pickRandom(bodyFonts); const headingFont = pickRandom(headingFonts); const tableFont = pickRandom(tableFonts); const quoteFont = pickRandom(quoteFonts); // Check if we have a map image to include const hasMap = data.map && typeof data.map === 'string' && data.map.startsWith('data:image/'); return `
${data.flavor}
` : ''}| ${index + 1} | ${event} |
${room.description}
| ${index + 1} | ${encounter.name} | ${encounter.details} |