schreiben/src/views/JoinWorld.svelte

23 lines
736 B
Svelte

<script lang="ts">
import { routes } from "../lib/routes";
import { router } from "../lib/router";
import { inject } from "regexparam";
import { writeWorlds } from "../lib/worldStorage";
export let worldId: string;
async function addWorld() {
const password = location.hash.slice(1);
await writeWorlds((worlds) => [
// reemplazar mundo en vez de agregar nuevo, por si se agregó antes con la contraseña incorrecta
...worlds.filter(({ room }) => room !== worldId),
{ room: worldId, password },
]);
router.route(inject(routes.Page, { worldId, pageId: "index" }));
}
</script>
<!-- TODO: mostrar título? -->
<h1>Añadir {worldId}</h1>
<button on:click={addWorld}>Añadir mundo</button>