kibo: part 2 (broken)

This commit is contained in:
nym21
2025-03-25 20:55:47 +01:00
parent 7a8896864f
commit 50bf670931
126 changed files with 7131 additions and 2758 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,44 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="icon" type="image/png" sizes="196x196" href="/assets/pwa/2024-11-20_09-41-25/favicon-196.png">
<link rel="apple-touch-icon" href="/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg" media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg" media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
</head>
<body>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -0,0 +1,187 @@
<!doctype html>
<html lang="en">
<head>
<link
rel="icon"
type="image/png"
sizes="196x196"
href="/assets/pwa/2025-03-22_10-00-00/favicon-196.png"
/>
<link
rel="apple-touch-icon"
href="/assets/pwa/2025-03-22_10-00-00/apple-icon-180.png"
/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2048-2732.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2732-2048.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1668-2388.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2388-1668.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1536-2048.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2048-1536.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1488-2266.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2266-1488.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1640-2360.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2360-1640.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1668-2224.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2224-1668.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1620-2160.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2160-1620.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1290-2796.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2796-1290.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1179-2556.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2556-1179.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1284-2778.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2778-1284.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1170-2532.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2532-1170.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1125-2436.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2436-1125.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1242-2688.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2688-1242.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-828-1792.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1792-828.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1242-2208.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2208-1242.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-750-1334.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1334-750.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-640-1136.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1136-640.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
</head>
<body></body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -214,28 +214,13 @@
:root {
color-scheme: light dark;
/* before: #ffffe3 */
/* current: oklch(99% 0.01 44) */
--white: #fffaf6;
/* before: #e8e8e8 */
/* current: oklch(90% 0.01 44) */
--lighter-gray: #e4dcd9;
/* before: #c0c0ab */
/* current: oklch(65% 0.01 44) */
--light-gray: #867e7b;
/* before: #666660 */
/* current: oklch(60% 0.01 44) */
--dark-gray: #867e7b;
/* before: #30302b */
/* current: oklch(25% 0.01 44) */
--darker-gray: #26201e;
/* before: #10100e */
/* current: oklch(17.5% 0.005 44) */
--black: #12100f;
--white: oklch(99% 0.01 44);
--light-gray: oklch(90% 0.01 44);
--gray: oklch(60% 0.01 44);
--dark-gray: oklch(25% 0.01 44);
--black: oklch(17.5% 0.005 44);
--red: oklch(0.607 0.241 26.328);
/* before: #f26610 */
/* current: oklch(67.64% 0.191 44.41) */
--orange: oklch(67.64% 0.191 44.41); /*oklch(0.6755 0.2175 44.36); */
--orange: oklch(67.64% 0.191 44.41);
--amber: oklch(0.7175 0.1835 64.199);
--yellow: oklch(0.738 0.173 80.9405);
--avocado: oklch(0.72 0.19 110);
@@ -251,24 +236,26 @@
--purple: oklch(0.5925 0.2765 303.1105);
--fuchsia: oklch(0.629 0.294 322.523);
--pink: oklch(0.624 0.245 357.444);
--rose: oklch(0.6155 0.2495 17.012);
--background-color: light-dark(var(--white), var(--black));
--rose: oklch(0.6155 0.2495 17.012)
--background-color: light-dark(var(--white), var(--black));
--color: light-dark(var(--black), var(--white));
--off-color: light-dark(var(--light-gray), var(--dark-gray));
--border-color: light-dark(var(--lighter-gray), var(--darker-gray));
--off-color: var(--gray);
--border-color: light-dark(var(--light-gray), var(--dark-gray));
--font-size-2xs: 0.625rem;
--line-height-2xs: 1rem;
--font-size-xs: 0.75rem;
--line-height-xs: 1rem;
--line-height-xs: calc(1 / 0.75);
--font-size-sm: 0.875rem;
--line-height-sm: 1.25rem;
--line-height-sm: calc(1.25 / 0.875);
--font-size-base: 1rem;
--line-height-base: 1.5rem;
--line-height-base: calc(1.5 / 1);
--font-size-lg: 1.125rem;
--line-height-lg: 1.75rem;
--line-height-lg: calc(1.75 / 1.125);
--font-size-xl: 1.25rem;
--line-height-xl: 1.75rem;
--line-height-xl: calc(1.75 / 1.25);
--font-size-2xl: 1.5rem;
--line-height-2xl: calc(2 / 1.5);
--main-padding: 2rem;
@@ -285,11 +272,6 @@
--default-main-width: 25rem;
--emoji-filter: grayscale(1) contrast(5) invert(1);
@media (prefers-color-scheme: dark) {
--emoji-filter: grayscale(1) contrast(5);
}
--bottom-area: 69vh;
}
@@ -306,15 +288,6 @@
font-style: normal;
}
@font-face {
font-family: "Satoshi Chart";
src: url("./assets/fonts/satoshi/2024-09/font.var.woff2")
format("woff2");
font-weight: 500 900;
font-display: block;
font-style: normal;
}
/*
* ---
*/
@@ -373,14 +346,6 @@
text-decoration: none;
}
}
> small {
font-size: var(--font-size-sm);
line-height: var(--line-height-sm);
opacity: 0.5;
color: inherit;
margin-left: 0.25rem;
}
}
aside {
@@ -440,6 +405,7 @@
button {
cursor: pointer;
text-transform: inherit;
&:disabled {
color: var(--off-color);
@@ -486,9 +452,13 @@
}
h1,
h2,
h2 {
font-size: var(--font-size-2xl);
line-height: var(--line-height-2xl);
font-weight: 400;
}
h3 {
font-weight: var(--font-weight-bold);
font-size: var(--font-size-xl);
line-height: var(--line-height-xl);
}
@@ -508,6 +478,7 @@
scrollbar-color: var(--off-color) var(--background-color); /* Foreground, Background */
scrollbar-width: thin;
overflow: hidden;
interpolate-size: allow-keywords;
}
input {
@@ -613,7 +584,7 @@
bottom: 0;
right: 0;
left: 0;
display: flex;
text-transform: uppercase;
margin: var(--main-padding);
margin-bottom: var(--main-padding);
z-index: 100;
@@ -627,13 +598,14 @@
}
> fieldset {
background-color: var(--border-color);
width: 100%;
display: flex;
box-shadow: 0 0 1rem 0.5rem var(--background-color);
border-radius: 9999px;
pointer-events: auto;
padding: 0.5rem 1.5rem;
gap: 1rem;
> label {
pointer-events: auto;
}
}
}
@@ -687,10 +659,17 @@
height: 100%;
display: flex;
flex-direction: column;
gap: 2rem;
gap: 0.5rem;
padding-bottom: var(--bottom-area);
}
nav {
header {
display: flex;
justify-content: center;
}
}
sup {
opacity: 0.5;
margin-left: 0.25rem;
@@ -760,8 +739,6 @@
.tree {
user-select: none;
-webkit-user-select: none;
text-transform: capitalize;
margin-top: -0.375rem;
button::after {
color: var(--off-color);
@@ -769,6 +746,7 @@
align-self: baseline;
font-size: 75%;
margin-left: 0.25rem;
margin-bottom: 0.25rem;
line-height: 1;
}
@@ -787,11 +765,13 @@
border-radius: 9999px;
display: inline-block;
margin-bottom: 0.125rem;
margin-left: 0.25rem;
margin-left: 0.375rem;
}
}
> ul > li {
text-transform: uppercase;
& + * {
margin-top: 1.5rem;
}
@@ -818,6 +798,8 @@
overflow: hidden;
li {
text-transform: capitalize;
display: block;
position: relative;
padding-left: 0.75rem;
@@ -943,10 +925,49 @@
pointer-events: none;
}
fieldset {
display: flex;
align-items: center;
gap: 0.5rem;
&[data-size="sm"] {
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
}
> div.field {
display: flex;
align-items: center;
/* font-size: var(--font-size-xs);
line-height: var(--line-height-xs); */
gap: 1rem;
> legend,
> div {
flex-shrink: 0;
}
> hr {
min-width: 1rem;
}
label {
padding: 0.5rem;
/* margin: -0.5rem; */
}
> div {
display: flex;
gap: 0.5rem;
}
}
}
.chart {
display: flex;
flex-direction: column;
min-height: 0;
z-index: 20;
> legend {
display: flex;
@@ -1001,6 +1022,11 @@
}
}
.lightweight-chart {
height: 100%;
margin-right: var(--negative-main-padding);
}
> .panes {
position: relative;
display: flex;
@@ -1009,7 +1035,6 @@
min-height: 0;
> .pane {
z-index: 20;
position: relative;
min-height: 0px;
width: 100%;
@@ -1026,43 +1051,6 @@
left: 0px;
top: 0px;
z-index: 10;
display: flex;
align-items: center;
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
gap: 0.5rem;
> div.field {
display: flex;
align-items: center;
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
gap: 0.5rem;
> legend,
> div {
flex-shrink: 0;
}
> hr {
min-width: 1rem;
}
label {
padding: 0.5rem;
margin: -0.5rem;
}
> div {
display: flex;
gap: 0.5rem;
}
}
}
> .lightweight-chart {
height: 100%;
margin-right: var(--negative-main-padding);
}
}
@@ -1123,362 +1111,362 @@
rel="icon"
type="image/png"
sizes="196x196"
href="/assets/pwa/2024-11-20_09-41-25/favicon-196.png"
href="/assets/pwa/2025-03-22_10-00-00/favicon-196.png"
/>
<link
rel="apple-touch-icon"
href="/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png"
href="/assets/pwa/2025-03-22_10-00-00/apple-icon-180.png"
/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2048-2732.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2732-2048.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1668-2388.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2388-1668.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1536-2048.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2048-1536.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1488-2266.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2266-1488.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1640-2360.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2360-1640.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1668-2224.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2224-1668.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1620-2160.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2160-1620.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1290-2796.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2796-1290.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1179-2556.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2556-1179.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1284-2778.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2778-1284.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1170-2532.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2532-1170.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1125-2436.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2436-1125.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1242-2688.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2688-1242.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-828-1792.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1792-828.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1242-2208.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2208-1242.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-750-1334.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1334-750.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-640-1136.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1136-640.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="icon"
type="image/png"
sizes="196x196"
href="/assets/pwa/2024-11-20_09-41-25/favicon-196.png"
href="/assets/pwa/2025-03-22_10-00-00/favicon-196.png"
/>
<link
rel="apple-touch-icon"
href="/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png"
href="/assets/pwa/2025-03-22_10-00-00/apple-icon-180.png"
/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2048-2732.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2732-2048.jpg"
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1668-2388.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2388-1668.jpg"
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1536-2048.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2048-1536.jpg"
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1488-2266.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2266-1488.jpg"
media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1640-2360.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2360-1640.jpg"
media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1668-2224.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2224-1668.jpg"
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1620-2160.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2160-1620.jpg"
media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1290-2796.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2796-1290.jpg"
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1179-2556.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2556-1179.jpg"
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1284-2778.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2778-1284.jpg"
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1170-2532.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2532-1170.jpg"
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1125-2436.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2436-1125.jpg"
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1242-2688.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2688-1242.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-828-1792.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1792-828.jpg"
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1242-2208.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-2208-1242.jpg"
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-750-1334.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1334-750.jpg"
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-640-1136.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
/>
<link
rel="apple-touch-startup-image"
href="/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg"
href="/assets/pwa/2025-03-22_10-00-00/apple-splash-1136-640.jpg"
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"
/>
</head>
@@ -1498,39 +1486,7 @@
<div class="shadow-bottom"></div>
<div id="resize-bar"></div>
<nav id="nav" hidden>
<header
id="nav-header"
style="
font-size: var(--font-size-xl);
line-height: var(--line-height-xl);
"
>
<a href="/" style="display: flex; align-items: center; width: 100%">
<span style="display: inline-block; font-weight: 900">kibō</span>
<small
style="
display: inline-block;
margin-left: 0.125rem;
margin-top: 0.3125rem;
font-size: var(--font-size-sm);
line-height: var(--line-height-sm);
"
>希望</small
>
</a>
<small style="display: block">
<strong>Bitcoin</strong> is
<b style="color: var(--color)">hope</b>
<button
style="filter: var(--emoji-filter)"
onclick="window.document.documentElement.style.colorScheme = window.document.documentElement.style.colorScheme === 'light' ? 'dark' : 'light'"
>
🕊️
</button>
</small>
</header>
</nav>
<nav id="nav" hidden></nav>
<search id="search" hidden>
<header>
@@ -1560,7 +1516,7 @@
id="aside-selector"
value="aside"
/>
Main
Home
</label>
<label id="nav-selector-label" for="nav-selector" title="Nav">

View File

@@ -1,5 +1,5 @@
{
"name": "kibō",
"name": "kibō.money",
"short_name": "kibō",
"description": "A better, FOSS, Bitcoin-only, self-hostable Glassnode",
"categories": [
@@ -16,28 +16,28 @@
"lang": "en",
"icons": [
{
"src": "/assets/pwa/2024-11-20_09-41-25/manifest-icon-192.maskable.png",
"src": "/assets/pwa/2025-03-22_10-00-00/manifest-icon-192.maskable.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/pwa/2024-11-20_09-41-25/manifest-icon-192.maskable.png",
"src": "/assets/pwa/2025-03-22_10-00-00/manifest-icon-192.maskable.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/pwa/2024-11-20_09-41-25/manifest-icon-512.maskable.png",
"src": "/assets/pwa/2025-03-22_10-00-00/manifest-icon-512.maskable.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/pwa/2024-11-20_09-41-25/manifest-icon-512.maskable.png",
"src": "/assets/pwa/2025-03-22_10-00-00/manifest-icon-512.maskable.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}
}

View File

@@ -1,7 +1,7 @@
(async () => {
const theme = await (
await fetch(
"https://raw.githubusercontent.com/tailwindlabs/tailwindcss/refs/heads/next/packages/tailwindcss/theme.css",
"https://github.com/tailwindlabs/tailwindcss/blob/main/packages/tailwindcss/theme.css",
)
).text();

View File

@@ -10,8 +10,9 @@ import {
CandlestickData,
ISeriesApi,
BaselineData,
} from "./v4.2.2/types";
} from "./v5.0.4/types";
import { Color, Valued, ValuedCandlestickData } from "../../scripts/types/self";
import { VecId, VecIdToIndexes } from "../../scripts/types/vecid-to-indexes";
interface BaseSeriesBlueprint {
title: string;
@@ -47,7 +48,7 @@ type RemoveSeriesBlueprintFluff<Blueprint extends AnySpecificSeriesBlueprint> =
Omit<Blueprint, "type" | "title">;
type SplitSeriesBlueprint = {
datasetPath: AnyDatasetPath;
key: VecId;
main?: boolean;
} & AnySpecificSeriesBlueprint;
@@ -64,7 +65,6 @@ interface BaseSeries {
color: Color | Color[];
active: Signal<boolean>;
visible: Accessor<boolean>;
disabled: Accessor<boolean>;
}
interface SingleSeries extends BaseSeries {
iseries: ISeriesApi<any>;
@@ -72,7 +72,7 @@ interface SingleSeries extends BaseSeries {
}
interface SplitSeries extends BaseSeries {
chunks: Array<Accessor<ISeriesApi<SeriesType> | undefined>>;
dataset: ResourceDataset<TimeScale, number>;
// dataset: ResourceDataset<number>;
}
type AnySeries = SingleSeries | SplitSeries;
@@ -81,8 +81,8 @@ interface CreateSingleSeriesParameters {
id: string;
}
interface CreateSplitSeriesParameters<S extends TimeScale> {
dataset: ResourceDataset<S>;
interface CreateSplitSeriesParameters {
// dataset: ResourceDataset;
blueprint: SplitSeriesBlueprint;
id: string;
index: number;
@@ -95,9 +95,7 @@ type ChartPane = IChartApi & {
setHidden: (b: boolean) => void;
setInitialVisibleTimeRange: VoidFunction;
createSingleSeries: (a: CreateSingleSeriesParameters) => SingleSeries;
createSplitSeries: <S extends TimeScale>(
a: CreateSplitSeriesParameters<S>,
) => SplitSeries[];
createSplitSeries: (a: CreateSplitSeriesParameters) => SplitSeries[];
anySeries: AnySeries[];
singleSeries: SingleSeries[];
splitSeries: SplitSeries[];
@@ -105,7 +103,7 @@ type ChartPane = IChartApi & {
};
interface CreatePaneParameters {
unit: Unit;
// unit: Unit;
paneIndex?: number;
options?: DeepPartial<ChartOptions>;
config?: SingleSeriesBlueprint[];

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -7,160 +7,172 @@
* @param {Accessor<ChartOption>} args.selected
* @param {Signals} args.signals
* @param {Utilities} args.utils
* @param {Datasets} args.datasets
* @param {Constants} args.consts
* @param {WebSockets} args.webSockets
* @param {Elements} args.elements
*/
export function init({
colors,
datasets,
elements,
lightweightCharts,
selected,
signals,
utils,
consts,
webSockets,
}) {
console.log("init chart state");
const scale = signals.createMemo(() => selected().scale);
elements.charts.append(utils.dom.createShadow("left"));
elements.charts.append(utils.dom.createShadow("right"));
const { headerElement, titleElement, descriptionElement } =
utils.dom.createHeader({});
const { headerElement, titleElement } = utils.dom.createHeader({});
elements.charts.append(headerElement);
signals.createEffect(selected, (option) => {
titleElement.innerHTML = option.title;
descriptionElement.innerHTML = option.serializedPath;
});
const chart = lightweightCharts.createChart({
const chart = lightweightCharts.createChartElement({
parent: elements.charts,
signals,
colors,
id: "chart",
scale: scale(),
kind: "moveable",
consts,
kind: "scrollable",
utils,
});
const activeDatasets = signals.createSignal(
/** @type {Set<ResourceDataset<any, any>>} */ (new Set()),
{
equals: false,
},
);
const indexes = utils.dom.createHorizontalChoiceField({
title: "Index",
selected: "date",
choices: [
"Height",
"Timestamp",
"Date",
"Week",
"Difficulty Epoch",
"Month",
"Year",
"Halving Epoch",
"Decade",
],
id: "index",
signals,
});
function createFetchChunksOfVisibleDatasetsEffect() {
signals.createEffect(
() => ({
ids: chart.visibleDatasetIds(),
activeDatasets: activeDatasets(),
}),
({ ids, activeDatasets }) => {
const datasets = Array.from(activeDatasets);
const fieldset = window.document.createElement("fieldset");
fieldset.append(indexes);
if (ids.length === 0 || datasets.length === 0) return;
elements.charts.append(fieldset);
for (let i = 0; i < ids.length; i++) {
const id = ids[i];
for (let j = 0; j < datasets.length; j++) {
datasets[j].fetch(id);
}
}
},
);
}
createFetchChunksOfVisibleDatasetsEffect();
// const activeDatasets = signals.createSignal(
// /** @type {Set<ResourceDataset<any, any>>} */ (new Set()),
// {
// equals: false,
// },
// );
/**
* @param {ChartOption} option
*/
function applyChartOption(option) {
const scale = option.scale;
chart.visibleTimeRange.set(chart.getInitialVisibleTimeRange());
// function createFetchChunksOfVisibleDatasetsEffect() {
// signals.createEffect(
// () => ({
// ids: chart.visibleDatasetIds(),
// activeDatasets: activeDatasets(),
// }),
// ({ ids, activeDatasets }) => {
// const datasets = Array.from(activeDatasets);
activeDatasets.set((s) => {
s.clear();
return s;
});
// if (ids.length === 0 || datasets.length === 0) return;
const chartsBlueprints = [option.top || [], option.bottom].flatMap(
(list) => (list ? [list] : []),
);
// for (let i = 0; i < ids.length; i++) {
// const id = ids[i];
// for (let j = 0; j < datasets.length; j++) {
// datasets[j].fetch(id);
// }
// }
// },
// );
// }
// createFetchChunksOfVisibleDatasetsEffect();
chartsBlueprints.map((seriesBlueprints, paneIndex) => {
const chartPane = chart.createPane({
paneIndex,
unit: paneIndex ? option.unit : "US Dollars",
});
// /**
// * @param {ChartOption} option
// */
// function applyChartOption(option) {
// chart.visibleTimeRange.set(chart.getInitialVisibleTimeRange());
if (!paneIndex) {
/** @type {AnyDatasetPath} */
const datasetPath = `${scale}-to-price`;
// activeDatasets.set((s) => {
// s.clear();
// return s;
// });
const dataset = datasets.getOrCreate(scale, datasetPath);
// const chartsBlueprints = [option.top || [], option.bottom].flatMap(
// (list) => (list ? [list] : []),
// );
// Don't trigger reactivity by design
activeDatasets().add(dataset);
// chartsBlueprints.map((seriesBlueprints, paneIndex) => {
// const chartPane = chart.createPane({
// paneIndex,
// unit: paneIndex ? option.unit : "US Dollars",
// });
const priceSeries = chartPane.createSplitSeries({
blueprint: {
datasetPath,
title: "BTC Price",
type: "Candlestick",
},
dataset,
id: option.id,
index: -1,
});
// if (!paneIndex) {
// /** @type {AnyDatasetPath} */
// const datasetPath = `${scale}-to-price`;
signals.createEffect(webSockets.kraken1dCandle.latest, (latest) => {
if (!latest) return;
// const dataset = datasets.getOrCreate(scale, datasetPath);
const index = utils.chunkIdToIndex(scale, latest.year);
// // Don't trigger reactivity by design
// activeDatasets().add(dataset);
priceSeries.forEach((splitSeries) => {
const series = splitSeries.chunks.at(index);
if (series) {
signals.createEffect(series, (series) => {
series?.update(latest);
});
}
});
});
}
// const priceSeries = chartPane.createSplitSeries({
// blueprint: {
// datasetPath,
// title: "BTC Price",
// type: "Candlestick",
// },
// dataset,
// id: option.id,
// index: -1,
// });
[...seriesBlueprints].reverse().forEach((blueprint, index) => {
const dataset = datasets.getOrCreate(scale, blueprint.datasetPath);
// signals.createEffect(webSockets.kraken1dCandle.latest, (latest) => {
// if (!latest) return;
// Don't trigger reactivity by design
activeDatasets().add(dataset);
// const index = utils.chunkIdToIndex(scale, latest.year);
chartPane.createSplitSeries({
index,
blueprint,
id: option.id,
dataset,
});
});
// priceSeries.forEach((splitSeries) => {
// const series = splitSeries.chunks.at(index);
// if (series) {
// signals.createEffect(series, (series) => {
// series?.update(latest);
// });
// }
// });
// });
// }
activeDatasets.set((s) => s);
// [...seriesBlueprints].reverse().forEach((blueprint, index) => {
// const dataset = datasets.getOrCreate(scale, blueprint.datasetPath);
return chart;
});
}
// // Don't trigger reactivity by design
// activeDatasets().add(dataset);
function createApplyChartOptionEffect() {
signals.createEffect(selected, (option) => {
chart.reset({ scale: option.scale, owner: signals.getOwner() });
applyChartOption(option);
});
}
createApplyChartOptionEffect();
// chartPane.createSplitSeries({
// index,
// blueprint,
// id: option.id,
// dataset,
// });
// });
// activeDatasets.set((s) => s);
// return chart;
// });
// }
// function createApplyChartOptionEffect() {
// signals.createEffect(selected, (option) => {
// chart.reset({ scale: option.scale, owner: signals.getOwner() });
// applyChartOption(option);
// });
// }
// createApplyChartOptionEffect();
}

View File

@@ -1,43 +0,0 @@
// @ts-check
/**
* @import {Options} from './options';
*/
/**
* @param {Object} args
* @param {Colors} args.colors
* @param {Constants} args.consts
* @param {LightweightCharts} args.lightweightCharts
* @param {Signals} args.signals
* @param {Utilities} args.utils
* @param {Options} args.options
* @param {Datasets} args.datasets
* @param {WebSockets} args.webSockets
* @param {Elements} args.elements
* @param {Ids} args.ids
* @param {Accessor<boolean>} args.dark
*/
export function init({
colors,
consts,
dark,
datasets,
elements,
ids,
lightweightCharts,
options,
signals,
utils,
webSockets,
}) {
const livePriceElement = elements.livePrice;
const price = window.document.createElement("h1");
livePriceElement.append(price);
signals.createEffect(webSockets.kraken1dCandle.latest, (candle) => {
if (!candle) return;
price.innerHTML = utils.formatters.dollars.format(candle.close);
});
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,47 +0,0 @@
// @ts-check
/**
* @import {Options} from './options';
*/
/**
* @param {Object} args
* @param {Colors} args.colors
* @param {Constants} args.consts
* @param {Signals} args.signals
* @param {Utilities} args.utils
* @param {Options} args.options
* @param {Datasets} args.datasets
* @param {WebSockets} args.webSockets
* @param {Elements} args.elements
* @param {Ids} args.ids
* @param {Accessor<boolean>} args.dark
*/
export function init({
colors,
consts,
dark,
datasets,
elements,
ids,
options,
signals,
utils,
webSockets,
}) {
const moscowTimeElement = elements.moscowTime;
const satsPerDollar = signals.createMemo(
() =>
100_000_000 /
// webSockets.kraken5mnCandle.latest()?.close ||
(webSockets.kraken1dCandle.latest()?.close || 0),
);
const p = window.document.createElement("h1");
moscowTimeElement.append(p);
signals.createEffect(satsPerDollar, (satsPerDollar) => {
p.innerHTML = utils.formatters.dollars.format(satsPerDollar);
});
}

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@ self.addEventListener("install", (_event) => {
"/scripts/simulation.js",
"/styles/simulation.css",
"/packages/lean-qr/v2.3.4/script.js",
"/packages/lightweight-charts/v4.2.2/script.js",
"/packages/lightweight-charts/v5.0.4/script.js",
"/packages/solid-signals/2024-11-02/script.js",
"/packages/ufuzzy/v1.0.14/script.js",
]);

View File

@@ -1,31 +1,35 @@
// @ts-check
/**
* @import { Options } from './options';
* @import { ColorName, Frequencies, Frequency } from './types/self';
*/
/**
* @param {Object} args
* @param {Colors} args.colors
* @param {LightweightCharts} args.lightweightCharts
* @param {Signals} args.signals
* @param {Utilities} args.utils
* @param {Datasets} args.datasets
* @param {Elements} args.elements
* @param {Constants} args.consts
* @param {Signal<LastValues>} args.lastValues
*/
export function init({
colors,
datasets,
elements,
lightweightCharts,
signals,
utils,
consts,
lastValues,
}) {
/**
* @import { ColorName } from './types/self';
*
* @typedef {Object} Frequency
* @property {string} name
* @property {string} value
* @property {(date: Date) => boolean} isTriggerDay
*
* @typedef {Object} Frequencies
* @property {string} name
* @property {Frequency[]} list
*/
const simulationElement = elements.simulation;
const parametersElement = window.document.createElement("div");
@@ -545,7 +549,7 @@ export function init({
},
);
lightweightCharts.createChart({
lightweightCharts.createChartElement({
parent: resultsElement,
signals,
colors,
@@ -587,7 +591,7 @@ export function init({
],
});
lightweightCharts.createChart({
lightweightCharts.createChartElement({
parent: resultsElement,
signals,
colors,
@@ -611,7 +615,7 @@ export function init({
],
});
lightweightCharts.createChart({
lightweightCharts.createChartElement({
parent: resultsElement,
signals,
colors,
@@ -641,7 +645,7 @@ export function init({
],
});
lightweightCharts.createChart({
lightweightCharts.createChartElement({
parent: resultsElement,
signals,
colors,
@@ -674,7 +678,7 @@ export function init({
],
});
lightweightCharts.createChart({
lightweightCharts.createChartElement({
parent: resultsElement,
signals,
colors,
@@ -781,7 +785,7 @@ export function init({
dollars += topUpAmount;
}
const close = closes.fetchedJSONs
const close = closes.ranges
.at(utils.chunkIdToIndex("date", year))
?.json()?.dataset.map[utils.date.toString(date)];

Some files were not shown because too many files have changed in this diff Show More