fix: include meta info of oss instances

This commit is contained in:
DarkPhoenix2704
2025-09-12 17:31:06 +05:30
parent 39991027b7
commit 87f10882a7
4 changed files with 35 additions and 1 deletions

View File

@@ -1,9 +1,14 @@
export const useProvideChatwoot = () => {
const { setUser, setConversationCustomAttributes } = useChatWoot()
const { $api } = useNuxtApp()
const { user, appInfo } = useGlobal()
const router = useRouter()
const route = router.currentRoute
const metaInfo = ref()
const chatwootReady = ref(false)
const initUserCustomerAttributes = () => {
@@ -26,6 +31,8 @@ export const useProvideChatwoot = () => {
user_id: String(userId),
email: user.value?.email || '',
base_id: baseId || '',
user_count: metaInfo.value?.userCount || 0,
bases_count: metaInfo.value?.baseCount || 0,
})
}
@@ -35,6 +42,12 @@ export const useProvideChatwoot = () => {
initUserCustomerAttributes()
}
const loadAggMetaInfo = async () => {
try {
metaInfo.value = await $api.utils.aggregatedMetaInfo()
} catch (e) {}
}
watch(
[() => user.value?.email, () => user.value?.id, () => appInfo.value.disableSupportChat],
() => {
@@ -47,6 +60,10 @@ export const useProvideChatwoot = () => {
initUserCustomerAttributes()
})
onMounted(() => {
loadAggMetaInfo()
})
return {
chatwootInit,
}

View File

@@ -19,7 +19,7 @@ export default defineNuxtConfig({
// 'pages/playground/**/*'
],
modules: ['@vueuse/nuxt', 'nuxt-windicss', '@nuxt/image', '@pinia/nuxt'],
modules: ['@vueuse/nuxt', 'nuxt-windicss', '@nuxt/image', '@pinia/nuxt', '@productdevbook/chatwoot'],
ssr: false,
router: {

View File

@@ -41,6 +41,7 @@
"@floating-ui/vue": "^1.1.6",
"@iconify/vue": "^4.3.0",
"@pinia/nuxt": "^0.5.5",
"@productdevbook/chatwoot": "^2.0.0",
"@readme/httpsnippet": "^11.0.0",
"@sentry/vue": "^9.2.0",
"@tiptap/extension-hard-break": "^2.11.5",

16
pnpm-lock.yaml generated
View File

@@ -73,6 +73,9 @@ importers:
'@pinia/nuxt':
specifier: ^0.5.5
version: 0.5.5(magicast@0.3.5)(typescript@5.8.3)(vue@3.5.15(typescript@5.8.3))
'@productdevbook/chatwoot':
specifier: ^2.0.0
version: 2.0.0(magicast@0.3.5)(vue@3.5.15(typescript@5.8.3))
'@readme/httpsnippet':
specifier: ^11.0.0
version: 11.0.0
@@ -4318,6 +4321,11 @@ packages:
peerDependencies:
'@opentelemetry/api': ^1.8
'@productdevbook/chatwoot@2.0.0':
resolution: {integrity: sha512-9A8LY3Jw+KEA3pKJ3zB4zooq4QJ5IdHDBsFhemMuTb3QI/JO0WeWtV1kPO+DYMuGp/FLaHe3T81fh5pAXSlh6g==}
peerDependencies:
vue: '>=3.3.0'
'@purge-icons/core@0.10.0':
resolution: {integrity: sha512-AtJbZv5Yy+vWX5v32DPTr+CW7AkSK8HJx52orDbrYt/9s4lGM2t4KKAmwaTQEH2HYr2HVh1mlqs54/S1s3WT1g==}
@@ -18936,6 +18944,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@productdevbook/chatwoot@2.0.0(magicast@0.3.5)(vue@3.5.15(typescript@5.8.3))':
dependencies:
'@nuxt/kit': 3.17.4(magicast@0.3.5)
defu: 6.1.4
vue: 3.5.15(typescript@5.8.3)
transitivePeerDependencies:
- magicast
'@purge-icons/core@0.10.0(encoding@0.1.13)':
dependencies:
'@iconify/iconify': 2.1.2(encoding@0.1.13)