From 95f024275ca2ac250a4e96dd264872a2cdbd5270 Mon Sep 17 00:00:00 2001 From: Nikolai Giman Date: Mon, 27 Apr 2026 00:55:54 +0200 Subject: [PATCH] fix: ui issues --- .../features/analytics/AnalyticsChart.vue | 3 +++ .../analytics/AnalyticsDrillDownSlideover.vue | 21 +++++++++++++++++-- .../analytics/AnalyticsHelpButton.vue | 4 +++- web/src/locales/en.ts | 3 +++ web/src/locales/ru.ts | 3 +++ web/src/pages/user/analytics.vue | 2 ++ web/src/stores/analytics.store.ts | 6 +++++- web/src/types/analytics.types.ts | 1 + 8 files changed, 39 insertions(+), 4 deletions(-) diff --git a/web/src/components/features/analytics/AnalyticsChart.vue b/web/src/components/features/analytics/AnalyticsChart.vue index a27026e..d87dc30 100644 --- a/web/src/components/features/analytics/AnalyticsChart.vue +++ b/web/src/components/features/analytics/AnalyticsChart.vue @@ -120,7 +120,10 @@ onBeforeUnmount(() => { watch(() => props.section, () => { if (!props.section.allowedChartTypes.includes(currentChartType.value)) { + // Reassigning currentChartType triggers its own watcher, which calls render(). + // Skip render here to avoid double-init race ("Canvas is already in use"). currentChartType.value = props.section.defaultChartType ?? props.section.allowedChartTypes[0] ?? 'bar' + return } render() }, { deep: true }) diff --git a/web/src/components/features/analytics/AnalyticsDrillDownSlideover.vue b/web/src/components/features/analytics/AnalyticsDrillDownSlideover.vue index 1ac4595..88ad715 100644 --- a/web/src/components/features/analytics/AnalyticsDrillDownSlideover.vue +++ b/web/src/components/features/analytics/AnalyticsDrillDownSlideover.vue @@ -3,19 +3,28 @@ v-model:open="open" :title="analyticsStore.drillDown.sectionTitle ?? t('analytics.drillDown.defaultTitle')" :description="analyticsStore.drillDown.bucket ?? ''" + :fullscreen="isMobile" >