From e04292fe6ed2e748b6bebc7ef73a315b45a9e820 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 20 Jan 2026 11:54:50 +1300 Subject: [PATCH 1/3] New version. --- package.json | 2 +- src/renderer/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ae65a71b..aa81d2d6 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "url": "git+https://github.com/opencor/webapp.git" }, "type": "module", - "version": "0.20260119.2", + "version": "0.20260120.0", "scripts": { "archive:web": "bun src/renderer/scripts/archive.web.js", "build": "electron-vite build", diff --git a/src/renderer/package.json b/src/renderer/package.json index 3b35a50b..c4932013 100644 --- a/src/renderer/package.json +++ b/src/renderer/package.json @@ -39,7 +39,7 @@ }, "./style.css": "./dist/opencor.css" }, - "version": "0.20260119.2", + "version": "0.20260120.0", "scripts": { "build": "vite build", "build:lib": "vite build --config vite.lib.config.ts && cp index.d.ts dist/index.d.ts", From 5aa393c77fa3ab0c588b6789d643e475cd5a2243 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 20 Jan 2026 11:56:04 +1300 Subject: [PATCH 2/3] Updated our dependencies. --- bun.lock | 8 ++++---- package.json | 4 ++-- src/renderer/bun.lock | 4 ++-- src/renderer/package.json | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/bun.lock b/bun.lock index 8f724d7c..72fa4a14 100644 --- a/bun.lock +++ b/bun.lock @@ -5,7 +5,7 @@ "name": "@opencor/opencor", "dependencies": { "@napi-rs/keyring": "^1.2.0", - "@primeuix/themes": "^2.0.2", + "@primeuix/themes": "^2.0.3", "@primevue/auto-import-resolver": "4.2.5", "@vueuse/core": "14.1.0", "crypto-js": "^4.2.0", @@ -42,7 +42,7 @@ "stylelint-config-standard": "^40.0.0", "tailwindcss": "^4.1.18", "tailwindcss-primeui": "^0.6.1", - "tar": "^7.5.3", + "tar": "^7.5.4", "unplugin-vue-components": "^31.0.0", "vite": "7.2.7", }, @@ -274,7 +274,7 @@ "@primeuix/styled": ["@primeuix/styled@0.7.4", "", { "dependencies": { "@primeuix/utils": "^0.6.1" } }, "sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ=="], - "@primeuix/themes": ["@primeuix/themes@2.0.2", "", { "dependencies": { "@primeuix/styled": "^0.7.4" } }, "sha512-prwQvA3tDGBz8yWSUenaJUttEMCEvPvxwOfFhDPmSe1vwsfVKL2Nmh5eZvtPFQnxmIOPsHZS7zc0/L3CzJ83Eg=="], + "@primeuix/themes": ["@primeuix/themes@2.0.3", "", { "dependencies": { "@primeuix/styled": "^0.7.4" } }, "sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg=="], "@primeuix/utils": ["@primeuix/utils@0.3.2", "", {}, "sha512-B+nphqTQeq+i6JuICLdVWnDMjONome2sNz0xI65qIOyeB4EF12CoKRiCsxuZ5uKAkHi/0d1LqlQ9mIWRSdkavw=="], @@ -1216,7 +1216,7 @@ "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], - "tar": ["tar@7.5.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-ENg5JUHUm2rDD7IvKNFGzyElLXNjachNLp6RaGf4+JOgxXHkqA+gq81ZAMCUmtMtqBsoU62lcp6S27g1LCYGGQ=="], + "tar": ["tar@7.5.4", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA=="], "temp": ["temp@0.9.4", "", { "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" } }, "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA=="], diff --git a/package.json b/package.json index aa81d2d6..3053390a 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ }, "dependencies": { "@napi-rs/keyring": "^1.2.0", - "@primeuix/themes": "^2.0.2", + "@primeuix/themes": "^2.0.3", "@primevue/auto-import-resolver": "4.2.5", "@vueuse/core": "14.1.0", "crypto-js": "^4.2.0", @@ -84,7 +84,7 @@ "stylelint-config-standard": "^40.0.0", "tailwindcss": "^4.1.18", "tailwindcss-primeui": "^0.6.1", - "tar": "^7.5.3", + "tar": "^7.5.4", "unplugin-vue-components": "^31.0.0", "vite": "7.2.7" } diff --git a/src/renderer/bun.lock b/src/renderer/bun.lock index 4d56d6f5..c7d53a3c 100644 --- a/src/renderer/bun.lock +++ b/src/renderer/bun.lock @@ -5,7 +5,7 @@ "name": "@opencor/opencor", "dependencies": { "@napi-rs/keyring": "^1.2.0", - "@primeuix/themes": "^2.0.2", + "@primeuix/themes": "^2.0.3", "@primevue/auto-import-resolver": "4.2.5", "@vueuse/core": "14.1.0", "crypto-js": "^4.2.0", @@ -189,7 +189,7 @@ "@primeuix/styled": ["@primeuix/styled@0.7.4", "", { "dependencies": { "@primeuix/utils": "^0.6.1" } }, "sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ=="], - "@primeuix/themes": ["@primeuix/themes@2.0.2", "", { "dependencies": { "@primeuix/styled": "^0.7.4" } }, "sha512-prwQvA3tDGBz8yWSUenaJUttEMCEvPvxwOfFhDPmSe1vwsfVKL2Nmh5eZvtPFQnxmIOPsHZS7zc0/L3CzJ83Eg=="], + "@primeuix/themes": ["@primeuix/themes@2.0.3", "", { "dependencies": { "@primeuix/styled": "^0.7.4" } }, "sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg=="], "@primeuix/utils": ["@primeuix/utils@0.3.2", "", {}, "sha512-B+nphqTQeq+i6JuICLdVWnDMjONome2sNz0xI65qIOyeB4EF12CoKRiCsxuZ5uKAkHi/0d1LqlQ9mIWRSdkavw=="], diff --git a/src/renderer/package.json b/src/renderer/package.json index c4932013..74533e04 100644 --- a/src/renderer/package.json +++ b/src/renderer/package.json @@ -56,7 +56,7 @@ }, "dependencies": { "@napi-rs/keyring": "^1.2.0", - "@primeuix/themes": "^2.0.2", + "@primeuix/themes": "^2.0.3", "@primevue/auto-import-resolver": "4.2.5", "@vueuse/core": "14.1.0", "crypto-js": "^4.2.0", From 9dbc15f679fc05274e7154858333fd89c8005d50 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 20 Jan 2026 12:15:24 +1300 Subject: [PATCH 3/3] OpenCOR: rely on CSS rather than manually manage the size of various components. --- src/renderer/src/common/vueCommon.ts | 43 -- .../src/components/ContentsComponent.vue | 84 +--- src/renderer/src/components/OpenCOR.vue | 90 +--- .../src/components/views/IssuesView.vue | 54 +-- .../views/SimulationExperimentView.vue | 410 ++++++++---------- 5 files changed, 216 insertions(+), 465 deletions(-) diff --git a/src/renderer/src/common/vueCommon.ts b/src/renderer/src/common/vueCommon.ts index b0f6ec55..1d356770 100644 --- a/src/renderer/src/common/vueCommon.ts +++ b/src/renderer/src/common/vueCommon.ts @@ -67,46 +67,3 @@ export const useTheme = vueusecore.createGlobalState(() => { useDarkMode }; }); - -// A method to retrieve the name of a tracked CSS variable. - -export function trackedCssVariableName(id: string): string { - return `--${(id.split('_')[0] ?? '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}-height`; -} - -// A method to track the height of a given element. - -export function trackElementHeight(id: string): ResizeObserver | undefined { - const element = document.getElementById(id); - - if (element) { - const resizeObserver = new ResizeObserver(() => { - let elementHeight = window.getComputedStyle(element).height; - - if (!elementHeight || elementHeight === 'auto') { - elementHeight = '0px'; - } - - const cssVariableName = trackedCssVariableName(id); - const oldElementHeight = document.documentElement.style.getPropertyValue(cssVariableName); - - if (!oldElementHeight || (elementHeight !== '0px' && oldElementHeight !== elementHeight)) { - document.documentElement.style.setProperty(cssVariableName, elementHeight); - } - }); - - resizeObserver.observe(element); - - return resizeObserver; - } - - return undefined; -} - -// A method to retrieve the value of a tracked CSS variable. - -export function trackedCssVariableValue(id: string): number { - const propertyValue = document.documentElement.style.getPropertyValue(trackedCssVariableName(id)); - - return propertyValue ? parseFloat(propertyValue) : 0; -} diff --git a/src/renderer/src/components/ContentsComponent.vue b/src/renderer/src/components/ContentsComponent.vue index ec94c3af..edf620c5 100644 --- a/src/renderer/src/components/ContentsComponent.vue +++ b/src/renderer/src/components/ContentsComponent.vue @@ -1,16 +1,9 @@