parser: reactivate bkp url for price fetching

This commit is contained in:
k
2024-07-26 17:07:19 +02:00
parent b68b016091
commit afacea3fbb
12 changed files with 175 additions and 139 deletions
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## v. 0.X.Y | WIP
![Image of the Satonomics Web App version 0.X.Y](./assets/v0.X.Y.jpg)
## v. 0.3.0 | [853930](https://mempool.space/block/00000000000000000002eb5e9a7950ca2d5d98bd1ed28fc9098aa630d417985d) - 2024/07/26
![Image of the Satonomics Web App version 0.3.0](./assets/v0.3.0.jpg)
+2 -2
View File
@@ -34,7 +34,7 @@
"prettier-plugin-tailwindcss": "^0.6.5",
"pwa-asset-generator": "^6.3.1",
"rollup-plugin-visualizer": "^5.12.0",
"tailwindcss": "^3.4.6",
"tailwindcss": "^3.4.7",
"typescript": "^5.5.4",
"unplugin-auto-import": "^0.18.2",
"unplugin-icons": "^0.19.0",
@@ -42,6 +42,6 @@
"vite-plugin-pwa": "^0.20.1",
"vite-plugin-solid": "^2.10.2",
"workbox-window": "^7.1.0",
"wrangler": "^3.66.0"
"wrangler": "^3.67.0"
}
}
+14 -14
View File
@@ -36,7 +36,7 @@ devDependencies:
version: 1.1.118
'@tailwindcss/container-queries':
specifier: ^0.1.1
version: 0.1.1(tailwindcss@3.4.6)
version: 0.1.1(tailwindcss@3.4.7)
autoprefixer:
specifier: ^10.4.19
version: 10.4.19(postcss@8.4.40)
@@ -56,8 +56,8 @@ devDependencies:
specifier: ^5.12.0
version: 5.12.0(rollup@2.79.1)
tailwindcss:
specifier: ^3.4.6
version: 3.4.6
specifier: ^3.4.7
version: 3.4.7
typescript:
specifier: ^5.5.4
version: 5.5.4
@@ -80,8 +80,8 @@ devDependencies:
specifier: ^7.1.0
version: 7.1.0
wrangler:
specifier: ^3.66.0
version: 3.66.0
specifier: ^3.67.0
version: 3.67.0
packages:
@@ -2295,12 +2295,12 @@ packages:
string.prototype.matchall: 4.0.11
dev: true
/@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.6):
/@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.7):
resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==}
peerDependencies:
tailwindcss: '>=3.2.0'
dependencies:
tailwindcss: 3.4.6
tailwindcss: 3.4.7
dev: true
/@types/babel__core@7.20.5:
@@ -2635,7 +2635,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001643
electron-to-chromium: 1.5.1
electron-to-chromium: 1.5.2
node-releases: 2.0.18
update-browserslist-db: 1.1.0(browserslist@4.23.2)
dev: true
@@ -3101,8 +3101,8 @@ packages:
jake: 10.9.2
dev: true
/electron-to-chromium@1.5.1:
resolution: {integrity: sha512-FKbOCOQ5QRB3VlIbl1LZQefWIYwszlBloaXcY2rbfpu9ioJnNh3TK03YtIDKDo3WKBi8u+YV4+Fn2CkEozgf4w==}
/electron-to-chromium@1.5.2:
resolution: {integrity: sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==}
dev: true
/emoji-regex@8.0.0:
@@ -5469,8 +5469,8 @@ packages:
engines: {node: '>= 0.4'}
dev: true
/tailwindcss@3.4.6:
resolution: {integrity: sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==}
/tailwindcss@3.4.7:
resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
@@ -6184,8 +6184,8 @@ packages:
'@cloudflare/workerd-windows-64': 1.20240718.0
dev: true
/wrangler@3.66.0:
resolution: {integrity: sha512-5fEyXsP8qvrUeR13kCfA3OG1z/ABx+/a8hzIA55nCUM2/tjI67ZkfeN1VdOmG6cipZDvs4HfN8rp7j+e+21nKA==}
/wrangler@3.67.0:
resolution: {integrity: sha512-elun6p9rAmGr/CtnCixhUXWeKT+LnFbHDsLLizgAlFJbsgCPV/O1if7uMjTGD/fUJNXrwbTVRpxvInz5X9gE2Q==}
engines: {node: '>=16.17.0'}
hasBin: true
peerDependencies:
+7 -3
View File
@@ -1,3 +1,4 @@
import { phone, touchScreen } from "/src/env";
import { createRWS } from "/src/solid/rws";
const texts = [
@@ -135,9 +136,12 @@ function TextWrapper({
}
});
onMount(() => {
seconds.set(Math.round(p()!.clientWidth / 20));
});
// Bug in Safari iOS, not sure where else, works perfectly on Mac OS though
if (!touchScreen) {
onMount(() => {
seconds.set(Math.round(p()!.clientWidth / 20));
});
}
return (
<p
+9 -85
View File
@@ -12,6 +12,7 @@ import {
import { readBooleanURLParam, writeURLParam } from "../scripts/utils/urlParams";
import { webSockets } from "../scripts/ws";
import { classPropToString } from "../solid/classes";
import { createPreferredColorSchemeAccessor } from "../solid/prefferedColorScheme";
import { Background } from "./components/background";
import { ChartFrame } from "./components/frames/chart";
import { FavoritesFrame } from "./components/frames/favorites";
@@ -20,6 +21,7 @@ import { HistoryFrame } from "./components/frames/history";
import { SettingsFrame } from "./components/frames/settings";
import { StripDesktop, StripMobile } from "./components/strip";
import { Update } from "./components/update";
import { createUserConfig } from "./scripts/user";
const LOCAL_STORAGE_BAR_KEY = "bar-width";
const LOCAL_STORAGE_FULLSCREEN = "fullscrenn";
@@ -29,90 +31,12 @@ export const INPUT_PRESET_SEARCH_ID = "input-search-preset";
export function App() {
const tabFocused = createRWS(true);
const qrcode = createRWS("");
const appTheme = createSL(["System", "Dark", "Light"] as const, {
saveable: {
key: "app-theme",
mode: "localStorage",
},
defaultIndex: 0,
});
const dark = createRWS(false);
const preferredColorSchemeMatchMedia = window.matchMedia(
"(prefers-color-scheme: dark)",
);
const preferredSystemTheme = createRWS<"light" | "dark">(
preferredColorSchemeMatchMedia.matches ? "dark" : "light",
);
function preferredColorSchemeListener(event: MediaQueryListEvent) {
return preferredSystemTheme.set(event.matches ? "dark" : "light");
}
preferredColorSchemeMatchMedia.addEventListener(
"change",
preferredColorSchemeListener,
);
onCleanup(() => {
preferredColorSchemeMatchMedia.removeEventListener(
"change",
preferredColorSchemeListener,
);
const userConfig = createUserConfig({
dark,
});
createEffect(() => {
if (
appTheme.selected() === "Dark" ||
(appTheme.selected() === "System" && preferredSystemTheme() === "dark")
) {
dark.set(true);
document.documentElement.classList.add("dark");
} else {
dark.set(false);
document.documentElement.classList.remove("dark");
}
});
const backgroundMode = createSL(["Scroll", "Static"] as const, {
saveable: {
key: "bg-mode",
mode: "localStorage",
},
defaultIndex: 0,
});
const backgroundOpacity = createSL(
[
{
text: "Strong",
value: 0.0444,
},
{
text: "Normal",
value: 0.0333,
},
{
text: "Light",
value: 0.0222,
},
{
text: "Subtle",
value: 0.0111,
},
] as const,
{
saveable: {
key: "bg-text-opacity",
mode: "localStorage",
},
defaultIndex: 2,
},
);
const fullscreen = createRWS(
readBooleanURLParam(LOCAL_STORAGE_FULLSCREEN) ||
readBooleanFromStorage(LOCAL_STORAGE_FULLSCREEN) ||
@@ -240,8 +164,8 @@ export function App() {
<>
<Background
focused={tabFocused}
mode={backgroundMode}
opacity={backgroundOpacity}
mode={userConfig.settings.background.mode}
opacity={userConfig.settings.background.opacity}
/>
<div
@@ -321,9 +245,9 @@ export function App() {
<HistoryFrame presets={presets} selectedFrame={selectedFrame} />
<SettingsFrame
selectedFrame={selectedFrame}
appTheme={appTheme}
backgroundMode={backgroundMode}
backgroundOpacity={backgroundOpacity}
appTheme={userConfig.settings.appTheme}
backgroundMode={userConfig.settings.background.mode}
backgroundOpacity={userConfig.settings.background.opacity}
/>
</div>
+1
View File
@@ -0,0 +1 @@
type UserConfig = ReturnType<typeof import("./user").createUserConfig>;
+70
View File
@@ -0,0 +1,70 @@
import { createSL } from "/src/scripts/utils/selectableList/static";
import { createPreferredColorSchemeAccessor } from "/src/solid/prefferedColorScheme";
export function createUserConfig({ dark }: { dark: RWS<boolean> }) {
const userConfig = {
settings: {
appTheme: createSL(["System", "Dark", "Light"] as const, {
saveable: {
key: "app-theme",
mode: "localStorage",
},
defaultIndex: 1,
}),
background: {
mode: createSL(["Scroll", "Static"] as const, {
saveable: {
key: "bg-mode",
mode: "localStorage",
},
defaultIndex: 0,
}),
opacity: createSL(
[
{
text: "Strong",
value: 0.0444,
},
{
text: "Normal",
value: 0.0333,
},
{
text: "Light",
value: 0.0222,
},
{
text: "Subtle",
value: 0.0111,
},
] as const,
{
saveable: {
key: "bg-text-opacity",
mode: "localStorage",
},
defaultIndex: 2,
},
),
},
},
};
const preferredSystemTheme = createPreferredColorSchemeAccessor();
createEffect(() => {
if (
userConfig.settings.appTheme.selected() === "Dark" ||
(userConfig.settings.appTheme.selected() === "System" &&
preferredSystemTheme() === "dark")
) {
dark.set(true);
document.documentElement.classList.add("dark");
} else {
dark.set(false);
document.documentElement.classList.remove("dark");
}
});
return userConfig;
}
+31
View File
@@ -0,0 +1,31 @@
import { createRWS } from "./rws";
type ColorScheme = "light" | "dark";
export function createPreferredColorSchemeAccessor() {
const preferredColorSchemeMatchMedia = window.matchMedia(
"(prefers-color-scheme: dark)",
);
const preferredColorScheme = createRWS<ColorScheme>(
preferredColorSchemeMatchMedia.matches ? "dark" : "light",
);
function preferredColorSchemeListener(event: MediaQueryListEvent) {
return preferredColorScheme.set(event.matches ? "dark" : "light");
}
preferredColorSchemeMatchMedia.addEventListener(
"change",
preferredColorSchemeListener,
);
onCleanup(() => {
preferredColorSchemeMatchMedia.removeEventListener(
"change",
preferredColorSchemeListener,
);
});
return preferredColorScheme satisfies Accessor<ColorScheme>;
}
+14 -14
View File
@@ -301,9 +301,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.9"
version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
"clap_derive",
@@ -311,9 +311,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.9"
version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
@@ -323,9 +323,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.8"
version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck",
"proc-macro2",
@@ -1625,9 +1625,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
version = "0.6.6"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
@@ -1860,9 +1860,9 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.15"
version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c"
dependencies = [
"serde",
"serde_spanned",
@@ -1872,18 +1872,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
version = "0.6.6"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.22.16"
version = "0.22.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
dependencies = [
"indexmap",
"serde",
+2 -2
View File
@@ -15,7 +15,7 @@ bitcoin = { version = "0.32.2", features = ["serde"] }
bitcoin_hashes = { version = "0.14.0" }
byteorder = "1.5.0"
chrono = { version = "0.4.38", features = ["serde"] }
clap = { version = "4.5.9", features = ["derive"] }
clap = { version = "4.5.11", features = ["derive"] }
color-eyre = "0.6.3"
db-key = "=0.0.5"
derive_deref = "1.1.1"
@@ -30,4 +30,4 @@ reqwest = { version = "0.12.5", features = ["blocking", "json"] }
sanakirja = "1.4.2"
serde = { version = "1.0.204", features = ["derive"] }
serde_json = "1.0.120"
toml = "0.8.15"
toml = "0.8.16"
+5 -5
View File
@@ -21,11 +21,11 @@ const RETRIES: usize = 10;
impl Satonomics {
fn get_base_url(try_index: usize) -> &'static str {
// if try_index < RETRIES / 2 {
SATONOMICS_OFFICIAL_URL
// } else {
// SATONOMICS_OFFICIAL_BACKUP_URL
// }
if try_index < RETRIES / 2 {
SATONOMICS_OFFICIAL_URL
} else {
SATONOMICS_OFFICIAL_BACKUP_URL
}
}
pub fn fetch_height_prices(chunk_id: HeightMapChunkId) -> color_eyre::Result<Vec<OHLC>> {
+14 -14
View File
@@ -432,9 +432,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.9"
version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
"clap_derive",
@@ -442,9 +442,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.9"
version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
@@ -454,9 +454,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.8"
version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck",
"proc-macro2",
@@ -1852,9 +1852,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
version = "0.6.6"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
@@ -2135,9 +2135,9 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.15"
version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c"
dependencies = [
"serde",
"serde_spanned",
@@ -2147,18 +2147,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
version = "0.6.6"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.22.16"
version = "0.22.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
dependencies = [
"indexmap",
"serde",