diff --git a/apps/web-wasm/src/App.vue b/apps/web-wasm/src/App.vue index ac96a77b..1cfc5d95 100644 --- a/apps/web-wasm/src/App.vue +++ b/apps/web-wasm/src/App.vue @@ -7,6 +7,7 @@ import { useI18n } from 'vue-i18n' import Sidebar from '@/components/common/Sidebar.vue' import { initializeAppRuntime } from '@/bootstrap/app-initialization' import { initPreferencesSync } from '@/composables/usePreferencesSync' +import { resolvePageTransitionKey } from '@/routes/page-transition-key' import { useBrowserRuntimeService } from '@/services/browser-runtime/service' import { initServices } from '@/services/registry' import { reportError } from '@/services/log-report' @@ -29,7 +30,7 @@ const settingsStore = useSettingsStore() const layoutStore = useLayoutStore() const { isInitialized, sessions } = storeToRefs(sessionStore) const initError = ref(null) -const pageTransitionKey = computed(() => route.fullPath) +const pageTransitionKey = computed(() => resolvePageTransitionKey(route)) const shouldShowSidebar = computed(() => route.path !== '/' || sessions.value.length > 0) const isNarrowViewport = useMediaQuery('(max-width: 767px)') diff --git a/apps/web-wasm/src/components/session/GroupOverview.vue b/apps/web-wasm/src/components/session/GroupOverview.vue index 7dfb8c6b..2450b1c0 100644 --- a/apps/web-wasm/src/components/session/GroupOverview.vue +++ b/apps/web-wasm/src/components/session/GroupOverview.vue @@ -57,22 +57,23 @@ const memberChartData = computed(() => { :filtered-message-count="filteredMessageCount" :filtered-member-count="filteredMemberCount" :time-filter="timeFilter" + :capturable="false" />
- +
- +
- + diff --git a/apps/web-wasm/src/components/session/PrivateOverview.vue b/apps/web-wasm/src/components/session/PrivateOverview.vue index 2953f32c..49c9c468 100644 --- a/apps/web-wasm/src/components/session/PrivateOverview.vue +++ b/apps/web-wasm/src/components/session/PrivateOverview.vue @@ -52,22 +52,28 @@ const memberComparisonData = computed(() => { :filtered-message-count="filteredMessageCount" :filtered-member-count="filteredMemberCount" :time-filter="timeFilter" + :capturable="false" />
- +
- +
- + diff --git a/src/components/UI/ReportCard.vue b/src/components/UI/ReportCard.vue index 83c6cb86..dcac7822 100644 --- a/src/components/UI/ReportCard.vue +++ b/src/components/UI/ReportCard.vue @@ -2,12 +2,22 @@ import CardCaptureOverlay from './CardCaptureOverlay.vue' import CardDecoration from './CardDecoration.vue' import ThemeCard from './ThemeCard.vue' + +withDefaults( + defineProps<{ + /** 是否显示截图入口 */ + capturable?: boolean + }>(), + { + capturable: true, + } +) diff --git a/src/components/analysis/Overview/DailyTrendCard.vue b/src/components/analysis/Overview/DailyTrendCard.vue index 439bd187..a8ed237f 100644 --- a/src/components/analysis/Overview/DailyTrendCard.vue +++ b/src/components/analysis/Overview/DailyTrendCard.vue @@ -7,14 +7,25 @@ import type { DailyActivity } from '@/types/analysis' const { t } = useI18n() -defineProps<{ - dailyActivity: DailyActivity[] - dailyChartData: EChartLineData -}>() +withDefaults( + defineProps<{ + dailyActivity: DailyActivity[] + dailyChartData: EChartLineData + capturable?: boolean + }>(), + { + capturable: true, + } +)