tangled
alpha
login
or
join now
vielle.dev
/
pdsls
forked from
pds.ls/pdsls
0
fork
atom
atproto explorer
0
fork
atom
overview
issues
pulls
pipelines
add pdsls title icon
handle.invalid
6 months ago
32804e35
9d059ff5
+21
-42
4 changed files
expand all
collapse all
unified
split
src
layout.tsx
styles
index.css
utils
templates.ts
views
home.tsx
+3
-2
src/layout.tsx
···
54
<A
55
href="/"
56
style='font-feature-settings: "cv05"'
57
-
class="font-bold hover:underline active:underline"
58
>
59
-
PDSls
0
60
</A>
61
</div>
62
<div class="flex basis-1/3 items-center justify-end gap-x-2">
···
54
<A
55
href="/"
56
style='font-feature-settings: "cv05"'
57
+
class="flex items-center gap-1 rounded-lg px-1 font-bold hover:bg-neutral-200 active:bg-neutral-200 dark:hover:bg-neutral-700 dark:active:bg-neutral-700"
58
>
59
+
<span class="iconify tabler--binary-tree-filled text-[#76c4e5]"></span>
60
+
<span>PDSls</span>
61
</A>
62
</div>
63
<div class="flex basis-1/3 items-center justify-end gap-x-2">
+8
-25
src/styles/index.css
···
27
scrollbar-gutter: stable both-edges;
28
}
29
30
-
.i-tabler-brand-bluesky {
31
-
--un-icon: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6.335 5.144C4.681 3.945 2 3.017 2 5.97c0 .59.35 4.953.556 5.661C3.269 14.094 5.686 14.381 8 14c-4.045.665-4.889 3.208-2.667 5.41C6.363 20.428 7.246 21 8 21c2 0 3.134-2.769 3.5-3.5q.5-1 .5-1.5q0 .5.5 1.5c.366.731 1.5 3.5 3.5 3.5c.754 0 1.637-.571 2.667-1.59C20.889 17.207 20.045 14.664 16 14c2.314.38 4.73.094 5.444-2.369c.206-.708.556-5.072.556-5.661c0-2.953-2.68-2.025-4.335-.826C15.372 6.806 12.905 10.192 12 12c-.905-1.808-3.372-5.194-5.665-6.856'/%3E%3C/svg%3E");
32
-
-webkit-mask: var(--un-icon) no-repeat;
33
-
mask: var(--un-icon) no-repeat;
34
-
-webkit-mask-size: 100% 100%;
35
-
mask-size: 100% 100%;
36
-
background-color: currentColor;
37
-
width: 1em;
38
-
height: 1em;
39
}
40
41
.i-tangled {
42
-
--un-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%3E%3Cg%20style%3D%22display%3Ainline%22%3E%3Cpath%20d%3D%22M0-2.117h62.177v25.135H0z%22%20style%3D%22display%3Ainline%3Bfill%3Anone%3Bfill-opacity%3A1%3Bstroke-width%3A.396875%22%20transform%3D%22translate(11.01%206.9)%22%2F%3E%3Cpath%20d%3D%22M3.64%2022.787c-1.697%200-2.943-.45-3.74-1.35-.77-.9-1.156-2.094-1.156-3.585%200-.36.013-.72.038-1.08.052-.385.129-.873.232-1.464L.44%206.826h-5.089l.733-4.394h3.2c.822%200%201.439-.168%201.85-.502.437-.334.72-.938.848-1.812l.771-4.703h5.243L6.84%202.432h7.787l-.733%204.394H6.107L4.257%2017.93l.77.27%206.015-4.742%202.775%203.161-2.313%202.005c-.822.694-1.568%201.31-2.236%201.85-.668.515-1.31.952-1.927%201.311a7.406%207.406%200%200%201-1.774.733c-.59.18-1.233.27-1.927.27z%22%20%20%20%20%20%20%20aria-label%3D%22tangled.sh%22%20%20%20%20%20%20transform%3D%22translate(11.01%206.9)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
43
-
-webkit-mask: var(--un-icon) no-repeat;
44
-
mask: var(--un-icon) no-repeat;
45
-
-webkit-mask-size: 100% 100%;
46
-
mask-size: 100% 100%;
47
-
background-color: currentColor;
48
-
width: 1em;
49
-
height: 1em;
50
}
51
52
.i-pinksea {
53
-
--un-icon: url("data:image/svg+xml,%3Csvg%20width%3D%22800%22%20height%3D%22800%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m3%206%203.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%206M3%2010.5l3.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%2010.5M3%2015l3.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%2015M3%2019.5l3.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%2019.5%22%20stroke%3D%22%23ffe5ea%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
54
-
-webkit-mask: var(--un-icon) no-repeat;
55
-
mask: var(--un-icon) no-repeat;
56
-
-webkit-mask-size: 100% 100%;
57
-
mask-size: 100% 100%;
58
-
background-color: currentColor;
59
-
width: 1em;
60
-
height: 1em;
61
}
···
27
scrollbar-gutter: stable both-edges;
28
}
29
30
+
.tabler--brand-bluesky {
31
+
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6.335 5.144C4.681 3.945 2 3.017 2 5.97c0 .59.35 4.953.556 5.661C3.269 14.094 5.686 14.381 8 14c-4.045.665-4.889 3.208-2.667 5.41C6.363 20.428 7.246 21 8 21c2 0 3.134-2.769 3.5-3.5q.5-1 .5-1.5q0 .5.5 1.5c.366.731 1.5 3.5 3.5 3.5c.754 0 1.637-.571 2.667-1.59C20.889 17.207 20.045 14.664 16 14c2.314.38 4.73.094 5.444-2.369c.206-.708.556-5.072.556-5.661c0-2.953-2.68-2.025-4.335-.826C15.372 6.806 12.905 10.192 12 12c-.905-1.808-3.372-5.194-5.665-6.856'/%3E%3C/svg%3E");
32
+
}
33
+
34
+
.tabler--binary-tree-filled {
35
+
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M14 1a3 3 0 0 1 2.348 4.868l2 3.203Q18.665 9 19 9a3 3 0 1 1-2.347 1.132l-2-3.203a3 3 0 0 1-1.304 0l-2.001 3.203c.408.513.652 1.162.652 1.868s-.244 1.356-.653 1.868l2.002 3.203Q13.664 17 14 17a3 3 0 1 1-2.347 1.132L9.65 14.929a3 3 0 0 1-1.302 0l-2.002 3.203a3 3 0 1 1-1.696-1.06l2.002-3.204A3 3 0 0 1 9.65 9.07l2.002-3.202A3 3 0 0 1 14 1'/%3E%3C/svg%3E");
0
0
0
36
}
37
38
.i-tangled {
39
+
--svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%3E%3Cg%20style%3D%22display%3Ainline%22%3E%3Cpath%20d%3D%22M0-2.117h62.177v25.135H0z%22%20style%3D%22display%3Ainline%3Bfill%3Anone%3Bfill-opacity%3A1%3Bstroke-width%3A.396875%22%20transform%3D%22translate(11.01%206.9)%22%2F%3E%3Cpath%20d%3D%22M3.64%2022.787c-1.697%200-2.943-.45-3.74-1.35-.77-.9-1.156-2.094-1.156-3.585%200-.36.013-.72.038-1.08.052-.385.129-.873.232-1.464L.44%206.826h-5.089l.733-4.394h3.2c.822%200%201.439-.168%201.85-.502.437-.334.72-.938.848-1.812l.771-4.703h5.243L6.84%202.432h7.787l-.733%204.394H6.107L4.257%2017.93l.77.27%206.015-4.742%202.775%203.161-2.313%202.005c-.822.694-1.568%201.31-2.236%201.85-.668.515-1.31.952-1.927%201.311a7.406%207.406%200%200%201-1.774.733c-.59.18-1.233.27-1.927.27z%22%20%20%20%20%20%20%20aria-label%3D%22tangled.sh%22%20%20%20%20%20%20transform%3D%22translate(11.01%206.9)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
0
0
0
0
0
0
0
40
}
41
42
.i-pinksea {
43
+
--svg: url("data:image/svg+xml,%3Csvg%20width%3D%22800%22%20height%3D%22800%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m3%206%203.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%206M3%2010.5l3.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%2010.5M3%2015l3.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%2015M3%2019.5l3.106-1.553a2%202%200%200%201%201.788%200l1.423.711a6%206%200%200%200%205.366%200l1.423-.71a2%202%200%200%201%201.788%200L21%2019.5%22%20stroke%3D%22%23ffe5ea%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
0
0
0
0
0
0
0
44
}
+4
-4
src/utils/templates.ts
···
6
"app.bsky.actor.profile": (uri) => ({
7
label: "Bluesky",
8
link: `https://bsky.app/profile/${uri.repo}`,
9
-
icon: "i-tabler-brand-bluesky",
10
}),
11
"app.bsky.feed.post": (uri) => ({
12
label: "Bluesky",
13
link: `https://bsky.app/profile/${uri.repo}/post/${uri.rkey}`,
14
-
icon: "i-tabler-brand-bluesky",
15
}),
16
"app.bsky.graph.list": (uri) => ({
17
label: "Bluesky",
18
link: `https://bsky.app/profile/${uri.repo}/lists/${uri.rkey}`,
19
-
icon: "i-tabler-brand-bluesky",
20
}),
21
"app.bsky.feed.generator": (uri) => ({
22
label: "Bluesky",
23
link: `https://bsky.app/profile/${uri.repo}/feed/${uri.rkey}`,
24
-
icon: "i-tabler-brand-bluesky",
25
}),
26
"fyi.unravel.frontpage.post": (uri) => ({
27
label: "Frontpage",
···
6
"app.bsky.actor.profile": (uri) => ({
7
label: "Bluesky",
8
link: `https://bsky.app/profile/${uri.repo}`,
9
+
icon: "tabler--brand-bluesky",
10
}),
11
"app.bsky.feed.post": (uri) => ({
12
label: "Bluesky",
13
link: `https://bsky.app/profile/${uri.repo}/post/${uri.rkey}`,
14
+
icon: "tabler--brand-bluesky",
15
}),
16
"app.bsky.graph.list": (uri) => ({
17
label: "Bluesky",
18
link: `https://bsky.app/profile/${uri.repo}/lists/${uri.rkey}`,
19
+
icon: "tabler--brand-bluesky",
20
}),
21
"app.bsky.feed.generator": (uri) => ({
22
label: "Bluesky",
23
link: `https://bsky.app/profile/${uri.repo}/feed/${uri.rkey}`,
24
+
icon: "tabler--brand-bluesky",
25
}),
26
"fyi.unravel.frontpage.post": (uri) => ({
27
label: "Frontpage",
+6
-11
src/views/home.tsx
···
1
import { A } from "@solidjs/router";
2
-
import Tooltip from "../components/tooltip";
3
4
const Home = () => {
5
return (
···
91
</div>
92
</div>
93
<div class="flex gap-2">
94
-
<Tooltip text="Tangled">
95
-
<A href="https://tangled.sh/@pdsls.dev/pdsls/" target="_blank">
96
-
<div class="i-tangled text-xl" />
97
-
</A>
98
-
</Tooltip>
99
-
<Tooltip text="Bluesky">
100
-
<A href="https://bsky.app/profile/did:plc:6q5daed5gutiyerimlrnojnz" target="_blank">
101
-
<div class="i-tabler-brand-bluesky text-xl" />
102
-
</A>
103
-
</Tooltip>
104
</div>
105
</div>
106
);
···
1
import { A } from "@solidjs/router";
0
2
3
const Home = () => {
4
return (
···
90
</div>
91
</div>
92
<div class="flex gap-2">
93
+
<A href="https://tangled.sh/@pdsls.dev/pdsls/" target="_blank">
94
+
<div class="iconify i-tangled text-xl" />
95
+
</A>
96
+
<A href="https://bsky.app/profile/did:plc:6q5daed5gutiyerimlrnojnz" target="_blank">
97
+
<div class="iconify tabler--brand-bluesky text-xl" />
98
+
</A>
0
0
0
0
99
</div>
100
</div>
101
);