UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

1 lines 2.82 kB
{"version":3,"sources":["../src/hooks/useSupportFeatureFlag.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useAppStore } from '../store/appStore';\nimport {\n SupportType,\n type SupportFeatureFlags,\n type SupportApiClient,\n} from '../types/support';\n\nexport interface UseSupportFeatureFlagConfig {\n apiClient: SupportApiClient;\n}\n\nexport interface UseSupportFeatureFlagReturn {\n supportType: SupportType;\n loading: boolean;\n isZendesk: boolean;\n isNative: boolean;\n openZendeskChat: () => void;\n}\n\nexport const useSupportFeatureFlag = (\n config: UseSupportFeatureFlagConfig\n): UseSupportFeatureFlagReturn => {\n const [supportType, setSupportType] = useState<SupportType>(\n SupportType.NATIVE\n );\n const [loading, setLoading] = useState(true);\n const { institutionId } = useAppStore();\n\n useEffect(() => {\n if (!institutionId) {\n setLoading(false);\n return;\n }\n\n const fetchSupportFlag = async () => {\n try {\n const { data: response } = await config.apiClient.get<{\n data: { featureFlags: SupportFeatureFlags };\n }>(`/featureFlags/institution/${institutionId}/page/SUPPORT`);\n\n const type = response?.data?.featureFlags?.version?.supportType;\n if (type) {\n setSupportType(type);\n }\n } catch {\n setSupportType(SupportType.NATIVE);\n } finally {\n setLoading(false);\n }\n };\n\n fetchSupportFlag();\n }, [institutionId]);\n\n const openZendeskChat = () => {\n if (\n typeof globalThis !== 'undefined' &&\n (globalThis as unknown as Record<string, unknown>).zE\n ) {\n (\n (globalThis as unknown as Record<string, unknown>).zE as (\n ...args: unknown[]\n ) => void\n )('messenger', 'open');\n }\n };\n\n return {\n supportType,\n loading,\n isZendesk: supportType === SupportType.ZENDESK,\n isNative: supportType === SupportType.NATIVE,\n openZendeskChat,\n };\n};\n"],"mappings":";;;;;AAAA,SAAS,WAAW,gBAAgB;AAoB7B,IAAM,wBAAwB,CACnC,WACgC;AAChC,QAAM,CAAC,aAAa,cAAc,IAAI;AAAA;AAAA,EAEtC;AACA,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,IAAI;AAC3C,QAAM,EAAE,cAAc,IAAI,YAAY;AAEtC,YAAU,MAAM;AACd,QAAI,CAAC,eAAe;AAClB,iBAAW,KAAK;AAChB;AAAA,IACF;AAEA,UAAM,mBAAmB,YAAY;AACnC,UAAI;AACF,cAAM,EAAE,MAAM,SAAS,IAAI,MAAM,OAAO,UAAU,IAE/C,6BAA6B,aAAa,eAAe;AAE5D,cAAM,OAAO,UAAU,MAAM,cAAc,SAAS;AACpD,YAAI,MAAM;AACR,yBAAe,IAAI;AAAA,QACrB;AAAA,MACF,QAAQ;AACN,4CAAiC;AAAA,MACnC,UAAE;AACA,mBAAW,KAAK;AAAA,MAClB;AAAA,IACF;AAEA,qBAAiB;AAAA,EACnB,GAAG,CAAC,aAAa,CAAC;AAElB,QAAM,kBAAkB,MAAM;AAC5B,QACE,OAAO,eAAe,eACrB,WAAkD,IACnD;AACA,MACG,WAAkD,GAGnD,aAAa,MAAM;AAAA,IACvB;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,EACF;AACF;","names":[]}