pinball-frontend-2025/svelte/src/routes/prompt-input/Prompts.svelte (32 lines of code) (raw):

<script> import prompts from '$lib/data/predefined_prompts.json'; import Prompt from './Prompt.svelte'; let { clickPrepopulatedPrompt } = $props(); function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } } for (const key in prompts) { shuffleArray(prompts[key]); } </script> <div class="prompts"> {#each Object.keys(prompts) as key, index} <Prompt prompts={prompts[key]} rotationOffsetInSecs={(index+1) * 10} {clickPrepopulatedPrompt} /> {/each} </div> <style> .prompts { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 14px; margin-top: 40px; } @media (max-width: 1200px) { .prompts { grid-template-columns: 1fr; } } </style>