Files
ui/docs/app/composables/useSharedData.ts
Hugo Richard 2cb4bd8a72 docs(app): enable support for @nuxt/ui-pro with vue (#3191)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Farnabaz <farnabaz@gmail.com>
2025-02-26 19:00:45 +01:00

47 lines
1.1 KiB
TypeScript

export function useSharedData() {
const framework = useCookie('nuxt-ui-framework', { default: () => 'nuxt' })
const frameworks = computed(() => [{
label: 'Nuxt',
icon: 'i-simple-icons-nuxtdotjs',
value: 'nuxt',
onSelect: () => framework.value = 'nuxt'
}, {
label: 'Vue',
icon: 'i-simple-icons-vuedotjs',
value: 'vue',
onSelect: () => {
if (module.value === 'ui-pro') {
return
}
framework.value = 'vue'
}
}].map(f => ({ ...f, active: framework.value === f.value })))
const module = useCookie('nuxt-ui-module', { default: () => 'ui' })
const modules = computed(() => [{
label: 'UI',
icon: 'i-lucide-box',
value: 'ui',
onSelect: () => module.value = 'ui'
}, {
label: 'UI Pro',
icon: 'i-lucide-panels-top-left',
value: 'ui-pro',
onSelect: () => {
if (framework.value === 'vue') {
return
}
module.value = 'ui-pro'
}
}].map(m => ({ ...m, active: module.value === m.value })))
return {
framework,
frameworks,
module,
modules
}
}