From b8e4ef48b871c155af860d1354475545bcd99cb2 Mon Sep 17 00:00:00 2001 From: Jeroen Nijhuis Date: Tue, 2 Jan 2024 14:49:34 +0100 Subject: [PATCH] wip: tabs --- package-lock.json | 37 ++++++++++++++-- package.json | 1 + src/App.vue | 15 ++++--- src/assets/icons/close.svg | 1 + src/components/RouterViewport.vue | 7 ++- src/components/TabOrchestrator.vue | 45 ++++++++++++++----- src/components/tables/pods.ts | 2 +- src/providers/TabProvider.ts | 69 ++++++++++++++++++++++++++++++ src/views/LogViewer.vue | 10 +++++ src/views/Pods.vue | 13 +++++- 10 files changed, 177 insertions(+), 23 deletions(-) create mode 100644 src/assets/icons/close.svg create mode 100644 src/providers/TabProvider.ts create mode 100644 src/views/LogViewer.vue diff --git a/package-lock.json b/package-lock.json index a6f52ce..3453b9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "radix-vue": "^1.2.5", "tailwind-merge": "^2.1.0", "tailwindcss-animate": "^1.0.7", + "vite-plugin-dynamic-import": "^1.5.0", "vite-svg-loader": "^5.1.0", "vue": "3.3.4", "vue-router": "^4.2.5" @@ -2671,7 +2672,6 @@ "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -4291,6 +4291,11 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -12604,6 +12609,17 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/vite-plugin-dynamic-import": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.5.0.tgz", + "integrity": "sha512-Qp85c+AVJmLa8MLni74U4BDiWpUeFNx7NJqbGZyR2XJOU7mgW0cb7nwlAMucFyM4arEd92Nfxp4j44xPi6Fu7g==", + "dependencies": { + "acorn": "^8.8.2", + "es-module-lexer": "^1.2.1", + "fast-glob": "^3.2.12", + "magic-string": "^0.30.1" + } + }, "node_modules/vite-svg-loader": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-5.1.0.tgz", @@ -14731,8 +14747,7 @@ "acorn": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" }, "acorn-jsx": { "version": "5.3.2", @@ -15926,6 +15941,11 @@ "is-arrayish": "^0.2.1" } }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -21787,6 +21807,17 @@ "vite": "^3.0.0 || ^4.0.0" } }, + "vite-plugin-dynamic-import": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.5.0.tgz", + "integrity": "sha512-Qp85c+AVJmLa8MLni74U4BDiWpUeFNx7NJqbGZyR2XJOU7mgW0cb7nwlAMucFyM4arEd92Nfxp4j44xPi6Fu7g==", + "requires": { + "acorn": "^8.8.2", + "es-module-lexer": "^1.2.1", + "fast-glob": "^3.2.12", + "magic-string": "^0.30.1" + } + }, "vite-svg-loader": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-5.1.0.tgz", diff --git a/package.json b/package.json index 5bbf01b..cb2afdb 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "radix-vue": "^1.2.5", "tailwind-merge": "^2.1.0", "tailwindcss-animate": "^1.0.7", + "vite-plugin-dynamic-import": "^1.5.0", "vite-svg-loader": "^5.1.0", "vue": "3.3.4", "vue-router": "^4.2.5" diff --git a/src/App.vue b/src/App.vue index 9c7bed2..93ec0c0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,6 +9,7 @@ import CommandPalette from "./components/CommandPalette.vue"; import SettingsContextProvider from "./providers/SettingsContextProvider"; import KubeContextProvider from "./providers/KubeContextProvider"; import CommandPaletteProvider from "./providers/CommandPaletteProvider"; +import TabProvider from "./providers/TabProvider";