From 2ffb8b0d819ec8cf4279f7858650bc605441e39e Mon Sep 17 00:00:00 2001 From: jamesread Date: Thu, 8 Jan 2026 23:19:31 +0000 Subject: [PATCH 1/8] feat: Logs now have a calendar view --- frontend/package-lock.json | 28 ++-- frontend/package.json | 4 +- frontend/resources/vue/router.js | 12 ++ .../resources/vue/views/LogsCalendarView.vue | 130 ++++++++++++++++++ frontend/resources/vue/views/LogsListView.vue | 125 ++++++++++++++++- lang/combined_output.json | 10 ++ lang/de-DE.yaml | 2 + lang/en.yaml | 2 + lang/es-ES.yaml | 2 + lang/it-IT.yaml | 2 + lang/zh-Hans-CN.yaml | 2 + 11 files changed, 298 insertions(+), 21 deletions(-) create mode 100644 frontend/resources/vue/views/LogsCalendarView.vue diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8aabc5b..bd7ecde 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -17,10 +17,10 @@ "@xterm/addon-fit": "^0.11.0", "@xterm/xterm": "^6.0.0", "iconify-icon": "^3.0.2", - "picocrank": "^1.12.1", + "picocrank": "^1.12.5", "standard": "^17.1.2", "unplugin-vue-components": "^30.0.0", - "vite": "^7.3.0", + "vite": "^7.3.1", "vue-i18n": "^11.2.8", "vue-router": "^4.6.4" }, @@ -2961,9 +2961,9 @@ } }, "node_modules/femtocrank": { - "version": "2.4.12", - "resolved": "https://registry.npmjs.org/femtocrank/-/femtocrank-2.4.12.tgz", - "integrity": "sha512-X2a4WVG1ADGjQcULUyH2FJ4njJNZobfP+iPO1MpAEtWRyVEDxps6dmktbOb3igoyCxNObF0T0uKwUC7zV21C0A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/femtocrank/-/femtocrank-2.5.0.tgz", + "integrity": "sha512-plV1HNS/fUzohWJ349kuCBZ3TCfXz7V4F/sY2lVbVWtGXUV+aHxLG6IddAMEf64k2LJ8j0KVrj+nIIKepFaKvg==", "license": "AGPL-3.0" }, "node_modules/file-entry-cache": { @@ -4607,17 +4607,17 @@ "license": "ISC" }, "node_modules/picocrank": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/picocrank/-/picocrank-1.12.1.tgz", - "integrity": "sha512-2qcIcveWQkkA2Wyo+KQdZANTbjb/9ydzinbpNN/1U/4x0BBUjyHhWoK5lNAx/KDVNl6ZM3xGo3eMb5/n6xWoVA==", + "version": "1.12.5", + "resolved": "https://registry.npmjs.org/picocrank/-/picocrank-1.12.5.tgz", + "integrity": "sha512-z0EP/I56cFGzvXV4EAEpkczYDYkdHGtRfHQA+k7rbrBEHMO1fi7qW8VbDj7/2eqeG6IbNqWRIG1IexRQWZj7bQ==", "license": "ISC", "dependencies": { - "@hugeicons/core-free-icons": "^3.1.0", + "@hugeicons/core-free-icons": "^3.1.1", "@hugeicons/vue": "^1.0.4", "@vitejs/plugin-vue": "^6.0.3", - "femtocrank": "^2.4.12", + "femtocrank": "^2.5.0", "unplugin-vue-components": "^30.0.0", - "vite": "^7.3.0", + "vite": "^7.3.1", "vue": "^3.5.26", "vue-router": "^4.6.4" } @@ -6122,9 +6122,9 @@ } }, "node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "license": "MIT", "dependencies": { "esbuild": "^0.27.0", diff --git a/frontend/package.json b/frontend/package.json index 3b6a2cc..1d97045 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -30,10 +30,10 @@ "@xterm/addon-fit": "^0.11.0", "@xterm/xterm": "^6.0.0", "iconify-icon": "^3.0.2", - "picocrank": "^1.12.1", + "picocrank": "^1.12.5", "standard": "^17.1.2", "unplugin-vue-components": "^30.0.0", - "vite": "^7.3.0", + "vite": "^7.3.1", "vue-i18n": "^11.2.8", "vue-router": "^4.6.4" } diff --git a/frontend/resources/vue/router.js b/frontend/resources/vue/router.js index 4310696..28b13c9 100644 --- a/frontend/resources/vue/router.js +++ b/frontend/resources/vue/router.js @@ -35,6 +35,18 @@ const routes = [ icon: LeftToRightListDashIcon } }, + { + path: '/logs/calendar', + name: 'LogsCalendar', + component: () => import('./views/LogsCalendarView.vue'), + meta: { + title: 'Logs Calendar', + breadcrumb: [ + { name: "Logs", href: "/logs" }, + { name: "Calendar" }, + ] + } + }, { path: '/entities', name: 'Entities', diff --git a/frontend/resources/vue/views/LogsCalendarView.vue b/frontend/resources/vue/views/LogsCalendarView.vue new file mode 100644 index 0000000..2dc7046 --- /dev/null +++ b/frontend/resources/vue/views/LogsCalendarView.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/frontend/resources/vue/views/LogsListView.vue b/frontend/resources/vue/views/LogsListView.vue index 4a6c07d..b3b9594 100644 --- a/frontend/resources/vue/views/LogsListView.vue +++ b/frontend/resources/vue/views/LogsListView.vue @@ -1,6 +1,9 @@