···3636 {@render children()}
3737 </section>
38383939- <dialog bind:this={loginDialog} class="flex flex-col w-lg gap-4 bg-white top-1/2 left-1/2 -translate-1/2 p-4 rounded">
4040- <span class="flex items-center gap-4 self-end w-full justify-between">
4141- <h1 class="text-xl font-bold">Log into the Atmosphere</h1>
4242- <button onclick={() => loginDialog?.close()} class="bg-gray-100 px-3 py-2 rounded self-end">Close</button>
4343- </span>
4444- <form method="POST" action="/?/login" class="flex flex-col gap-4">
4545- <input name="handle" type="text" placeholder="zeu.dev" class="border rounded px-4 py-2" />
4646- <button type="submit" class="border px-3 py-2 rounded">Login</button>
4747- </form>
4848- <details class="border border-gray-300 px-3 py-2 rounded">
4949- <summary class="marker:hidden font-semibold cursor-pointer">
5050- <span class="text-blue-500">@</span> Enter your internet handle
5151- </summary>
5252- <span class="flex flex-col gap-2 text-sm pt-1">
5353- <p>
5454- This would be a domain you control, most likely first created with Bluesky, Tangled, Gander,
5555- or other Atmosphere applications.
5656- </p>
5757- <a href="" class="text-blue-500 underline">
5858- Learn more about ATproto and controlling your social media data
5959- </a>
3939+ <dialog popover bind:this={loginDialog} class="w-lg bg-white top-1/2 left-1/2 -translate-1/2 p-4 rounded">
4040+ <div class="flex flex-col gap-4">
4141+ <span class="flex items-center gap-4 self-end w-full justify-between">
4242+ <h1 class="text-xl font-bold">Log into the Atmosphere</h1>
4343+ <button onclick={() => loginDialog?.close()} class="bg-gray-100 px-3 py-2 rounded self-end">Close</button>
6044 </span>
6161- </details>
4545+ <form method="POST" action="/?/login" class="flex flex-col gap-4">
4646+ <input name="handle" type="text" placeholder="zeu.dev" class="border rounded px-4 py-2" />
4747+ <button type="submit" class="border px-3 py-2 rounded">Login</button>
4848+ </form>
4949+ <details class="border border-gray-300 px-3 py-2 rounded">
5050+ <summary class="marker:hidden font-semibold cursor-pointer">
5151+ <span class="text-blue-500">@</span> Enter your internet handle
5252+ </summary>
5353+ <span class="flex flex-col gap-2 text-sm pt-1">
5454+ <p>
5555+ This would be a domain you control, most likely first created with Bluesky, Tangled, Gander,
5656+ or other Atmosphere applications.
5757+ </p>
5858+ <a href="" class="text-blue-500 underline">
5959+ Learn more about ATproto and controlling your social media data
6060+ </a>
6161+ </span>
6262+ </details>
6363+ </div>
6264 </dialog>
63656466 <dialog bind:this={accountDialog} class="bg-white p-6 shadow top-1/2 left-1/2 -translate-1/2">
-2
src/routes/+page.server.ts
···11import { atclient } from "$lib/atproto";
22import type { Task } from "$lib/stores.svelte";
33import { parseAtUri } from "$lib/utils";
44-import type { $Typed } from "@atproto/api";
55-import type { Create, CreateResult } from "@atproto/api/dist/client/types/com/atproto/repo/applyWrites";
64import { isValidHandle } from "@atproto/syntax";
75import { error, fail, redirect, type Actions } from "@sveltejs/kit";
86