tangled
alpha
login
or
join now
zeu.dev
/
easytodo.link
3
fork
atom
Superpowered to do lists. No signup required.
3
fork
atom
overview
issues
1
pulls
pipelines
style login dialog
zeu.dev
2 months ago
65641d28
3607055a
+18
-4
2 changed files
expand all
collapse all
unified
split
src
lib
atproto.ts
routes
+layout.svelte
+1
-1
src/lib/atproto.ts
···
66
66
67
67
const publicUrl = "https://easytodo.link"
68
68
// localhost resolves to either 127.0.0.1 or [::1] (if ipv6)
69
69
-
const url = dev ? "http://127.0.0.1:5173" : publicUrl;
69
69
+
const url = dev ? "http://[::1]:5173" : publicUrl;
70
70
71
71
export const atclient = new NodeOAuthClient({
72
72
stateStore: new AuthStateStore(db),
+17
-3
src/routes/+layout.svelte
···
36
36
{@render children()}
37
37
</section>
38
38
39
39
-
<dialog bind:this={loginDialog} class="bg-white top-1/2 left-1/2 -translate-1/2 p-4 rounded">
40
40
-
<span class="flex items-center gap-4 self-end">
41
41
-
<h1 class="text-xl font-bold">Login with ATProto</h1>
39
39
+
<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">
40
40
+
<span class="flex items-center gap-4 self-end w-full justify-between">
41
41
+
<h1 class="text-xl font-bold">Log into the Atmosphere</h1>
42
42
<button onclick={() => loginDialog?.close()} class="bg-gray-100 px-3 py-2 rounded self-end">Close</button>
43
43
</span>
44
44
<form method="POST" action="/?/login" class="flex flex-col gap-4">
45
45
<input name="handle" type="text" placeholder="zeu.dev" class="border rounded px-4 py-2" />
46
46
<button type="submit" class="border px-3 py-2 rounded">Login</button>
47
47
</form>
48
48
+
<details class="border border-gray-300 px-3 py-2 rounded">
49
49
+
<summary class="marker:hidden font-semibold cursor-pointer">
50
50
+
<span class="text-blue-500">@</span> Enter your internet handle
51
51
+
</summary>
52
52
+
<span class="flex flex-col gap-2 text-sm pt-1">
53
53
+
<p>
54
54
+
This would be a domain you control, most likely first created with Bluesky, Tangled, Gander,
55
55
+
or other Atmosphere applications.
56
56
+
</p>
57
57
+
<a href="" class="text-blue-500 underline">
58
58
+
Learn more about ATproto and controlling your social media data
59
59
+
</a>
60
60
+
</span>
61
61
+
</details>
48
62
</dialog>
49
63
50
64
<dialog bind:this={accountDialog} class="bg-white p-6 shadow top-1/2 left-1/2 -translate-1/2">