From 74c8521f3053f8a62328c2882f8168b3def2fb38 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 08:46:20 +0200 Subject: [PATCH 01/14] chore: update logo.svg with updatecli logo Signed-off-by: Olivier Vernin --- src/assets/logo.svg | 791 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 786 insertions(+), 5 deletions(-) diff --git a/src/assets/logo.svg b/src/assets/logo.svg index 73961b97e..b79ee2ff0 100644 --- a/src/assets/logo.svg +++ b/src/assets/logo.svg @@ -1,6 +1,787 @@ - - - - - + + + + + + + + From 7e22c89bdc39794d8f1fe57edaae7bb2e542c030 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 08:56:15 +0200 Subject: [PATCH 02/14] feat: refactor and add theme Signed-off-by: Olivier Vernin --- package-lock.json | 382 +++++++++++++++++- package.json | 2 + src/components/HeadNavigation.vue | 2 +- src/components/ReleaseFooter.vue | 1 + src/components/SideNavigation.vue | 12 +- src/components/pipeline/_action.vue | 45 +-- src/components/pipeline/_condition.vue | 28 +- src/components/pipeline/_source.vue | 32 +- src/components/pipeline/_target.vue | 13 +- .../pipeline/configs/ReportCard.vue | 3 +- src/components/pipeline/report.vue | 2 +- src/components/scm/_filter.vue | 2 - src/components/scm/_summary.vue | 11 +- src/plugins/vuetify.js | 77 +++- src/plugins/webfontloader.js | 5 +- src/styles/settings.scss | 4 + src/views/AboutView.vue | 14 +- src/views/HomeView.vue | 47 +-- 18 files changed, 540 insertions(+), 142 deletions(-) create mode 100644 src/styles/settings.scss diff --git a/package-lock.json b/package-lock.json index 6ed7e8a05..fb4ea51fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,9 @@ "eslint": "^9.39.4", "eslint-plugin-vue": "^10.9.1", "globals": "^17.6.0", + "sass": "^1.100.0", "vite": "^8.0.16", + "vite-plugin-vuetify": "^2.1.3", "vue-eslint-parser": "^10.4.0" } }, @@ -748,6 +750,302 @@ "url": "https://github.com/sponsors/Boshen" } }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@rolldown/binding-android-arm64": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", @@ -1481,6 +1779,20 @@ "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==", "license": "MIT" }, + "node_modules/@vuetify/loader-shared": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-2.1.2.tgz", + "integrity": "sha512-X+1jBLmXHkpQEnC0vyOb4rtX2QSkBiFhaFXz8yhQqN2A4vQ6k2nChxN4Ol7VAY5KoqMdFoRMnmNdp/1qYXDQig==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "upath": "^2.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0", + "vuetify": ">=3" + } + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -3252,6 +3564,13 @@ "node": ">= 4" } }, + "node_modules/immutable": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.6.tgz", + "integrity": "sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ==", + "devOptional": true, + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -3290,7 +3609,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -3299,7 +3618,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3916,6 +4235,13 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-releases": { "version": "2.0.46", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz", @@ -4237,6 +4563,27 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sass": { + "version": "1.100.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.100.0.tgz", + "integrity": "sha512-B5j0rYMlinhhOo9tjQebMVVn0TfyXAF+wB3b2ggZUuJ/is/Y+7+JGjirAMxHZ9Z3hIP98NPfamlAkBHa1lAaXQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=20.19.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, "node_modules/scule": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", @@ -4403,6 +4750,17 @@ "url": "https://github.com/sponsors/sxzz" } }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", @@ -4540,6 +4898,26 @@ } } }, + "node_modules/vite-plugin-vuetify": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vite-plugin-vuetify/-/vite-plugin-vuetify-2.1.3.tgz", + "integrity": "sha512-Q4SC/4TqbNvaZIFb9YsfBqkGlYHbJJJ6uU3CnRBZqLUF3s5eCMVZAaV4GkTbehIH/bhSj42lMXztOwc71u6rVw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vuetify/loader-shared": "^2.1.2", + "debug": "^4.3.3", + "upath": "^2.0.1" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": ">=5", + "vue": "^3.0.0", + "vuetify": ">=3" + } + }, "node_modules/vue": { "version": "3.5.35", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.35.tgz", diff --git a/package.json b/package.json index 09c70a982..9e0cbd31d 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,9 @@ "eslint": "^9.39.4", "eslint-plugin-vue": "^10.9.1", "globals": "^17.6.0", + "sass": "^1.100.0", "vite": "^8.0.16", + "vite-plugin-vuetify": "^2.1.3", "vue-eslint-parser": "^10.4.0" }, "browserslist": [ diff --git a/src/components/HeadNavigation.vue b/src/components/HeadNavigation.vue index a5ad1d750..e84d785f4 100644 --- a/src/components/HeadNavigation.vue +++ b/src/components/HeadNavigation.vue @@ -1,5 +1,5 @@
diff --git a/src/components/SideNavigation.vue b/src/components/SideNavigation.vue index cc3d51488..36d912626 100644 --- a/src/components/SideNavigation.vue +++ b/src/components/SideNavigation.vue @@ -23,18 +23,18 @@ title="Home" to="/" value="home"> - + -
- - mdi-chevron-right - @@ -166,7 +160,6 @@ mdi-source-branch @@ -233,7 +226,7 @@ - +
@@ -243,7 +236,6 @@

About Udash - mdi-information + mdi-information

A monitoring platform for your project's dependencies @@ -21,7 +21,7 @@ - + mdi-rocket-launch What is Udash? @@ -35,17 +35,17 @@

- mdi-book-open-variant + mdi-book-open-variant

Monitor

Track pipeline executions and results

- mdi-view-dashboard + mdi-view-dashboard

Visualize

See dependency updates at a glance

- mdi-transit-connection-variant + mdi-transit-connection-variant

Manage

Control and audit your update processes

@@ -58,7 +58,7 @@ - + mdi-heart Join Our Community @@ -91,7 +91,7 @@ - +
mdi-scale-balance diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 29e1e8f54..d161fa718 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -5,11 +5,11 @@ - +

- Udash + Udash

A monitoring platform for your project's dependencies @@ -18,8 +18,12 @@ + + - + - + {{ feature.title }} @@ -48,27 +51,26 @@ - + Get Started Quick Start Configure - Contribute + Feedback

- +

Ready to start?

Connect your Updatecli runner to Udash in just a few steps

-
-                          
-{{ getStepCode(step) }}
-                          
+                        
+                          {{ getStepCode(step) }}
                         
- - + +

Join Our Community

@@ -146,6 +148,8 @@ import HeadNavigation from '../components/HeadNavigation.vue'; import { getDashboardUrl } from '@/composables/runtime'; import { getApiBaseUrl } from '@/composables/api'; +import logo from '@/assets/logo.svg'; + export default { name: 'HomeView', components: { @@ -154,6 +158,7 @@ export default { HeadNavigation, }, data: () => ({ + logo, activeTab: 'quickstart', host: window.location.origin, @@ -219,7 +224,7 @@ export default { link: "https://github.com/updatecli/udash/issues" }, { - title: "Contribute Code", + title: "Feedback Code", icon: "mdi-code-tags", link: "https://github.com/updatecli/udash/blob/main/CONTRIBUTING.md" } @@ -243,13 +248,3 @@ export default { } } - - From a2d9b5da1c917739d9417555353b1401a1bb474b Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 08:59:17 +0200 Subject: [PATCH 03/14] fix: remove hardcode color Signed-off-by: Olivier Vernin --- src/components/pipeline/report.vue | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/components/pipeline/report.vue b/src/components/pipeline/report.vue index c168075a2..dd0b9a4ac 100644 --- a/src/components/pipeline/report.vue +++ b/src/components/pipeline/report.vue @@ -619,7 +619,6 @@ export default { gap: 16px; padding: 14px 16px; border-radius: 12px; - background: linear-gradient(90deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01)); border: 1px solid rgba(0, 0, 0, 0.06); } @@ -636,13 +635,11 @@ export default { .label-key { font-weight: 700; - color: rgba(0, 0, 0, 0.78); word-break: break-word; } .label-value { font-weight: 500; - color: rgba(0, 0, 0, 0.64); text-align: right; word-break: break-word; } From da46e98a5d2fa0f7823fbab89bf4babfe4977613 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 15:20:29 +0200 Subject: [PATCH 04/14] fix: add missing typos config Signed-off-by: Olivier Vernin --- _typos.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 _typos.toml diff --git a/_typos.toml b/_typos.toml new file mode 100644 index 000000000..43ceec3ff --- /dev/null +++ b/_typos.toml @@ -0,0 +1,2 @@ +[files] +extend-exclude = ["src/assets", "_typos.toml"] From d713e890dd3aa107334fe37b61d668a2ef6e9293 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 15:21:04 +0200 Subject: [PATCH 05/14] fix: component Signed-off-by: Olivier Vernin --- src/components/pipeline/configs/ReportCard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/pipeline/configs/ReportCard.vue b/src/components/pipeline/configs/ReportCard.vue index ff4942eeb..8b70662d9 100644 --- a/src/components/pipeline/configs/ReportCard.vue +++ b/src/components/pipeline/configs/ReportCard.vue @@ -16,7 +16,7 @@ -
{{ report.Pass ? 'Passed' : 'Failed' }} From 658bc4ae3c82a72e1e3e0bd4b80bb529a65c1e39 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 15:29:17 +0200 Subject: [PATCH 06/14] fix: add font to vite config Signed-off-by: Olivier Vernin --- vite.config.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/vite.config.js b/vite.config.js index 1564c1828..3cfa05c8e 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,5 +1,6 @@ import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' +import vuetify from 'vite-plugin-vuetify' import { fileURLToPath, URL } from 'node:url' export default defineConfig(({ mode }) => { @@ -7,7 +8,14 @@ export default defineConfig(({ mode }) => { return { base: './', - plugins: [vue()], + plugins: [ + vue(), + vuetify({ + styles: { + configFile: 'src/styles/settings.scss', + }, + }), + ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), @@ -16,10 +24,11 @@ export default defineConfig(({ mode }) => { server: { proxy: { '^/api': { - target: env.VITE_DEV_PROXY_TARGET || 'http://localhost:8080/api', + //target: env.VITE_DEV_PROXY_TARGET || 'https://api.uda.sh/updatecli', + //rewrite: (path) => path.replace(/^\/api/, '/'), + target: env.VITE_DEV_PROXY_TARGET || 'http://localhost:8080', changeOrigin: true, ws: true, - //rewrite: (path) => path.replace(/^\/api/, '/'), }, }, }, From 82da599932f471a9c7d853df81e02670fe314b48 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 15:30:54 +0200 Subject: [PATCH 07/14] fix: contributing section Signed-off-by: Olivier Vernin --- src/views/HomeView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index d161fa718..6c3d84dd0 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -224,7 +224,7 @@ export default { link: "https://github.com/updatecli/udash/issues" }, { - title: "Feedback Code", + title: "Contribute", icon: "mdi-code-tags", link: "https://github.com/updatecli/udash/blob/main/CONTRIBUTING.md" } From b4e36412c45b3f5e73e196038bd13026bc5f8eeb Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 15:32:36 +0200 Subject: [PATCH 08/14] chore: add alt to logo Signed-off-by: Olivier Vernin --- src/views/HomeView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 6c3d84dd0..1fb972959 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -18,7 +18,7 @@ - + Date: Thu, 11 Jun 2026 15:34:17 +0200 Subject: [PATCH 09/14] chore: fix comment Signed-off-by: Olivier Vernin --- src/plugins/vuetify.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/vuetify.js b/src/plugins/vuetify.js index 26a3e7b5d..9326e70cd 100644 --- a/src/plugins/vuetify.js +++ b/src/plugins/vuetify.js @@ -91,9 +91,7 @@ export default createVuetify({ components, directives, theme: { - //defaultTheme: "dark", - //defaultTheme: "light", - // Valid values: updatecliTheme | updatecliLightTheme | deepSpaceNavyTheme | nebulaGlowTheme + // Valid values: updatecliTheme | spaceTheme | spaceLightTheme | deepSpaceNavyTheme | nebulaGlowTheme defaultTheme: "spaceTheme", //defaultTheme: "updatecliTheme", //defaultTheme: "deepSpaceNavyTheme", From 56641f90b5c81ddc8cd5979308ad470a4a0a6d80 Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 20:46:53 +0200 Subject: [PATCH 10/14] chore: clean about view Signed-off-by: Olivier Vernin --- src/views/AboutView.vue | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue index 2525c6e1b..941c53b7b 100644 --- a/src/views/AboutView.vue +++ b/src/views/AboutView.vue @@ -9,7 +9,7 @@

- About Udash + About mdi-information

@@ -28,28 +28,10 @@

- Udash is a web dashboard designed to work seamlessly with + Udash is a web dashboard designed to work with Updatecli, providing visibility into your dependency update workflows. - It transforms raw pipeline data into actionable insights through visualizations.

- - - mdi-book-open-variant -

Monitor

-

Track pipeline executions and results

-
- - mdi-view-dashboard -

Visualize

-

See dependency updates at a glance

-
- - mdi-transit-connection-variant -

Manage

-

Control and audit your update processes

-
-
@@ -888,7 +870,6 @@ For more information on this, and how to apply and follow the GNU AGPL, see padding: 16px; font-size: 0.75rem; line-height: 1.4; - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; } .gap-2 { From c4bbe69aba048341f59d73ac0b58d8125e3f4f5a Mon Sep 17 00:00:00 2001 From: Olivier Vernin Date: Thu, 11 Jun 2026 20:52:05 +0200 Subject: [PATCH 11/14] chore: remove hardcoded text white Signed-off-by: Olivier Vernin --- src/components/pipeline/_condition.vue | 1 - src/components/pipeline/_source.vue | 2 -- src/components/pipeline/_target.vue | 2 -- 3 files changed, 5 deletions(-) diff --git a/src/components/pipeline/_condition.vue b/src/components/pipeline/_condition.vue index 2f2df2614..d948378c5 100644 --- a/src/components/pipeline/_condition.vue +++ b/src/components/pipeline/_condition.vue @@ -36,7 +36,6 @@ :color="getStatusColor(data.Result)" size="small" variant="flat" - class="text-white" > {{ getStatusIcon(data.Result) }} diff --git a/src/components/pipeline/_source.vue b/src/components/pipeline/_source.vue index b636d8c3f..044f619fc 100644 --- a/src/components/pipeline/_source.vue +++ b/src/components/pipeline/_source.vue @@ -1,7 +1,6 @@