diff --git a/panel/backend/Dockerfile b/panel/backend/Dockerfile
index dd09d6d..7ad5876 100644
--- a/panel/backend/Dockerfile
+++ b/panel/backend/Dockerfile
@@ -7,7 +7,7 @@
RUN apt-get update && apt-get install -y --no-install-recommends git ca-certificates \
&& rm -rf /var/lib/apt/lists/*
-COPY panel/frontend/package.json panel/frontend/package-lock.json ./
+COPY panel/frontend/package.json panel/frontend/package-lock.json panel/frontend/.npmrc ./
RUN npm ci
COPY panel/frontend/ ./
diff --git a/panel/frontend/.npmrc b/panel/frontend/.npmrc
new file mode 100644
index 0000000..5a4ccab
--- /dev/null
+++ b/panel/frontend/.npmrc
@@ -0,0 +1 @@
+allow-git=git.gnexus.space
diff --git a/panel/frontend/package-lock.json b/panel/frontend/package-lock.json
index ffd6570..d30bfc4 100644
--- a/panel/frontend/package-lock.json
+++ b/panel/frontend/package-lock.json
@@ -1092,8 +1092,8 @@
}
},
"node_modules/gnexus-ui-kit": {
- "version": "0.4.0",
- "resolved": "git+https://git.gnexus.space/git/root/gnexus-ui-kit.git#5227ba022e5da5ef7df5a4b4ed463c25abd1f85b",
+ "version": "1.0.0",
+ "resolved": "git+https://git.gnexus.space/git/root/gnexus-ui-kit.git#e28f382b7bbf405f9f33e9f5d5b53ad64c1aabf3",
"license": "UNLICENSED",
"peerDependencies": {
"vue": "^3.4.0"
diff --git a/panel/frontend/public/favicon.svg b/panel/frontend/public/favicon.svg
index cd8461d..9dae11b 100644
--- a/panel/frontend/public/favicon.svg
+++ b/panel/frontend/public/favicon.svg
@@ -1,10 +1,10 @@
\ No newline at end of file
diff --git a/panel/frontend/public/logo.svg b/panel/frontend/public/logo.svg
index cd8461d..9dae11b 100644
--- a/panel/frontend/public/logo.svg
+++ b/panel/frontend/public/logo.svg
@@ -1,10 +1,10 @@
\ No newline at end of file
diff --git a/panel/frontend/src/App.vue b/panel/frontend/src/App.vue
index b83f973..ae9af76 100644
--- a/panel/frontend/src/App.vue
+++ b/panel/frontend/src/App.vue
@@ -46,10 +46,4 @@
.tabs .tabs-panels {
flex-basis: 100%;
}
-
-/* Лого в топбаре — 48×48 */
-.nav-topbar-brand img {
- width: 48px;
- height: 48px;
-}
\ No newline at end of file
diff --git a/panel/frontend/src/chartTheme.js b/panel/frontend/src/chartTheme.js
index 31c6c08..d91d367 100644
--- a/panel/frontend/src/chartTheme.js
+++ b/panel/frontend/src/chartTheme.js
@@ -1,13 +1,13 @@
-// Тема графиков (chart.js): производные оттенков gnexus-ui-kit (Tokyo Night),
+// Тема графиков (chart.js): производные оттенков gnexus-ui-kit 1.0 (Verdant),
// зажатые в допустимый для тёмной поверхности диапазон светлоты.
// Валидировано скриптом палитры: все проверки PASS (L 0.48–0.67, CVD, контраст).
export const CHART_COLORS = [
- '#6B9B40', // зелёный ($color-neon-green)
- '#5578D6', // синий ($color-electric-blue)
- '#CC6A2E', // оранжевый ($color-orange)
- '#8B6BD6', // фиолетовый ($color-purple)
- '#B5822F', // жёлтый ($color-neon-yellow)
+ '#45AB7E', // зелёный (verdant $color-secondary)
+ '#4C86D2', // синий (контрастный партнёр для CVD)
+ '#C76A3A', // оранжевый (тёплый полюс)
+ '#957FCE', // фиолетовый
+ '#B08435', // жёлтый (тёмный amber)
]
// Фиксированные сущности (цвет следует за сущностью, не за порядком)
@@ -15,9 +15,9 @@
export const SERIES_OUT = CHART_COLORS[1] // сетевая отдача
export const INK = {
- text: '#C0CAF5', // $color-text-light — заголовки
- muted: '#A9B1D6', // $color-text-medium — оси, легенда
- grid: 'rgba(160, 170, 200, 0.08)', // сетка — максимально ненавязчивая
- panel: '#1F2335', // $color-dark — тултип
- border: 'rgba(160, 170, 200, 0.24)', // $border-color-muted
+ text: '#C3D6CB', // $color-text-light — заголовки
+ muted: '#A4B8AA', // $color-text-medium — оси, легенда
+ grid: 'rgba(163, 184, 170, 0.08)', // сетка — максимально ненавязчивая
+ panel: '#1E2522', // $color-dark — тултип
+ border: 'rgba(163, 184, 170, 0.24)', // $border-color-muted
}
\ No newline at end of file
diff --git a/panel/frontend/src/main.js b/panel/frontend/src/main.js
index 63f3975..998c561 100644
--- a/panel/frontend/src/main.js
+++ b/panel/frontend/src/main.js
@@ -1,5 +1,6 @@
// Точки входа. Стили кита обязательно подключаются в корне приложения.
-import 'gnexus-ui-kit/dist/css/kit.css'
+// Цветовая тема — Verdant (kit-verdant.css из gnexus-ui-kit 1.0).
+import 'gnexus-ui-kit/dist/css/kit-verdant.css'
import 'gnexus-ui-kit/dist/assets/fonts/phosphor-icons/src/css/icons.css'
import { createApp } from 'vue'
diff --git a/panel/frontend/src/pages/DashboardPage.vue b/panel/frontend/src/pages/DashboardPage.vue
index 4d41ffe..54a6165 100644
--- a/panel/frontend/src/pages/DashboardPage.vue
+++ b/panel/frontend/src/pages/DashboardPage.vue
@@ -168,9 +168,9 @@
}
.key-value {
padding: 8px 12px;
- border: 1px solid rgba(160, 170, 200, 0.24);
+ border: 1px solid rgba(163, 184, 170, 0.24);
border-radius: 6px;
- background: rgba(160, 170, 200, 0.08);
+ background: rgba(163, 184, 170, 0.08);
word-break: break-all;
}
\ No newline at end of file
diff --git a/panel/frontend/vite.config.js b/panel/frontend/vite.config.js
index 26452ac..008f416 100644
--- a/panel/frontend/vite.config.js
+++ b/panel/frontend/vite.config.js
@@ -1,8 +1,19 @@
+import path from 'node:path'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue()],
+ // exports-карта кита 1.0 пропускает только kit.css (и ./dist/assets/*);
+ // файлы цветовых тем (kit-verdant и т.п.) не перечислены — отдаём файл
+ // напрямую мимо exports через алиас
+ resolve: {
+ alias: {
+ 'gnexus-ui-kit/dist/css/kit-verdant.css': path.resolve(
+ 'node_modules/gnexus-ui-kit/dist/css/kit-verdant.css',
+ ),
+ },
+ },
server: {
// в dev фронт на :5173, API проксируется на локальную панель
proxy: {