<script lang="ts">let count = $state(0);let doubled = $derived(count * 2);const increment = () => {count += 1;};</script><button on:click={increment}>clicks: {count}</button><p>double count: {doubled}</p>
element left
<script lang="ts">import img from "$lib/images/sveltekit.jpg";</script><img class="mt-2 mb-2" src={img} alt="sveltekit icon"/>
/public/images
wie in allen anderne Frameworks<img src="images/tests/test1.jpg" alt="test1" class="mt-2"/><img src="images/tests/test2.jpg" alt="test2" class="mt-3"/>
<script>import { page } from '$app/stores';const pageItems = [{href: '/',title: 'Home'},{href: '/basics',title: 'Basics'}];</script><nav class="bg-slate-600 px-4 pb-1 mb-3 rounded text-slate-200 flex gap-3">{#each pageItems as pageItem}<a class:active={$page.url.pathname === pageItem.href} href={pageItem.href}>{pageItem.title}</a>{/each}</nav><style>a.active {color: yellow;}</style>
<iconify-icon icon="charm:menu-hamburger" class="text-2xl md:hidden"></iconify-icon>
<script lang="ts">let innerWidth = 0;</script><svelte:window bind:innerWidth={innerWidth} />{#if $mobileMenuShowing || innerWidth > 768}
<script lang="ts">import _todos from '$lib/data/todos.json';let todos = _todos;let newTodo = '';$: totalDoubled = todos.length * 2;const addTodo = () => {if (newTodo.trim() !== '') {todos = [...todos, newTodo];newTodo = '';}};</script><div class="w-[18rem]"><form><input bind:value={newTodo} placeholder="new todo" /><button on:click={addTodo} class="bg-gray-300 px-2 mt-2 rounded border border-gray-500 w-fit">Add Todo</button></form><ul class="list-disc ml-3 mb-3 mt-2">{#each todos as todo}<li>{todo}</li>{/each}</ul><div><p>number of todos: {todos.length}</p><p>number of todos doubled: {totalDoubled}</p></div><p class="devNote w-fit mt-2">Note that for arrays and objects, you need to save a REFERENCE TO A NEW VARIABLE instead of justmutating the value of the original variable, e.g. by spreading the old variable or usingstructuredClone.</p></div>
export async function load() {return {maxage: 10,props: {todos}};}
import { browser } from '$app/environment';
import { invalidateAll } from '$app/navigation';
invalidate((url) => url.pathname === '/path');
{#key data.todos}<p class="mb-3 mt-2">There are {data.todos.length} todos.</p><ul class="font-mono text-orange-900">{#each data.todos as todo}<li>{`[${todo.id}] - ${tools.displayStars(todo.stars)} - ${todo.finished ? 'done' : 'todo'} - ${todo.title}`}</li>{/each}</ul>{/key}
export const ssr = false;
export const csr = false;
export const prerender = true;
params?: Record<string, string>