<script lang="ts"> import * as config from '$lib/config' import type { Snippet } from '$lib/types' import CodeBlock from '$lib/components/CodeBlock.svelte' import OpenDiscussion from '$lib/components/OpenDiscussion.svelte' export let data: { snippets: Snippet[] } </script> <svelte:head> <title>{config.title} in DuckDB</title> <meta name="description" content="A collection of snippets for DuckDB." /> </svelte:head> <section class="max-w-3xl mx-auto px-4 py-12 pb-32"> <h1 class="text-6xl mt-10 font-bold text-center tracking-tight text-slate-800 mb-8">{config.title}</h1> <p class="text-lg text-center text-slate-600">{config.description}</p> <p class="text-lg text-center text-slate-600 mb-8">Open a discussion to request a new snippet.</p> <div class="flex justify-center mb-16"> <OpenDiscussion href="https://huggingface.co/spaces/cfahlgren1/sql-snippets/discussions/new?title=Request+for+a+new+snippet%3A" /> </div> <ul class="space-y-12"> {#each data.snippets as snippet} <li class="bg-white rounded-lg shadow-md hover:shadow-lg transition-shadow duration-300"> <div class="p-4"> <a href={`${snippet.slug}`} class="block mb-4 hover:underline transition-colors duration-300"> <h2 class="text-2xl font-bold transition-colors duration-300">{snippet.title}</h2> </a> <p class="text-sm text-slate-700 font-mono mb-6">{snippet.description}</p> {#if snippet.code} <CodeBlock code={snippet.code} language="sql" /> {/if} </div> </li> {/each} </ul> </section>