UNPKG

nuxt-smart-app-banner

Version:
49 lines (46 loc) 1.27 kB
import { fileURLToPath } from 'url'; import { defineNuxtModule, createResolver, addComponent } from '@nuxt/kit'; const module = defineNuxtModule({ meta: { name: "nuxt-smart-app-banner", configKey: "nuxt-smart-app-banner", compatibility: { nuxt: "^3.0.0" } }, defaults: { bannerOptions: { useNativeIosBannerForSafari: true, daysHidden: 15, daysReminder: 90, appStoreLanguage: "us", title: "Title", author: "Company LLC", button: "View", icon: "", store: { ios: "On the App Store", android: "In Google Play" }, price: { ios: "FREE", android: "FREE" }, androidAppId: "", iosAppId: "" } }, setup(options, nuxt) { const { resolve } = createResolver(import.meta.url); const runtimeDir = fileURLToPath(new URL("./runtime", import.meta.url)); nuxt.options.build.transpile.push(runtimeDir); addComponent({ name: options.overrideComponentNameWith || "SmartAppBanner", global: true, filePath: resolve("./runtime/components/SmartAppBanner.vue"), mode: "client" }); nuxt.options.runtimeConfig.public.smartAppBanner = options.bannerOptions; } }); export { module as default };