UNPKG

valaxy-addon-artalk

Version:
29 lines (25 loc) 848 B
import { onMounted, computed, ComputedRef, onUnmounted } from "vue"; import { useI18n } from "vue-i18n"; import { useAddonArtalk } from "./options"; import type { ArtalkOptions } from "../types"; import Artalk from "artalk"; export function useArtalk(options: ComputedRef<ArtalkOptions | undefined>) { const { locale } = useI18n(); let artalk: Artalk; onMounted(() => { const defaultOptions = { el: "#ArtalkComment", locale: locale.value, }; const newArtalkOptions = Object.assign(defaultOptions, options.value || {}); artalk = Artalk.init(newArtalkOptions); }); onUnmounted(() => { artalk.destroy(); }); } export function useArtalkWithOptions() { const addonArtalk = useAddonArtalk(); const options = computed(() => addonArtalk.value.options); useArtalk(options); }