From 1d5efa42e8738f0466b93a13333116ae5ad06973 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 01:24:27 +0000 Subject: [PATCH 01/39] Bump tslib from 2.6.3 to 2.7.0 Bumps [tslib](https://github.com/Microsoft/tslib) from 2.6.3 to 2.7.0. - [Release notes](https://github.com/Microsoft/tslib/releases) - [Commits](https://github.com/Microsoft/tslib/compare/v2.6.3...v2.7.0) --- updated-dependencies: - dependency-name: tslib dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35d6d1e..f40b671 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4271,15 +4271,10 @@ ts-toolbelt@^9.6.0: resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5" integrity sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w== -tslib@^2.3.0, tslib@^2.4.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== - -tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.3.0, tslib@^2.4.0, tslib@^2.4.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tunnel-agent@^0.6.0: version "0.6.0" From eafe9d6341fc24ecfda0e17fea736cc121c45269 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 01:24:36 +0000 Subject: [PATCH 02/39] Bump vite from 5.4.2 to 5.4.3 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.2 to 5.4.3. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35d6d1e..7ba5d04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3342,16 +3342,7 @@ postcss-selector-parser@^6.1.0: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss@^8.4.38: - version "8.4.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" - integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" - -postcss@^8.4.39: +postcss@^8.4.38, postcss@^8.4.39, postcss@^8.4.43: version "8.4.44" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.44.tgz#d56834ef6508610ba224bb22b2457b2169ed0480" integrity sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw== @@ -3360,15 +3351,6 @@ postcss@^8.4.39: picocolors "^1.0.1" source-map-js "^1.2.0" -postcss@^8.4.41: - version "8.4.41" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" - integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" - prebuild-install@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.2.tgz#a5fd9986f5a6251fbc47e1e5c65de71e68c0a056" @@ -4398,12 +4380,12 @@ vite-node@2.0.5: vite "^5.0.0" vite@^5.0.0, vite@^5.4.2: - version "5.4.2" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.2.tgz#8acb6ec4bfab823cdfc1cb2d6c53ed311bc4e47e" - integrity sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA== + version "5.4.3" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.3.tgz#771c470e808cb6732f204e1ee96c2ed65b97a0eb" + integrity sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q== dependencies: esbuild "^0.21.3" - postcss "^8.4.41" + postcss "^8.4.43" rollup "^4.20.0" optionalDependencies: fsevents "~2.3.3" From 80d1211f91310202c4a0d5aafec1fcdb56c6e030 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 01:25:01 +0000 Subject: [PATCH 03/39] Bump @vitest/ui from 0.34.7 to 2.0.5 Bumps [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) from 0.34.7 to 2.0.5. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.5/packages/ui) --- updated-dependencies: - dependency-name: "@vitest/ui" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 79 +++++++++++----------------------------------------- 2 files changed, 17 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index b84537e..fb5d75b 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@types/swagger-ui": "^3.52.4", "@typescript-eslint/eslint-plugin": "^8.4.0", "@typescript-eslint/parser": "^8.4.0", - "@vitest/ui": "^0.34.6", + "@vitest/ui": "^2.0.5", "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.36.0", diff --git a/yarn.lock b/yarn.lock index 35d6d1e..6812c97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -414,13 +414,6 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" @@ -653,11 +646,6 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - "@sveltejs/adapter-auto@^3.0.0": version "3.2.4" resolved "https://registry.yarnpkg.com/@sveltejs/adapter-auto/-/adapter-auto-3.2.4.tgz#fe0dc1aa986cfa8a37deca4050ccec3f53db1c2a" @@ -1314,27 +1302,18 @@ dependencies: tinyspy "^3.0.0" -"@vitest/ui@^0.34.6": - version "0.34.7" - resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-0.34.7.tgz#9ca5704025bcab7c7852e800d3765103edb60059" - integrity sha512-iizUu9R5Rsvsq8FtdJ0suMqEfIsIIzziqnasMHe4VH8vG+FnZSA3UAtCHx6rLeRupIFVAVg7bptMmuvMcsn8WQ== +"@vitest/ui@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-2.0.5.tgz#cfae5f6c7a1cc8cd1be87c88153215cb60a2cc0d" + integrity sha512-m+ZpVt/PVi/nbeRKEjdiYeoh0aOfI9zr3Ria9LO7V2PlMETtAXJS3uETEZkc8Be2oOl8mhd7Ew+5SRBXRYncNw== dependencies: - "@vitest/utils" "0.34.7" - fast-glob "^3.3.0" - fflate "^0.8.0" - flatted "^3.2.7" - pathe "^1.1.1" - picocolors "^1.0.0" - sirv "^2.0.3" - -"@vitest/utils@0.34.7": - version "0.34.7" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.34.7.tgz#46d0d27cd0f6ca1894257d4e141c5c48d7f50295" - integrity sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg== - dependencies: - diff-sequences "^29.4.3" - loupe "^2.3.6" - pretty-format "^29.5.0" + "@vitest/utils" "2.0.5" + fast-glob "^3.3.2" + fflate "^0.8.2" + flatted "^3.3.1" + pathe "^1.1.2" + sirv "^2.0.4" + tinyrainbow "^1.2.0" "@vitest/utils@2.0.5": version "2.0.5" @@ -1863,11 +1842,6 @@ devalue@^5.0.0: resolved "https://registry.yarnpkg.com/devalue/-/devalue-5.0.0.tgz#1ca0099a7d715b4d6cac3924e770ccbbc584ad98" integrity sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA== -diff-sequences@^29.4.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - dom-accessibility-api@^0.5.9: version "0.5.16" resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" @@ -2225,7 +2199,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.3.0, fast-glob@^3.3.2: +fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -2265,7 +2239,7 @@ fault@^1.0.0: dependencies: format "^0.2.0" -fflate@^0.8.0: +fflate@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== @@ -2307,7 +2281,7 @@ flat-cache@^4.0.0: flatted "^3.2.9" keyv "^4.5.4" -flatted@^3.2.7, flatted@^3.2.9: +flatted@^3.2.9, flatted@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== @@ -2873,13 +2847,6 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - loupe@^3.1.0, loupe@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" @@ -3273,7 +3240,7 @@ path-key@^4.0.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -pathe@^1.1.1, pathe@^1.1.2: +pathe@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== @@ -3411,15 +3378,6 @@ pretty-format@^27.0.2: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^29.5.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - prismjs@^1.27.0: version "1.29.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" @@ -3577,11 +3535,6 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - react-redux@^9.1.2: version "9.1.2" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.1.2.tgz#deba38c64c3403e9abd0c3fbeab69ffd9d8a7e4b" @@ -3886,7 +3839,7 @@ simple-get@^4.0.0: once "^1.3.1" simple-concat "^1.0.0" -sirv@^2.0.3, sirv@^2.0.4: +sirv@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== From af81b14b867aab9d294ea6e6a2481de52ef447ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 01:25:08 +0000 Subject: [PATCH 04/39] Bump sass from 1.77.8 to 1.78.0 Bumps [sass](https://github.com/sass/dart-sass) from 1.77.8 to 1.78.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.77.8...1.78.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35d6d1e..0b8a525 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3771,9 +3771,9 @@ sander@^0.5.0: rimraf "^2.5.2" sass@^1.69.5: - version "1.77.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd" - integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ== + version "1.78.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841" + integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From b5d384023b821f52108f8388dfb559d3b1494b7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 01:15:21 +0000 Subject: [PATCH 05/39] Bump @sveltejs/kit from 2.5.25 to 2.5.26 Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 2.5.25 to 2.5.26. - [Release notes](https://github.com/sveltejs/kit/releases) - [Changelog](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md) - [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.5.26/packages/kit) --- updated-dependencies: - dependency-name: "@sveltejs/kit" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35d6d1e..bbac28b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -671,9 +671,9 @@ integrity sha512-Qm4GAHCnRXwfWG9/AtnQ7mqjyjTs7i0Opyb8H2KH9rMR7fLxqiPx/tXeoE6HHo66+72CjyOb4nFH3lrejY4vzA== "@sveltejs/kit@^2.0.0": - version "2.5.25" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.5.25.tgz#618bc81b0f0c9afad73d2d8e5352b7462b949de3" - integrity sha512-5hBSEN8XEjDZ5+2bHkFh8Z0QyOk0C187cyb12aANe1c8aeKbfu5ZD5XaC2vEH4h0alJFDXPdUkXQBmeeXeMr1A== + version "2.5.26" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.5.26.tgz#f6a73027346d2f2e3be120446f5dccace6ca6c25" + integrity sha512-8l1JTIM2L+bS8ebq1E+nGjv/YSKSnD9Q19bYIUkc41vaEG2JjVUx6ikvPIJv2hkQAuqJLzoPrXlKk4KcyWOv3Q== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" From 3d695700995f480983cdc99d2651eefff628bb8a Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 5 Sep 2024 13:10:58 +0200 Subject: [PATCH 06/39] Improve multi-currency support --- src/routes/+page.svelte | 3 +- src/routes/Settings.svelte | 85 ++++++++++++++++++++++++-------------- src/routes/Status.svelte | 4 +- 3 files changed, 57 insertions(+), 35 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 4100d86..9e26acb 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -12,7 +12,8 @@ import { uiSettings } from '$lib/uiSettings'; let settings = writable({ - fgColor: '0' + fgColor: '0', + bgColor: '0' }); // let uiSettings = writable({ diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 78f1fe1..9a6b0f2 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -22,6 +22,7 @@ } from '@sveltestrap/sveltestrap'; import EyeIcon from '../icons/EyeIcon.svelte'; import EyeSlashIcon from '../icons/EyeSlashIcon.svelte'; + import { derived } from 'svelte/store'; export let settings; @@ -160,6 +161,40 @@ let showPassword = false; + let textColor = '0'; + const colorStore = derived(settings, ($settings) => ({ + fgColor: $settings.fgColor, + bgColor: $settings.bgColor + })); + + // $: { + // if ($colorStore) { + // console.log('Settings model changed:', $colorStore); + // if ($colorStore.fgColor < $colorStore.bgColor) + // textColor = "0"; + // else + // textColor = "1"; // 65535 + // } + // } + + colorStore.subscribe(() => { + if ($colorStore) { + if ($colorStore.fgColor < $colorStore.bgColor) textColor = '0'; + else textColor = '1'; // 65535 + } + }); + + const setTextColor = () => { + console.log(textColor); + if (textColor == '1') { + $settings.fgColor = 65535; + $settings.bgColor = 0; + } else { + $settings.fgColor = 0; + $settings.bgColor = 65535; + } + }; + export let xs = 12; export let sm = xs; export let md = sm; @@ -176,41 +211,25 @@
- - - - - - - - - - - - + + + {/if} - - - + {#if !$settings.actCurrencies} + + + + {/if} - {#if $settings.actCurrencies} + {#if $settings.actCurrencies && $settings.ownDataSource}
{#each $settings.actCurrencies as c} @@ -248,7 +248,7 @@ {:else} {$_('section.status.wsDataConnection')}: - {#if $status.connectionStatus && $status.connectionStatus.price} + {#if $status.connectionStatus && $status.connectionStatus.V2} ✅ {:else} ❌ From 2fffb3ef0284b4262ca97a81eb979259186604e5 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 5 Sep 2024 13:42:16 +0200 Subject: [PATCH 07/39] Add staging source toggle --- src/lib/locales/en.json | 3 ++- src/routes/Settings.svelte | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index c518200..c00bd15 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -52,7 +52,8 @@ "httpAuthUser": "WebUI Username", "httpAuthPass": "WebUI Password", "httpAuthText": "Only password-protects WebUI, not API-calls.", - "currencies": "Currencies" + "currencies": "Currencies", + "stagingSource": "Use Staging datasource (for development)" }, "control": { "systemInfo": "System info", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 9a6b0f2..bd15fdd 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -770,6 +770,17 @@ label="{$_('section.settings.httpAuthEnabled')} ({$_('restartRequired')})" /> + {#if 'stagingSource' in $settings} + + + + {/if} From 1fa62ca88dc9cf85109712082e2b0d3916d03323 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Mon, 9 Sep 2024 14:51:20 +0200 Subject: [PATCH 08/39] Minor dependency updates --- yarn.lock | 111 +++++++++++++++++++++++++++++------------------------- 1 file changed, 59 insertions(+), 52 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3d348e9..2798755 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@actions/core@^1.10.0": version "1.10.1" resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.1.tgz#61108e7ac40acae95ee36da074fa5850ca4ced8a" @@ -340,30 +335,37 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.9.1": - version "9.9.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.1.tgz#4a97e85e982099d6c7ee8410aacb55adaa576f06" - integrity sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ== +"@eslint/js@9.10.0": + version "9.10.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.10.0.tgz#eaa3cb0baec497970bb29e43a153d0d5650143c6" + integrity sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g== "@eslint/object-schema@^2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== +"@eslint/plugin-kit@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz#809b95a0227ee79c3195adfb562eb94352e77974" + integrity sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ== + dependencies: + levn "^0.4.1" + "@fontsource/antonio@^5.0.17": - version "5.0.21" - resolved "https://registry.yarnpkg.com/@fontsource/antonio/-/antonio-5.0.21.tgz#feed95dc119683ce3b84e488e1a77f98c2fb39d4" - integrity sha512-JVjhTN2PQXi0fBLXjIvq8KejqvM8mEMzEVKzSDu/fC76AeGjQ7HNAKmY1gH6KIQT9kRjeYSCDNuSrH84mmHihg== + version "5.0.22" + resolved "https://registry.yarnpkg.com/@fontsource/antonio/-/antonio-5.0.22.tgz#5a43d10383fcdf4af26b60f4dda0cbe9f59f91cf" + integrity sha512-bOD8xZ9SrxPlgtGSxKoTV6ZQfRo1mp4HGvon8+oxR2s3My7tRqGYTLY2FWRVZOMUWfYwzF3tHDEjvbFVGzt4aQ== "@fontsource/oswald@^5.0.17": - version "5.0.21" - resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.0.21.tgz#6e62a4ff8a6c77745ac53bb7d50ad81942f717e4" - integrity sha512-1asbeawh2RyIabEiNpqTiouWJ1/P8SIKu1YhEgXEXzR61XWAsXo521RNs5g3HoEs3SRpaI1mNEpwANwkyIgVaA== + version "5.0.22" + resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.0.22.tgz#d6a0484b8b0a5509e6cf23b5a13eb9488c5af54b" + integrity sha512-86WuXyTSXLS1gJfSOFZZ0lq7r6nsBWOE6SndIREvFoaT45Ayvl0Ql10AnzT8TQl3vklozo8peaMJUaTyjiXPTA== "@fontsource/ubuntu@^5.0.8": - version "5.0.14" - resolved "https://registry.yarnpkg.com/@fontsource/ubuntu/-/ubuntu-5.0.14.tgz#83acec53f341e45c43f5a7e1bd118a8c9e27ac74" - integrity sha512-r8XIWG/yQx5IPQ86gFEsdvzlOKnnO5KZl1Shi1mVbn+c0wBY9jufdOKcIW6Fq4wCnA7EDEPZMxtZdWYjri3C4A== + version "5.0.15" + resolved "https://registry.yarnpkg.com/@fontsource/ubuntu/-/ubuntu-5.0.15.tgz#8efd1ee3ef33a90827d69f9217ebede8b2d31b4d" + integrity sha512-5apHS+ktwaa97TGdsx7okvY+XIz+F+97Pbwckm10DusPElPQqYekXNhfuDB77FCQr/a7aW3kCShq9f0O6Mt5YQ== "@formatjs/ecma402-abstract@1.18.0": version "1.18.0" @@ -507,11 +509,11 @@ fastq "^1.6.0" "@playwright/test@^1.46.0": - version "1.46.1" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.46.1.tgz#a8dfdcd623c4c23bb1b7ea588058aad41055c188" - integrity sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA== + version "1.47.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.47.0.tgz#69fc55b10754147cc20021afbfa05747d4961bf0" + integrity sha512-SgAdlSwYVpToI4e/IH19IHHWvoijAYH5hu2MWSXptRypLSnzj51PcGD+rsOXFayde4P9ZLi+loXVwArg6IUkCA== dependencies: - playwright "1.46.1" + playwright "1.47.0" "@polka/url@^1.0.0-next.24": version "1.0.0-next.25" @@ -1755,19 +1757,19 @@ data-urls@^5.0.0: whatwg-mimetype "^4.0.0" whatwg-url "^14.0.0" -debug@4, debug@^4.3.2: +debug@4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^4.3.1: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== +debug@^4.3.1, debug@^4.3.2: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^4.3.4, debug@^4.3.5: version "4.3.6" @@ -2051,15 +2053,16 @@ eslint-visitor-keys@^4.0.0: integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== eslint@^9.0.0: - version "9.9.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.9.1.tgz#147ac9305d56696fb84cf5bdecafd6517ddc77ec" - integrity sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg== + version "9.10.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.10.0.tgz#0bd74d7fe4db77565d0e7f57c7df6d2b04756806" + integrity sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.11.0" "@eslint/config-array" "^0.18.0" "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.9.1" + "@eslint/js" "9.10.0" + "@eslint/plugin-kit" "^0.1.0" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" @@ -2082,7 +2085,6 @@ eslint@^9.0.0: is-glob "^4.0.0" is-path-inside "^3.0.3" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" @@ -2519,12 +2521,7 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -ignore@^5.3.1: +ignore@^5.2.0, ignore@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== @@ -3005,6 +3002,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nan@^2.14.0, nan@^2.17.0, nan@^2.18.0: version "2.19.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" @@ -3143,16 +3145,16 @@ openapi-server-url-templating@^1.0.0: apg-lite "^1.0.3" optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" os-tmpdir@~1.0.2: version "1.0.2" @@ -3269,17 +3271,17 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -playwright-core@1.46.1: - version "1.46.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.46.1.tgz#28f3ab35312135dda75b0c92a3e5c0e7edb9cc8b" - integrity sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A== +playwright-core@1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.47.0.tgz#b54ec060fd83e5c2e46b63986b5ebb5e96ace427" + integrity sha512-1DyHT8OqkcfCkYUD9zzUTfg7EfTd+6a8MkD/NWOvjo0u/SCNd5YmY/lJwFvUZOxJbWNds+ei7ic2+R/cRz/PDg== -playwright@1.46.1: - version "1.46.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.46.1.tgz#ea562bc48373648e10420a10c16842f0b227c218" - integrity sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng== +playwright@1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.47.0.tgz#fb9b028883fad11362f9ff63ce7ba44bda0bf626" + integrity sha512-jOWiRq2pdNAX/mwLiwFYnPHpEZ4rM+fRSQpRHwEwZlP2PUANvL3+aJOF/bvISMhFD30rqMxUB4RJx9aQbfh4Ww== dependencies: - playwright-core "1.46.1" + playwright-core "1.47.0" optionalDependencies: fsevents "2.3.2" @@ -4432,6 +4434,11 @@ why-is-node-running@^2.3.0: siginfo "^2.0.0" stackback "0.0.2" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" From 1c2d8dcdd0efd846f39b0f24977c982a96f16392 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 11 Sep 2024 02:26:10 +0200 Subject: [PATCH 09/39] Bugfix and dependency updates --- .github/dependabot.yml | 3 + src/routes/Status.svelte | 2 +- yarn.lock | 116 +++++++++++++++++++-------------------- 3 files changed, 62 insertions(+), 59 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a5ca2ac..c44914e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,3 +10,6 @@ updates: schedule: interval: 'daily' versioning-strategy: 'increase-if-necessary' + ignore: + - dependency-name: '*' + update-types: ['version-update:semver-major'] diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index 081d3fc..7121106 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -228,7 +228,7 @@ {#if !$settings.ownDataSource} {$_('section.status.wsPriceConnection')}: - {#if $status.connectionStatus && $status.connectionStatus.nostr} + {#if $status.connectionStatus && $status.connectionStatus.price} ✅ {:else} ❌ diff --git a/yarn.lock b/yarn.lock index 2798755..b14caec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1182,62 +1182,62 @@ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== -"@typescript-eslint/eslint-plugin@8.4.0", "@typescript-eslint/eslint-plugin@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz#188c65610ef875a086404b5bfe105df936b035da" - integrity sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw== +"@typescript-eslint/eslint-plugin@8.5.0", "@typescript-eslint/eslint-plugin@^8.4.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz#7c1863693a98371703686e1c0fac64ffc576cdb1" + integrity sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.4.0" - "@typescript-eslint/type-utils" "8.4.0" - "@typescript-eslint/utils" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/scope-manager" "8.5.0" + "@typescript-eslint/type-utils" "8.5.0" + "@typescript-eslint/utils" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.4.0", "@typescript-eslint/parser@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.4.0.tgz#36b7cd7643a1c190d49dc0278192b2450f615a6f" - integrity sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA== +"@typescript-eslint/parser@8.5.0", "@typescript-eslint/parser@^8.4.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.5.0.tgz#d590e1ef9f31f26d423999ad3f687723247e6bcc" + integrity sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw== dependencies: - "@typescript-eslint/scope-manager" "8.4.0" - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/typescript-estree" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/scope-manager" "8.5.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/typescript-estree" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz#8a13d3c0044513d7960348db6f4789d2a06fa4b4" - integrity sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A== +"@typescript-eslint/scope-manager@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz#385341de65b976f02b295b8aca54bb4ffd6b5f07" + integrity sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg== dependencies: - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" -"@typescript-eslint/type-utils@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz#4a91b5789f41946adb56d73e2fb4639fdcf37af7" - integrity sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A== +"@typescript-eslint/type-utils@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz#6215b23aa39dbbd8dde0a4ef9ee0f745410c29b1" + integrity sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA== dependencies: - "@typescript-eslint/typescript-estree" "8.4.0" - "@typescript-eslint/utils" "8.4.0" + "@typescript-eslint/typescript-estree" "8.5.0" + "@typescript-eslint/utils" "8.5.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.4.0.tgz#b44d6a90a317a6d97a3e5fabda5196089eec6171" - integrity sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw== +"@typescript-eslint/types@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.5.0.tgz#4465d99331d1276f8fb2030e4f9c73fe01a05bf9" + integrity sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw== -"@typescript-eslint/typescript-estree@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz#00ed79ae049e124db37315cde1531a900a048482" - integrity sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A== +"@typescript-eslint/typescript-estree@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz#6e5758cf2f63aa86e9ddfa4e284e2e0b81b87557" + integrity sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q== dependencies: - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1245,22 +1245,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.4.0.tgz#35c552a404858c853a1f62ba6df2214f1988afc3" - integrity sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ== +"@typescript-eslint/utils@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.5.0.tgz#4d4ffed96d0654546a37faa5b84bdce16d951634" + integrity sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.4.0" - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/typescript-estree" "8.4.0" + "@typescript-eslint/scope-manager" "8.5.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/typescript-estree" "8.5.0" -"@typescript-eslint/visitor-keys@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz#1e8a8b8fd3647db1e42361fdd8de3e1679dec9d2" - integrity sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A== +"@typescript-eslint/visitor-keys@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz#13028df3b866d2e3e2e2cc4193cf2c1e0e04c4bf" + integrity sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw== dependencies: - "@typescript-eslint/types" "8.4.0" + "@typescript-eslint/types" "8.5.0" eslint-visitor-keys "^3.4.3" "@vitest/expect@2.0.5": @@ -1764,14 +1764,14 @@ debug@4: dependencies: ms "2.1.2" -debug@^4.3.1, debug@^4.3.2: +debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: ms "^2.1.3" -debug@^4.3.4, debug@^4.3.5: +debug@^4.3.5: version "4.3.6" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== @@ -4255,13 +4255,13 @@ types-ramda@^0.30.0: ts-toolbelt "^9.6.0" typescript-eslint@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.4.0.tgz#3fa38bd279994cdb40ba9264ef5262a17cf4cfa0" - integrity sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw== + version "8.5.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.5.0.tgz#041f6c302d0e9a8e116a33d60b0bb19f34036dd7" + integrity sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q== dependencies: - "@typescript-eslint/eslint-plugin" "8.4.0" - "@typescript-eslint/parser" "8.4.0" - "@typescript-eslint/utils" "8.4.0" + "@typescript-eslint/eslint-plugin" "8.5.0" + "@typescript-eslint/parser" "8.5.0" + "@typescript-eslint/utils" "8.5.0" typescript@^5.0.3, typescript@^5.5.4: version "5.5.4" From 6c40b54273b7f7c7d6c2624d3c2a066435f27756 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 11 Sep 2024 20:16:55 +0200 Subject: [PATCH 10/39] Add auto-update functionality --- src/lib/locales/de.json | 3 ++- src/lib/locales/en.json | 3 ++- src/lib/locales/es.json | 3 ++- src/lib/locales/nl.json | 3 ++- src/routes/+page.svelte | 2 +- src/routes/Control.svelte | 2 +- src/routes/FirmwareUpdater.svelte | 37 +++++++++++++++++++++++++++++-- 7 files changed, 45 insertions(+), 8 deletions(-) diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index 9748996..946b962 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -81,7 +81,8 @@ "swUpdateAvailable": "Eine neuere Version ist verfügbar!", "latestVersion": "Letzte Version", "releaseDate": "Veröffentlichungsdatum", - "viewRelease": "Veröffentlichung anzeigen" + "viewRelease": "Veröffentlichung anzeigen", + "autoUpdate": "Update installieren (experimentell)" } }, "colors": { diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index c00bd15..7986b1e 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -94,7 +94,8 @@ "swUpToDate": "You are up to date.", "latestVersion": "Latest Version", "releaseDate": "Release Date", - "viewRelease": "View Release" + "viewRelease": "View Release", + "autoUpdate": "Install update (experimental)" } }, "colors": { diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index 06bf3fa..5eced4c 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -80,7 +80,8 @@ "swUpdateAvailable": "¡Una nueva versión está disponible!", "latestVersion": "Ultima versión", "releaseDate": "Fecha de lanzamiento", - "viewRelease": "Ver lanzamiento" + "viewRelease": "Ver lanzamiento", + "autoUpdate": "Instalar actualización (experimental)" } }, "button": { diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index 2bc7d80..f126bcf 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -80,7 +80,8 @@ "swUpdateAvailable": "Een nieuwere versie is beschikbaar!", "latestVersion": "Laatste versie", "releaseDate": "Datum van publicatie", - "viewRelease": "Bekijk publicatie" + "viewRelease": "Bekijk publicatie", + "autoUpdate": "Update installeren (experimenteel)" } }, "colors": { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 9e26acb..b37ab13 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -124,7 +124,7 @@ - + diff --git a/src/routes/Control.svelte b/src/routes/Control.svelte index b62c7ed..d89ee10 100644 --- a/src/routes/Control.svelte +++ b/src/routes/Control.svelte @@ -239,7 +239,7 @@ {#if $settings.otaEnabled}

{$_('section.control.firmwareUpdate')}

- + {/if} diff --git a/src/routes/FirmwareUpdater.svelte b/src/routes/FirmwareUpdater.svelte index 6c64667..4ef8e8f 100644 --- a/src/routes/FirmwareUpdater.svelte +++ b/src/routes/FirmwareUpdater.svelte @@ -1,10 +1,12 @@ ₿TClock - + + +
{#if $settings.actCurrencies && $settings.ownDataSource} -
+
{#each $settings.actCurrencies as c}
-
+
{ - await page.route('*/**/api/status', async (route) => { - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/show/screen/1', async (route) => { - //if (route.request().url().includes('*/**/api/show/screen/1')) { - statusJson.currentScreen = 1; - statusJson.data = ['MSCW/TIME', ' ', ' ', '2', '6', '4', '4']; - statusJson.rendered = statusJson.data; - //} - - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/show/screen/2', async (route) => { - statusJson.currentScreen = 2; - statusJson.data = ['BTC/USD', '$', '3', '7', '8', '2', '4']; - statusJson.rendered = statusJson.data; - - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/show/screen/4', async (route) => { - statusJson.currentScreen = 4; - statusJson.data = ['BIT/COIN', 'HALV/ING', '0/YRS', '149/DAYS', '8/HRS', '30/MINS', 'TO/GO']; - statusJson.rendered = statusJson.data; - - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/settings', async (route) => { - await route.fulfill({ json: settingsJson }); - }); - - await page.route('**/events', (route) => { - const newStatus = statusJson; - newStatus.data = ['BLOCK/HEIGHT', '8', '0', '0', '8', '1', '5']; - - // Respond with a custom SSE message - route.fulfill({ - status: 200, - contentType: 'text/event-stream', - json: `${JSON.stringify(newStatus)}\n\n` - }); - }); -}); +test.beforeEach(initMock); test('index page has expected columns control, status, settings', async ({ page }) => { await page.goto('/'); @@ -181,6 +74,8 @@ test('time values can not be zero or negative', async ({ page }) => { }); test('info message when fetch eur price is enabled', async ({ page }) => { + delete (settingsJson as { actCurrencies?: string[] }).actCurrencies; + await page.goto('/'); await page.getByRole('button', { name: 'Show all' }).click(); diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts new file mode 100644 index 0000000..9628342 --- /dev/null +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -0,0 +1,77 @@ +import { test, expect } from '@playwright/test'; + +import { initMock, settingsJson } from '../shared'; + +test.beforeEach(initMock); + +test('capture screenshots across devices', async ({ page }) => { + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); + + await page.screenshot({ + path: `./test-results/screenshots/default-${test.info().project.name}.png`, + fullPage: true + }); +}); + +test('capture screenshots across devices with bitaxe screens', async ({ page }) => { + settingsJson.screens = [ + { + id: 0, + name: 'Block Height', + enabled: true + }, + { + id: 3, + name: 'Time', + enabled: true + }, + { + id: 4, + name: 'Halving countdown', + enabled: true + }, + { + id: 6, + name: 'Block Fee Rate', + enabled: true + }, + { + id: 10, + name: 'Sats per dollar', + enabled: true + }, + { + id: 20, + name: 'Ticker', + enabled: true + }, + { + id: 30, + name: 'Market Cap', + enabled: true + }, + { + id: 80, + name: 'BitAxe Hashrate', + enabled: true + }, + { + id: 81, + name: 'BitAxe Best Difficulty', + enabled: true + } + ]; + + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); + + await page.screenshot({ + path: `./test-results/screenshots/bitaxe-${test.info().project.name}.png`, + fullPage: true + }); +}); diff --git a/tests/shared.ts b/tests/shared.ts new file mode 100644 index 0000000..18e7e9d --- /dev/null +++ b/tests/shared.ts @@ -0,0 +1,140 @@ +export const statusJson = { + currentScreen: 0, + numScreens: 7, + timerRunning: true, + espUptime: 4479, + espFreeHeap: 58508, + espHeapSize: 342108, + connectionStatus: { price: true, blocks: true }, + rssi: -66, + data: ['BLOCK/HEIGHT', '8', '1', '8', '0', '2', '6'], + rendered: ['BLOCK/HEIGHT', '8', '1', '8', '0', '2', '6'], + leds: [ + { red: 0, green: 0, blue: 0, hex: '#000000' }, + { red: 0, green: 0, blue: 0, hex: '#000000' }, + { red: 0, green: 0, blue: 0, hex: '#000000' }, + { red: 0, green: 0, blue: 0, hex: '#000000' } + ] +}; + +export const settingsJson = { + numScreens: 7, + fgColor: 415029, + bgColor: 0, + timerSeconds: 1800, + timerRunning: true, + minSecPriceUpd: 30, + fullRefreshMin: 60, + wpTimeout: 600, + tzOffset: 0, + useBitcoinNode: false, + mempoolInstance: 'mempool.space', + ledTestOnPower: true, + ledFlashOnUpd: true, + ledBrightness: 128, + stealFocus: true, + mcapBigChar: true, + mdnsEnabled: true, + otaEnabled: true, + fetchEurPrice: false, + hostnamePrefix: 'btclock', + hostname: 'btclock-d60b14', + ip: '192.168.20.231', + txPower: 78, + gitRev: '25d8b92bcbc8938417c140355ea3ba99ff9eb4b7', + gitTag: '3.1.9', + bitaxeEnabled: false, + bitaxeHostname: 'bitaxe1', + nostrZapNotify: true, + hwRev: 'REV_A_EPD_2_13', + fsRev: '4c5d9616212b27e3f05c35370f0befcf2c5a04b2', + nostrZapPubkey: 'b5127a08cf33616274800a4387881a9f98e04b9c37116e92de5250498635c422', + lastBuildTime: '1700666677', + screens: [ + { + id: 0, + name: 'Block Height', + enabled: true + }, + { + id: 3, + name: 'Time', + enabled: true + }, + { + id: 4, + name: 'Halving countdown', + enabled: true + }, + { + id: 6, + name: 'Block Fee Rate', + enabled: true + }, + { + id: 10, + name: 'Sats per dollar', + enabled: true + }, + { + id: 20, + name: 'Ticker', + enabled: true + }, + { + id: 30, + name: 'Market Cap', + enabled: true + } + ], + actCurrencies: ['USD', 'EUR'], + availableCurrencies: ['USD', 'EUR', 'GBP', 'JPY', 'AUD', 'CAD'] +}; + +export const initMock = async ({ page }) => { + await page.route('*/**/api/status', async (route) => { + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/show/screen/1', async (route) => { + //if (route.request().url().includes('*/**/api/show/screen/1')) { + statusJson.currentScreen = 1; + statusJson.data = ['MSCW/TIME', ' ', ' ', '2', '6', '4', '4']; + statusJson.rendered = statusJson.data; + //} + + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/show/screen/2', async (route) => { + statusJson.currentScreen = 2; + statusJson.data = ['BTC/USD', '$', '3', '7', '8', '2', '4']; + statusJson.rendered = statusJson.data; + + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/show/screen/4', async (route) => { + statusJson.currentScreen = 4; + statusJson.data = ['BIT/COIN', 'HALV/ING', '0/YRS', '149/DAYS', '8/HRS', '30/MINS', 'TO/GO']; + statusJson.rendered = statusJson.data; + + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/settings', async (route) => { + await route.fulfill({ json: settingsJson }); + }); + + await page.route('**/events', (route) => { + const newStatus = statusJson; + newStatus.data = ['BLOCK/HEIGHT', '8', '0', '0', '8', '1', '5']; + + // Respond with a custom SSE message + route.fulfill({ + status: 200, + contentType: 'text/event-stream', + json: `${JSON.stringify(newStatus)}\n\n` + }); + }); +}; From 653a39d0a339bcf3ac3365eacd2e5e8136ecf4c6 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 12 Dec 2024 23:04:13 +0100 Subject: [PATCH 32/39] Improvements for xs screens --- playwright.screenshot.config.ts | 15 ++++++ src/lib/style/app.scss | 38 +++++++++++++- src/routes/+layout.svelte | 26 ++++++++-- src/routes/+page.svelte | 50 ++++++++++++++++--- src/routes/Control.svelte | 4 +- src/routes/Settings.svelte | 4 +- src/routes/Status.svelte | 4 +- .../screenshots/viewport-screenshots.spec.ts | 22 +++++--- vite.config.ts | 8 +++ 9 files changed, 146 insertions(+), 25 deletions(-) diff --git a/playwright.screenshot.config.ts b/playwright.screenshot.config.ts index 2eadd5f..81264a4 100644 --- a/playwright.screenshot.config.ts +++ b/playwright.screenshot.config.ts @@ -1,6 +1,7 @@ import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ + reporter: 'html', use: { locale: 'en-GB', timezoneId: 'Europe/Amsterdam' @@ -31,6 +32,20 @@ export default defineConfig({ use: { viewport: { width: 1512, height: 982 } } + }, + { + name: 'MacBook Pro 14 inch', + use: { + viewport: { width: 1512, height: 982 } + } + }, + { + name: 'MacBook Pro 14 inch Firefox HiDPI', + use: { ...devices['Desktop Firefox HiDPI'], viewport: { width: 1512, height: 982 } } + }, + { + name: 'MacBook Pro 14 inch Safari', + use: { ...devices['Desktop Safari'], viewport: { width: 1512, height: 982 } } } ] }); diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 002e5db..0703d06 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -1,6 +1,4 @@ @import '../node_modules/bootstrap/scss/functions'; -@import '../node_modules/bootstrap/scss/variables'; -@import '../node_modules/bootstrap/scss/variables-dark'; //@import "@fontsource/antonio/latin-400.css"; @import '@fontsource/ubuntu/latin-400.css'; @@ -14,6 +12,8 @@ $font-family-base: 'Ubuntu'; $font-size-base: 0.9rem; $input-font-size-sm: $font-size-base * 0.875; +@import '../node_modules/bootstrap/scss/variables'; +@import '../node_modules/bootstrap/scss/variables-dark'; // $border-radius: .675rem; @import '../node_modules/bootstrap/scss/mixins'; @@ -43,6 +43,40 @@ $input-font-size-sm: $font-size-base * 0.875; @import '../node_modules/bootstrap/scss/helpers'; @import '../node_modules/bootstrap/scss/utilities/api'; +/* Default state (xs) - sticky */ +.sticky-xs-top { + position: sticky; + top: 0; + z-index: 1020; +} + +@media (max-width: 576px) { + main { + margin-top: 25px; + } +} + +/* Remove sticky behavior for larger screens */ +@media (min-width: 576px) { + .sticky-xs-top { + position: relative; + } +} + +@include color-mode(dark) { + .navbar { + --bs-navbar-color: $light; + background-color: $dark; + } +} + +@include color-mode(light) { + .navbar { + --bs-navbar-color: $dark; + background-color: $light; + } +} + nav { margin-bottom: 15px; } diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 0faad53..e421f5a 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -12,6 +12,7 @@ NavbarBrand, NavbarToggler } from '@sveltestrap/sveltestrap'; + import { _ } from 'svelte-i18n'; import { page } from '$app/stores'; import { locale, locales, isLoading } from 'svelte-i18n'; @@ -38,7 +39,7 @@ return flagMap[lowercaseCode]; } else { // Return null for unsupported language codes - return null; + return flagMap['en']; } }; @@ -61,8 +62,23 @@ }; - - ₿TClock + + ₿TClock + + @@ -94,4 +110,6 @@ - +
+ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b37ab13..c2e4e3b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -3,6 +3,7 @@ import { screenSize, updateScreenSize } from '$lib/screen'; import { Container, Row, Toast, ToastBody } from '@sveltestrap/sveltestrap'; + import { replaceState } from '$app/navigation'; import { onMount } from 'svelte'; import { writable } from 'svelte/store'; @@ -16,12 +17,6 @@ bgColor: '0' }); - // let uiSettings = writable({ - // inputSize: 'sm', - // selectClass: '', - // btnSize: 'lg' - // }); - let status = writable({ data: ['L', 'O', 'A', 'D', 'I', 'N', 'G'], espFreeHeap: 0, @@ -60,7 +55,43 @@ }); }; + let sections: (HTMLElement | null)[]; + let observer: IntersectionObserver; + const SM_BREAKPOINT = 576; + + const setupObserver = () => { + if (window.innerWidth < SM_BREAKPOINT) { + observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + const id = entry.target.id; + replaceState(`#${id}`); + + // Update nav pills + document.querySelectorAll('.nav-link').forEach((link) => { + link.classList.remove('active'); + if (link.getAttribute('href') === `#${id}`) { + link.classList.add('active'); + } + }); + } + }); + }, + { + threshold: 0.25 // Trigger when section is 50% visible + } + ); + + sections = ['control', 'status', 'settings'].map((id) => document.getElementById(id)); + + sections.forEach((section) => observer.observe(section!)); + } + }; + onMount(() => { + setupObserver(); + fetchSettingsData(); fetchStatusData(); @@ -72,6 +103,11 @@ }); function handleResize() { + if (observer) { + observer.disconnect(); + } + setupObserver(); + updateScreenSize(); } @@ -125,7 +161,9 @@ + + diff --git a/src/routes/Control.svelte b/src/routes/Control.svelte index d89ee10..25f5a44 100644 --- a/src/routes/Control.svelte +++ b/src/routes/Control.svelte @@ -105,8 +105,8 @@ export let xxl = xl; - - + + {$_('section.control.title', { default: 'Control' })} diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 141c512..77c8a3d 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -221,8 +221,8 @@ systemIsOpen: boolean; - - + +
- - + + {$_('section.status.title', { default: 'Status' })} diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts index 9628342..573b059 100644 --- a/tests/screenshots/viewport-screenshots.spec.ts +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -4,19 +4,23 @@ import { initMock, settingsJson } from '../shared'; test.beforeEach(initMock); -test('capture screenshots across devices', async ({ page }) => { +test('capture screenshots across devices', async ({ page }, testInfo) => { await page.goto('/'); await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); - await page.screenshot({ - path: `./test-results/screenshots/default-${test.info().project.name}.png`, - fullPage: true + const screenshot = await page.screenshot({ + path: `./test-results/screenshots/default-${test.info().project.name.toLowerCase().replace(' ', '_')}.png` + }); + + await testInfo.attach(`default`, { + body: screenshot, + contentType: 'image/png' }); }); -test('capture screenshots across devices with bitaxe screens', async ({ page }) => { +test('capture screenshots across devices with bitaxe screens', async ({ page }, testInfo) => { settingsJson.screens = [ { id: 0, @@ -71,7 +75,11 @@ test('capture screenshots across devices with bitaxe screens', async ({ page }) await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); await page.screenshot({ - path: `./test-results/screenshots/bitaxe-${test.info().project.name}.png`, - fullPage: true + path: `./test-results/screenshots/bitaxe-${test.info().project.name.toLowerCase().replace(' ', '_')}.png` + }); + + await testInfo.attach(`bitaxe`, { + path: `./test-results/screenshots/bitaxe-${test.info().project.name.toLowerCase().replace(' ', '_')}.png`, + contentType: 'image/png' }); }); diff --git a/vite.config.ts b/vite.config.ts index bb8e5b2..b2ed254 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -76,6 +76,14 @@ export default defineConfig({ } } }, + css: { + preprocessorOptions: { + scss: { + quietDeps: true, + silenceDeprecations: ['import'] + } + } + }, test: { include: ['src/**/*.{test,spec}.{js,ts}'], globals: true, From 266a99be96189bea92e0ef593f930bb92d3b5b20 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 18 Dec 2024 00:45:26 +0100 Subject: [PATCH 33/39] Add vertical screen description option --- src/lib/locales/de.json | 3 ++- src/lib/locales/en.json | 3 ++- src/lib/locales/es.json | 3 ++- src/lib/locales/nl.json | 3 ++- src/lib/style/app.scss | 10 ++++++++-- src/routes/Rendered.svelte | 15 ++++++++------- src/routes/Settings.svelte | 9 +++++++++ src/routes/Status.svelte | 6 +++++- 8 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index a26ab60..e9756ff 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -57,7 +57,8 @@ "showAll": "Alle anzeigen", "hideAll": "Alles ausblenden", "flOffWhenDark": "Displaybeleuchtung aus, wenn es dunkel ist", - "luxLightToggleText": "Zum Deaktivieren auf 0 setzen" + "luxLightToggleText": "Zum Deaktivieren auf 0 setzen", + "verticalDesc": "Vrtikale Bildschirmbeschreibung" }, "control": { "systemInfo": "Systeminfo", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 6e829bd..3ab90ed 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -69,7 +69,8 @@ "showAll": "Show all", "hideAll": "Hide all", "flOffWhenDark": "Frontlight off when dark", - "luxLightToggleText": "Set to 0 to disable" + "luxLightToggleText": "Set to 0 to disable", + "verticalDesc": "Use vertical screen description" }, "control": { "systemInfo": "System info", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index eb15ced..79b6673 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -56,7 +56,8 @@ "showAll": "Mostrar todo", "hideAll": "Ocultar todo", "flOffWhenDark": "Luz de la pantalla cuando está oscuro", - "luxLightToggleText": "Establecer en 0 para desactivar" + "luxLightToggleText": "Establecer en 0 para desactivar", + "verticalDesc": "Descripción de pantalla vertical" }, "control": { "turnOff": "Apagar", diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index b31f7ad..eb5b5af 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -57,7 +57,8 @@ "showAll": "Toon alles", "hideAll": "Alles verbergen", "flOffWhenDark": "Displaylicht uit als het donker is", - "luxLightToggleText": "Stel in op 0 om uit te schakelen" + "luxLightToggleText": "Stel in op 0 om uit te schakelen", + "verticalDesc": "Verticale schermbeschrijving" }, "control": { "systemInfo": "Systeeminformatie", diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 0703d06..8e9115c 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -158,12 +158,18 @@ nav { padding: 5px; } - .splitText div:first-child::after { + &.verticalDesc > .splitText:first-child { + .textcontainer { + transform: rotate(-90deg); + } + } + + .splitText .textcontainer :first-child::after { display: block; content: ''; margin-top: 0px; border-bottom: 2px solid; - margin-bottom: 3px; + // margin-bottom: 3px; } .splitText { diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index 4c4167b..99c3a26 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -9,7 +9,7 @@ }; export let className = 'btclock-wrapper'; - + export let verticalDesc = false; // Define the currency symbols as constants const CURRENCY_USD = '$'; const CURRENCY_EUR = '['; @@ -44,15 +44,16 @@
-
+
{#each status.data as char} {#if isSplitText(char)}
- {#if char.split('/').length} - {char.split('/')[0]} -
- {char.split('/')[1]} - {/if} +
+ {#if char.split('/').length} + {char.split('/')[0]} + {char.split('/')[1]} + {/if} +
diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 77c8a3d..8130940 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -318,6 +318,15 @@ label={$_('section.settings.suffixShareDot')} /> + + + {#if !$settings.actCurrencies} diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index afe2c87..812ee68 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -151,7 +151,11 @@
{#if $status.data}
- +
{$_('section.status.screenCycle')}: Date: Wed, 18 Dec 2024 01:24:21 +0100 Subject: [PATCH 34/39] Add bitaxe icon and modify tests for it --- src/lib/style/app.scss | 4 ++++ src/routes/Rendered.svelte | 21 ++++++++++++++++-- static/bitaxe.webp | Bin 0 -> 2486 bytes .../screenshots/viewport-screenshots.spec.ts | 5 ++++- 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 static/bitaxe.webp diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 8e9115c..53eeee8 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -299,3 +299,7 @@ nav { input[type='number'] { text-align: right; } + +.lightMode .bitaxelogo { + filter: brightness(0) saturate(100%); +} diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index 99c3a26..d2beb74 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -59,7 +59,7 @@ {/each} -->
{:else if char.startsWith('mdi')} -
+
{#if char.endsWith('rocket')} {/if} @@ -69,6 +69,9 @@ {#if char.endsWith('bolt')} {/if} + {#if char.endsWith('bitaxe')} + + {/if}
{:else if char === 'STS'}
S
@@ -83,8 +86,22 @@
- diff --git a/static/bitaxe.webp b/static/bitaxe.webp new file mode 100644 index 0000000000000000000000000000000000000000..3c907c12a77647c9f742882dec2ed85e903c5d72 GIT binary patch literal 2486 zcmY*a2|QHm8~(-&V;6%4#WaYLISk3(Xa>nPsK{-(mKn)bW-_)CVaAnR%C${{ERmwR z;*u?-h}4zBwPwu{Zpn5>x7+>y&-Xj$eZKcR&-1?T`JLbIv$rrayDI>Iqv;{?ak8$H zAOK(o_YML;695w{@?i%g0I>OJpZEBOy&E65YxSUKlLwpnd0D%bb+Y?zJr*gd=6N)X_SN;R&!y0bDQQTwn9HD0XXMbxDPmcSLK^$%Vu_u`WKht9r+W(zxNc1ucymbyht z&#gYXn?it*L(Eqs$ItC^R}`08zs>VeUcBq7vO*B;&@z9oiF?NI-jUIxrP_VA-jnCu zM(u{vvgP|48ntdg8j-BR2TZG*eivWi3lfPGA+e;<*oqsU-|#k6#CU7;xe@2#3Vgx$1uTcP}A@nE#`DeaX*FCC7z zy0_MxIrI9`QnEQIN-J8d2y%%p8@s|#6R-@aAzHsjD+%XB5h|VTP(Rx~7~WrL*|3}~ zaUUv+pFW!=v&2qNot$J8!=pu3GLj<@>R;KM%pO#~&0;i)-rd@4AkBB*bHDi5oQ;Uv zQOpOuF_FJUNT>3XWrq9}Hmu!i^mo1EA?zfVH5fyRoKM{q8Fe?`x`{4M-O*26a8|+P<>iY^EtAAD*j>I%mX$(*ODZ~#Dy9RHnTuo?uctjZ+j28W} zJV5bqh1JnnC-?*QR3t3aSdmg;Xy>@#j(xlweN`Y_Pdyx%o@8^hyh^XK{~;b4B>_Tc zOyr`=?pQnB5Noi;{pt5J^-#jvGiX`#jv>CJ`kN0+MpX3;>LLZpNgjQYPxW-pP!ovF z-kgZ2oG)PhTJd!5)yR#5%17si%MhTmND9WDybvr|)O9j_2Xh~C@`H-LZfozGF`RhP z^1!fIO=s0<-dk_7dg8QyRa|6tCAFF}T!%Eqn<)}$nJ3HD$~m2LPnojqB`k&PFc3HJ zyQFy6w)}=nd$XXk6-}7(vZFf-!-g!+R&Tuyw(xN;1u9pf)X4(|bXt;4=DS-%))&9=y3 zr?21t*pt>S40@m&<4=^HOT|xD8IGc1s&2ZMugy8Twxq*!A&(=-wxacb*>_&bSXmBo zszhx}-0t*HQZr!l%t_-Ft9){%U?RD;DTr5;Dx=ZNc*MMmJkgx!9!kxenET5{fL1N? zy8e!+G>g^d_tJVPE`~Ii)0BOxuLYkHBZY@-|)4;VUUx#8pYZ3wRxc@3>ZRf+Z|=6|_Mf}{l_SWjz#jXhuc0l?`IscJdI#s};B;fvlJ!)&L+`8NBNZah z;k+=$a*b<7|GAOE>!p|Tzh*7yn_?3z!cu0soF#1Kjz%|Ro5i4Gyqw$pkw3Rm(|9!6 zu`A`Y#`iZ9ZAeibA#IWmB8yQ`CU#dOqdx`gW^#laB!#l#Z%iYP4b}JxW}!mM@X9J$ z8AVmzoZ+9Iz|l@NFU!V_)wXZzn*Incup7ukL%G*{mcxdRnJlnvx`HQ=7g*j03Pf?r z*wtTa1HzwfVkcI}bOY%% zyQ{loJ}uu5L%+8=&^l%RiS=kT{9+c_=D`63AyG7KLcp=qD&8Z*i`0UJ)lp8$bYUF< z`AHBl6@{o=Av(^j!u`@Y8{4SLZ6N#7BPogY3*lFDYHLq#5AE(O&#=bGq&}GBUEe9z z)EE2*?Bqydc`j^l@3WQPG6*y8e44H0O7Sdd)90|;xY+H%4MVk?5l-v-r9MSVHx{JB zltM*reO*UxQ&A=wYX@2GXv!U6AUf08w^9&vJ|sZbPm#!(N^Ba?m{gW{LNEEC9VTz@ zb}K+EM^fyDY~E}({9nvtv88jeCS!uF6J5}GFWcFRo-5Fue(&^{* zA&9|X;22ssKYtHMQ%_G1(!fJ_ygHYmP7Cs-y9BEH(iHzO`PYX;p}F~co~L{I`C_(w zU0nSx(v7g#twKMpfBK|*Qva*uOT&F@8t3Nc18u#5G;tcx4{xs2a4V~C>+eb7R^IYA k)-?Ra{J-4yI)>0z@&9S&pGm)ExuY5j8bUulo3SAH8~?g1Bme*a literal 0 HcmV?d00001 diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts index 573b059..5ec5569 100644 --- a/tests/screenshots/viewport-screenshots.spec.ts +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from '@playwright/test'; -import { initMock, settingsJson } from '../shared'; +import { initMock, settingsJson, statusJson } from '../shared'; test.beforeEach(initMock); @@ -69,6 +69,9 @@ test('capture screenshots across devices with bitaxe screens', async ({ page }, } ]; + statusJson.data = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S']; + statusJson.rendered = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S']; + await page.goto('/'); await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); From 85b9b17506f89696b89ab6f6e6ed231b7a8f6e91 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 18 Dec 2024 01:28:17 +0100 Subject: [PATCH 35/39] Add alt tag to bitaxe logo --- src/routes/Rendered.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index d2beb74..d544ad8 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -70,7 +70,7 @@ {/if} {#if char.endsWith('bitaxe')} - + {/if}
{:else if char === 'STS'} From 2bea761d3c69954053882249380ca5a48c31b467 Mon Sep 17 00:00:00 2001 From: kdmukai Date: Mon, 16 Dec 2024 17:32:03 -0600 Subject: [PATCH 36/39] work-in-progress, untested --- README.md | 6 +++++- src/lib/locales/en.json | 2 ++ src/routes/Settings.svelte | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 805bfa1..1e9dd3c 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,11 @@ Make sure the postinstall script is ran, because otherwise the filenames are to ## Deploying -To upload the firmware to the BTClock, you need to GZIP all the files. You can use the python script `gzip_build.py` for that. +To upload the firmware to the BTClock, you need to GZIP all the files. You can use the python script `gzip_build.py` for that: + +```bash +python3 gzip_build.py +``` Then you can make a `LittleFS.bin` with mklittlefs: diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 3ab90ed..f08f40b 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -44,6 +44,8 @@ "useNostr": "Use Nostr data source", "bitaxeHostname": "BitAxe hostname or IP", "bitaxeEnabled": "Enable BitAxe", + "miningPoolName": "Mining Pool", + "miningPoolUser": "Mining Pool username or api key", "nostrZapPubkey": "Nostr Zap pubkey", "invalidNostrPubkey": "Invalid Nostr pubkey, note that your pubkey does NOT start with npub.", "convertingValidNpub": "Converting valid npub to pubkey", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 8130940..43964f3 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -698,6 +698,40 @@ {/if} + {#if $settings.miningPoolStatsEnabled} + + + + + + + + + + + + + {/if} {#if 'nostrZapNotify' in $settings && $settings['nostrZapNotify']} @@ -727,7 +729,6 @@ id="miningPoolUser" bsSize={$uiSettings.inputSize} required - minlength="64" > @@ -811,6 +812,17 @@ /> {/if} + {#if 'miningPoolStatsEnabled' in $settings} + + + + {/if} {#if 'nostrZapNotify' in $settings} Date: Wed, 18 Dec 2024 17:07:23 -0600 Subject: [PATCH 39/39] bugfix for long preferences key --- src/lib/locales/en.json | 2 +- src/routes/Settings.svelte | 10 +++++----- tests/shared.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index c4f826e..caab16c 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -44,7 +44,7 @@ "useNostr": "Use Nostr data source", "bitaxeHostname": "BitAxe hostname or IP", "bitaxeEnabled": "Enable BitAxe", - "miningPoolStatsEnabled": "Enable Mining Pool Stats", + "miningPoolStats": "Enable Mining Pool Stats", "miningPoolName": "Mining Pool", "miningPoolUser": "Mining Pool username or api key", "nostrZapPubkey": "Nostr Zap pubkey", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 385ebe3..2dbdcdc 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -698,7 +698,7 @@ {/if} - {#if $settings.miningPoolStatsEnabled} + {#if $settings.miningPoolStats} {/if} - {#if 'miningPoolStatsEnabled' in $settings} + {#if 'miningPoolStats' in $settings} {/if} diff --git a/tests/shared.ts b/tests/shared.ts index 75ec6ec..716ff1b 100644 --- a/tests/shared.ts +++ b/tests/shared.ts @@ -45,7 +45,7 @@ export const settingsJson = { gitTag: '3.1.9', bitaxeEnabled: false, bitaxeHostname: 'bitaxe1', - miningPoolStatsEnabled: false, + miningPoolStats: false, miningPoolName: 'ocean', miningPoolUser: '38Qkkei3SuF1Eo45BaYmRHUneRD54yyTFy', nostrZapNotify: true,