chore(portal,operator): upgrade to Nuxt 4
Upgrade both Nuxt apps to Nuxt 4.4.6 (vue-tsc 3, TypeScript 5.6, undici 7) and add a root tsconfig.json to each app. Fix the strict-null / noUncheckedIndexedAccess errors surfaced by Nuxt 4's stricter generated tsconfig and vue-tsc 3. Drop the nuxt-oidc-auth pnpm patch (Nuxt 4 fixes the prepare:types crash natively).
This commit is contained in:
@@ -1,20 +1,17 @@
|
||||
<script setup lang="ts">
|
||||
<script setup lang="ts" generic="T extends { id: string; current?: boolean; trusted?: boolean }">
|
||||
// "..." menu for a single device row. The menu is teleported to <body> so it
|
||||
// escapes any overflow/clip on the table — same pattern as the React design
|
||||
// source. Closes on outside-click, Escape, or scroll.
|
||||
//
|
||||
// Generic over the device type so the emitted payload keeps the caller's full
|
||||
// device shape (label, os, …) instead of narrowing to a subset.
|
||||
|
||||
interface DeviceLike {
|
||||
id: string
|
||||
current?: boolean
|
||||
trusted?: boolean
|
||||
}
|
||||
|
||||
const props = defineProps<{ device: DeviceLike }>()
|
||||
defineProps<{ device: T }>()
|
||||
const emit = defineEmits<{
|
||||
rename: [DeviceLike]
|
||||
trust: [DeviceLike]
|
||||
history: [DeviceLike]
|
||||
revoke: [DeviceLike]
|
||||
rename: [T]
|
||||
trust: [T]
|
||||
history: [T]
|
||||
revoke: [T]
|
||||
}>()
|
||||
|
||||
const open = ref(false)
|
||||
|
||||
Reference in New Issue
Block a user