Migration to nuxt 4

Used codemods CLI and reworked most alias'd path that stopped working
This commit is contained in:
Alexis
2025-07-27 14:30:30 +02:00
parent 68b9a38f83
commit 7fdab8601f
280 changed files with 847 additions and 496 deletions

View File

@@ -0,0 +1,25 @@
<script setup lang="ts">
import { type HTMLAttributes, computed } from "vue"
import { PaginationEllipsis, type PaginationEllipsisProps } from "radix-vue"
import { cn } from "@/lib/utils"
import { PhArrowsHorizontal } from "@phosphor-icons/vue";
const props = defineProps<PaginationEllipsisProps & { class?: HTMLAttributes["class"] }>()
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props
return delegated
})
</script>
<template>
<PaginationEllipsis
v-bind="delegatedProps"
:class="cn('size-8 md:size-10 flex items-center justify-center', props.class)"
>
<slot>
<PhArrowsHorizontal />
</slot>
</PaginationEllipsis>
</template>

View File

@@ -0,0 +1,30 @@
<script setup lang="ts">
import { type HTMLAttributes, computed } from "vue"
import { PaginationFirst, type PaginationFirstProps } from "radix-vue"
import { Button } from "~/components/ui/button"
import { cn } from "@/lib/utils"
import { PhCaretDoubleLeft } from "@phosphor-icons/vue"
const props = withDefaults(
defineProps<PaginationFirstProps & { class?: HTMLAttributes["class"] }>(),
{
asChild: true
}
)
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props
return delegated
})
</script>
<template>
<PaginationFirst v-bind="delegatedProps">
<Button :class="cn('size-8 md:size-10 p-0', props.class)" variant="outline">
<slot>
<PhCaretDoubleLeft class="size-4" />
</slot>
</Button>
</PaginationFirst>
</template>

View File

@@ -0,0 +1,30 @@
<script setup lang="ts">
import { type HTMLAttributes, computed } from "vue"
import { PaginationLast, type PaginationLastProps } from "radix-vue"
import { Button } from "~/components/ui/button"
import { cn } from "@/lib/utils"
import { PhCaretDoubleRight } from "@phosphor-icons/vue"
const props = withDefaults(
defineProps<PaginationLastProps & { class?: HTMLAttributes["class"] }>(),
{
asChild: true
}
)
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props
return delegated
})
</script>
<template>
<PaginationLast v-bind="delegatedProps">
<Button :class="cn('size-8 md:size-10 p-0', props.class)" variant="outline">
<slot>
<PhCaretDoubleRight class="size-4" />
</slot>
</Button>
</PaginationLast>
</template>

View File

@@ -0,0 +1,30 @@
<script setup lang="ts">
import { type HTMLAttributes, computed } from "vue"
import { PaginationNext, type PaginationNextProps } from "radix-vue"
import { Button } from "~/components/ui/button"
import { cn } from "@/lib/utils"
import { PhCaretRight } from "@phosphor-icons/vue"
const props = withDefaults(
defineProps<PaginationNextProps & { class?: HTMLAttributes["class"] }>(),
{
asChild: true
}
)
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props
return delegated
})
</script>
<template>
<PaginationNext v-bind="delegatedProps">
<Button :class="cn('size-8 md:size-10 p-0', props.class)" variant="outline">
<slot>
<PhCaretRight class="size-4" />
</slot>
</Button>
</PaginationNext>
</template>

View File

@@ -0,0 +1,30 @@
<script setup lang="ts">
import { type HTMLAttributes, computed } from "vue"
import { PaginationPrev, type PaginationPrevProps } from "radix-vue"
import { Button } from "~/components/ui/button"
import { cn } from "@/lib/utils"
import { PhCaretLeft } from "@phosphor-icons/vue"
const props = withDefaults(
defineProps<PaginationPrevProps & { class?: HTMLAttributes["class"] }>(),
{
asChild: true
}
)
const delegatedProps = computed(() => {
const { class: _, ...delegated } = props
return delegated
})
</script>
<template>
<PaginationPrev v-bind="delegatedProps">
<Button :class="cn('size-8 md:size-10 p-0', props.class)" variant="outline">
<slot>
<PhCaretLeft class="size-4" />
</slot>
</Button>
</PaginationPrev>
</template>

View File

@@ -0,0 +1,6 @@
export { PaginationRoot as Pagination, PaginationList, PaginationListItem } from "radix-vue"
export { default as PaginationEllipsis } from "@/components/ui/pagination/PaginationEllipsis.vue"
export { default as PaginationFirst } from "@/components/ui/pagination/PaginationFirst.vue"
export { default as PaginationLast } from "@/components/ui/pagination/PaginationLast.vue"
export { default as PaginationNext } from "@/components/ui/pagination/PaginationNext.vue"
export { default as PaginationPrev } from "@/components/ui/pagination/PaginationPrev.vue"