Skip to content

Commit

Permalink
fix: account for absence of module's runtime config in plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
DamianGlowala committed Aug 28, 2024
1 parent 6d860a4 commit a311d11
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/runtime/plugin.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import { reactive } from 'vue'
import generateFlags from './generateFlags'
import { defineNuxtPlugin, useRuntimeConfig, useRequestHeaders } from '#imports'
// https://github.com/nuxt/module-builder/issues/141
import type {} from 'nuxt/app'

export default defineNuxtPlugin((nuxtApp) => {
const config = useRuntimeConfig()
const runtimeConfig = useRuntimeConfig()

const defaultUserAgent = config.public.device.defaultUserAgent
const defaultUserAgent = runtimeConfig.public?.device?.defaultUserAgent

// Server Side
if (nuxtApp.ssrContext) {
const headers = useRequestHeaders()

const userAgent = headers['user-agent'] || defaultUserAgent
const userAgent = headers['user-agent'] || defaultUserAgent || ''

const flags = reactive(generateFlags(userAgent, headers))

Expand All @@ -23,10 +25,10 @@ export default defineNuxtPlugin((nuxtApp) => {
}

// Client Side
const userAgent = navigator.userAgent || defaultUserAgent
const userAgent = navigator.userAgent || defaultUserAgent || ''
const flags = reactive(generateFlags(userAgent))

if (config.public.device.refreshOnResize) {
if (runtimeConfig.public?.device?.refreshOnResize) {
window.addEventListener('resize', () => {
setTimeout(() => {
const newFlags = generateFlags(navigator.userAgent || userAgent)
Expand Down

0 comments on commit a311d11

Please sign in to comment.