Skip to content

Commit 401a366

Browse files
committed
refactor: use single return in plugin
1 parent e758cc6 commit 401a366

1 file changed

Lines changed: 23 additions & 28 deletions

File tree

src/runtime/plugin.ts

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,38 @@
1-
import { reactive } from 'vue'
1+
import type { Device } from '../types'
22
import generateFlags from './generateFlags'
3-
import { defineNuxtPlugin, useRuntimeConfig, useRequestHeaders } from '#imports'
4-
// https://github.com/nuxt/module-builder/issues/141
5-
import type {} from 'nuxt/app'
3+
import { defineNuxtPlugin, reactive, useRequestHeaders, useRuntimeConfig } from '#imports'
64

7-
export default defineNuxtPlugin((nuxtApp) => {
5+
export default defineNuxtPlugin(() => {
86
const runtimeConfig = useRuntimeConfig()
97

10-
const defaultUserAgent = runtimeConfig.public?.device?.defaultUserAgent
8+
const defaultUserAgent = runtimeConfig.public.device.defaultUserAgent
119

12-
// Server Side
13-
if (nuxtApp.ssrContext) {
14-
const headers = useRequestHeaders()
10+
let flags: Device
1511

16-
const userAgent = headers['user-agent'] || defaultUserAgent || ''
12+
if (import.meta.server) {
13+
const headers = useRequestHeaders()
1714

18-
const flags = reactive(generateFlags(userAgent, headers))
15+
const userAgent = headers['user-agent'] || defaultUserAgent
1916

20-
return {
21-
provide: {
22-
device: flags,
23-
},
24-
}
17+
flags = reactive(generateFlags(userAgent, headers))
2518
}
19+
else {
20+
const userAgent = navigator.userAgent || defaultUserAgent
2621

27-
// Client Side
28-
const userAgent = navigator.userAgent || defaultUserAgent || ''
29-
const flags = reactive(generateFlags(userAgent))
22+
flags = reactive(generateFlags(userAgent))
3023

31-
if (runtimeConfig.public?.device?.refreshOnResize) {
32-
window.addEventListener('resize', () => {
33-
setTimeout(() => {
34-
const newFlags = generateFlags(navigator.userAgent || userAgent)
35-
Object.entries(newFlags).forEach(([key, value]) => {
24+
if (runtimeConfig.public.device.refreshOnResize) {
25+
window.addEventListener('resize', () => {
26+
setTimeout(() => {
27+
const newFlags = generateFlags(navigator.userAgent || userAgent)
28+
29+
Object.entries(newFlags).forEach(([key, value]) => {
3630
// eslint-disable-next-line @typescript-eslint/no-explicit-any
37-
(flags as any)[key] = value
38-
})
39-
}, 50)
40-
})
31+
(flags as any)[key] = value
32+
})
33+
}, 50)
34+
})
35+
}
4136
}
4237

4338
return {

0 commit comments

Comments
 (0)