refactor: move chart-* modules from packages/ to src/features/

These are frontend-only Vue/ECharts components that depend on app internals (@/),
not cross-platform shared packages. Moving them to src/features/charts-* keeps
packages/ purely for reusable Node.js libraries.
This commit is contained in:
digua committed 2026-05-18 23:57:00 +08:00
1 parent d3ce4023e5
commit ba29346bfe
32 files changed
+8 -8

No files matched your search

@@ -1,8 +1,8 @@
<script setup lang="ts">
import { ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
import type { RepeatAnalysis } from '@openchatlab/chart-ranking/types'
import { queryRepeatAnalysis } from '@openchatlab/chart-ranking/queries'
import type { RepeatAnalysis } from '@/features/charts-ranking/types'
import { queryRepeatAnalysis } from '@/features/charts-ranking/queries'
import { ListPro } from '@/components/charts'
import { LoadingState, EmptyState, SectionCard } from '@/components/UI'
import { formatDate, getRankBadgeClass } from '@/utils'
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+2 -2
View File
@@ -3,8 +3,8 @@ import { ref, computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { SubTabs } from '@/components/UI'
import UserSelect from '@/components/common/UserSelect.vue'
import MessageView from '@openchatlab/chart-message/MessageView.vue'
import RankingView from '@openchatlab/chart-ranking/RankingView.vue'
import MessageView from '@/features/charts-message/MessageView.vue'
import RankingView from '@/features/charts-ranking/RankingView.vue'
import GroupRelationships from './view/GroupRelationships.vue'
import { WordcloudTab, CatchphraseTab, HotRepeatTab } from '@/components/analysis/quotes'
import { isFeatureSupported, type LocaleType } from '@/i18n'
@@ -6,9 +6,9 @@
import { ref, computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { SubTabs } from '@/components/UI'
import InteractionView from '@openchatlab/chart-interaction/InteractionView.vue'
import InteractionView from '@/features/charts-interaction/InteractionView.vue'
import Relationships from './Relationships.vue'
import ClusterView from '@openchatlab/chart-cluster/ClusterView.vue'
import ClusterView from '@/features/charts-cluster/ClusterView.vue'
import type { TimeFilter } from '@openchatlab/shared-types'
const { t } = useI18n()
@@ -3,7 +3,7 @@ import { ref, computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { SubTabs } from '@/components/UI'
import UserSelect from '@/components/common/UserSelect.vue'
import MessageView from '@openchatlab/chart-message/MessageView.vue'
import MessageView from '@/features/charts-message/MessageView.vue'
import RelationshipView from './view/RelationshipView.vue'
import { WordcloudTab, LanguagePreferenceTab } from '@/components/analysis/quotes'
import type { TimeFilter } from '@openchatlab/shared-types'
+1 -1
View File
@@ -104,7 +104,7 @@ async function initWebServeAdapters(): Promise<void> {
}
/**
* chart-* packages (packages/chart-ranking, chart-message, etc.) directly
* chart-* modules (src/features/charts-ranking, charts-message, etc.) directly
* call window.chatApi.pluginQuery / pluginCompute / getMemberActivity /
* getAvailableYears. In Electron, these are injected by the preload script.
* In web-serve mode, we install equivalent shims backed by DataService.