diff --git a/package.json b/package.json index 829ef170..e4eaccd7 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@iconify/svelte": "^3.1.6", "@sveltejs/adapter-node": "^4.0.1", - "@sveltejs/kit": "^2.5.0", + "@sveltejs/kit": "^2.5.1", "@sveltejs/vite-plugin-svelte": "^3.0.2", "@types/d3-array": "^3.2.1", "@types/d3-scale": "^4.0.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca7ae262..e4468d84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,10 +93,10 @@ devDependencies: version: 3.1.6(svelte@4.2.11) '@sveltejs/adapter-node': specifier: ^4.0.1 - version: 4.0.1(@sveltejs/kit@2.5.0) + version: 4.0.1(@sveltejs/kit@2.5.1) '@sveltejs/kit': - specifier: ^2.5.0 - version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.11)(vite@5.1.4) + specifier: ^2.5.1 + version: 2.5.1(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.11)(vite@5.1.4) '@sveltejs/vite-plugin-svelte': specifier: ^3.0.2 version: 3.0.2(svelte@4.2.11)(vite@5.1.4) @@ -538,7 +538,7 @@ packages: resolution: {integrity: sha512-Fbi5U4Vdkw6UsF+R3oMlPONqkvUDMkwzh+mX718gQsDFt3+1r1jvGsrfCbedmXAAy0WsjDHOrefK0BkDk99TQg==} dependencies: '@irojs/iro-core': 1.2.1 - preact: 10.19.5 + preact: 10.19.6 dev: false /@jridgewell/gen-mapping@0.3.3: @@ -823,7 +823,7 @@ packages: dev: true optional: true - /@sveltejs/adapter-node@4.0.1(@sveltejs/kit@2.5.0): + /@sveltejs/adapter-node@4.0.1(@sveltejs/kit@2.5.1): resolution: {integrity: sha512-IviiTtKCDp+0QoTmmMlGGZBA1EoUNsjecU6XGV9k62S3f01SNsVhpqi2e4nbI62BLGKh/YKKfFii+Vz/b9XIxg==} peerDependencies: '@sveltejs/kit': ^2.4.0 @@ -831,12 +831,12 @@ packages: '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) '@rollup/plugin-json': 6.1.0(rollup@4.12.0) '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) - '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.11)(vite@5.1.4) + '@sveltejs/kit': 2.5.1(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.11)(vite@5.1.4) rollup: 4.12.0 dev: true - /@sveltejs/kit@2.5.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.11)(vite@5.1.4): - resolution: {integrity: sha512-1uyXvzC2Lu1FZa30T4y5jUAC21R309ZMRG0TPt+PPPbNUoDpy8zSmSNVWYaBWxYDqLGQ5oPNWvjvvF2IjJ1jmA==} + /@sveltejs/kit@2.5.1(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.11)(vite@5.1.4): + resolution: {integrity: sha512-TKj08o3mJCoQNLTdRdGkHPePTCPUGTgkew65RDqjVU3MtPVxljsofXQYfXndHfq0P7KoPRO/0/reF6HesU0Djw==} engines: {node: '>=18.13'} hasBin: true requiresBuild: true @@ -902,12 +902,12 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.19 + '@types/node': 20.11.20 /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 /@types/cookie@0.6.0: resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -943,7 +943,7 @@ packages: /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -972,7 +972,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 dev: false /@types/js-yaml@4.0.9: @@ -1001,8 +1001,8 @@ packages: /@types/mime@3.0.4: resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - /@types/node@20.11.19: - resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} + /@types/node@20.11.20: + resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} dependencies: undici-types: 5.26.5 @@ -1013,7 +1013,7 @@ packages: /@types/promise-fs@2.1.5: resolution: {integrity: sha512-C8bi4Xh6HlixkGspIDaX/zFA+r1+UHUuXYJCCqi6oBlVjxF870kPv38aJlSRo0u1j+2YBi0PLP7PGMZIBbCQ6Q==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 dev: true /@types/pug@2.0.10: @@ -1038,14 +1038,14 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.19 + '@types/node': 20.11.20 /@types/serve-static@1.15.5: resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.19 + '@types/node': 20.11.20 /@types/supercluster@7.1.3: resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==} @@ -2769,8 +2769,8 @@ packages: resolution: {integrity: sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==} dev: false - /preact@10.19.5: - resolution: {integrity: sha512-OPELkDmSVbKjbFqF9tgvOowiiQ9TmsJljIzXRyNE8nGiis94pwv1siF78rQkAP1Q1738Ce6pellRg/Ns/CtHqQ==} + /preact@10.19.6: + resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} dev: false /prelude-ls@1.2.1: diff --git a/src/lib/Components/WheelPicker.svelte b/src/lib/Components/WheelPicker.svelte index 758c2aa2..2f069a13 100644 --- a/src/lib/Components/WheelPicker.svelte +++ b/src/lib/Components/WheelPicker.svelte @@ -50,7 +50,14 @@ // if temperature elements if (container.children.length > 0) { - const temperature = stateObj?.attributes?.temperature; + // round temperature to ignore decimals + let temperature = Math.round(stateObj?.attributes?.temperature); + + // but don't round below or over minmax temp + if (minTemp && maxTemp) { + temperature = Math.max(minTemp, Math.min(maxTemp, temperature)); + } + value = temperatures.indexOf(temperature); // fallback