chore(deps): bump tailwindcss to v4
This commit is contained in:
@@ -488,7 +488,7 @@ onMounted(() => {
|
||||
v-for="(llm, index) in llmModels"
|
||||
:key="index"
|
||||
@click="currentModel = llm.tag"
|
||||
class="flex flex-col gap-2 justify-center items-center w-full aspect-[1/1] border-2 rounded-xl cursor-pointer transition duration-150 select-none"
|
||||
class="flex flex-col gap-2 justify-center items-center w-full aspect-1/1 border-2 rounded-xl cursor-pointer transition duration-150 select-none"
|
||||
:class="
|
||||
llm.tag === currentModel
|
||||
? 'border-primary shadow-xl bg-primary text-white'
|
||||
@@ -501,7 +501,7 @@ onMounted(() => {
|
||||
class="text-4xl opacity-80"
|
||||
/>
|
||||
<div class="flex flex-col gap-0.5 items-center">
|
||||
<h1 class="font-bold drop-shadow opacity-90">
|
||||
<h1 class="font-bold drop-shadow-sm opacity-90">
|
||||
{{ llm.name || 'unknown' }}
|
||||
</h1>
|
||||
<p class="text-xs opacity-60">{{ llm.description }}</p>
|
||||
@@ -548,7 +548,7 @@ onMounted(() => {
|
||||
|
||||
.chat-option-btn {
|
||||
@apply text-lg px-2 py-1.5 flex gap-1 justify-center items-center rounded-lg;
|
||||
@apply bg-white border border-neutral-300 shadow-sm hover:shadow-card;
|
||||
@apply bg-white border border-neutral-300 shadow-xs hover:shadow-card;
|
||||
@apply dark:bg-neutral-800 dark:border-neutral-600;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -333,7 +333,7 @@ const onDefaultFormSubmit = (event: FormSubmitEvent<DefaultFormSchema>) => {
|
||||
@mousedown.prevent="handle_stick_mousedown"
|
||||
>
|
||||
<span
|
||||
class="w-[1px] h-full bg-neutral-300 dark:bg-neutral-700 group-hover:bg-indigo-300 dark:group-hover:bg-indigo-700 group-hover:w-[3px] transition-all group-hover:delay-500 translate-x-1"
|
||||
class="w-px h-full bg-neutral-300 dark:bg-neutral-700 group-hover:bg-indigo-300 dark:group-hover:bg-indigo-700 group-hover:w-[3px] transition-all group-hover:delay-500 translate-x-1"
|
||||
></span>
|
||||
</div>
|
||||
<div
|
||||
|
||||
@@ -200,7 +200,7 @@ const open = (url?: string | URL, target?: string, features?: string) => {
|
||||
>
|
||||
<div class="container max-w-[1280px] mx-auto py-4 space-y-12">
|
||||
<div
|
||||
class="pattern w-full p-10 flex flex-col justify-center gap-3 items-center rounded-lg shadow-sm border border-gray-200 dark:border-neutral-700"
|
||||
class="pattern w-full p-10 flex flex-col justify-center gap-3 items-center rounded-lg shadow-xs border border-gray-200 dark:border-neutral-700"
|
||||
>
|
||||
<h1 class="text-4xl font-bold text-center text-primary">AI 工具导航</h1>
|
||||
<p>常用 AI 工具,一网打尽,常用常新</p>
|
||||
@@ -222,7 +222,7 @@ const open = (url?: string | URL, target?: string, features?: string) => {
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
||||
<div
|
||||
v-for="link in cat.links"
|
||||
class="bg-white dark:bg-neutral-800 p-4 rounded-lg shadow-sm border border-gray-200 dark:border-neutral-700 space-y-2 cursor-pointer hover:shadow-md transition-all duration-300"
|
||||
class="bg-white dark:bg-neutral-800 p-4 rounded-lg shadow-xs border border-gray-200 dark:border-neutral-700 space-y-2 cursor-pointer hover:shadow-md transition-all duration-300"
|
||||
:key="link.id"
|
||||
@click="open(link.url)"
|
||||
>
|
||||
|
||||
@@ -323,7 +323,7 @@ const previewVideo = (videoUrl: string, title: string) => {
|
||||
const closeButton = document.createElement('button')
|
||||
closeButton.textContent = '关闭'
|
||||
closeButton.className =
|
||||
'mt-4 px-4 py-2 bg-gray-500 text-white rounded hover:bg-gray-600'
|
||||
'mt-4 px-4 py-2 bg-gray-500 text-white rounded-sm hover:bg-gray-600'
|
||||
closeButton.onclick = () => {
|
||||
document.body.removeChild(videoModal)
|
||||
}
|
||||
|
||||
@@ -947,7 +947,7 @@ const onCreateSubmit = async (
|
||||
v-if="row.info.opening_url"
|
||||
:src="row.info.opening_url"
|
||||
:alt="row.info.title"
|
||||
class="w-16 h-9 object-cover rounded cursor-pointer hover:opacity-80 transition-opacity"
|
||||
class="w-16 h-9 object-cover rounded-sm cursor-pointer hover:opacity-80 transition-opacity"
|
||||
@click="
|
||||
previewVideo(
|
||||
row.info.opening_file,
|
||||
@@ -989,12 +989,12 @@ const onCreateSubmit = async (
|
||||
v-if="row.opening_url"
|
||||
:src="row.opening_url"
|
||||
alt="片头"
|
||||
class="w-14 h-8 object-cover rounded cursor-pointer hover:opacity-80 transition-opacity ring-1 ring-blue-200 dark:ring-blue-800"
|
||||
class="w-14 h-8 object-cover rounded-sm cursor-pointer hover:opacity-80 transition-opacity ring-1 ring-blue-200 dark:ring-blue-800"
|
||||
@click="previewVideo(row.opening_file, '制作片头预览')"
|
||||
/>
|
||||
<div
|
||||
v-else
|
||||
class="w-14 h-8 bg-blue-100 dark:bg-blue-900/30 rounded flex items-center justify-center cursor-pointer hover:opacity-80 transition-opacity"
|
||||
class="w-14 h-8 bg-blue-100 dark:bg-blue-900/30 rounded-sm flex items-center justify-center cursor-pointer hover:opacity-80 transition-opacity"
|
||||
@click="previewVideo(row.opening_file, '制作片头预览')"
|
||||
>
|
||||
<UIcon
|
||||
@@ -1015,12 +1015,12 @@ const onCreateSubmit = async (
|
||||
v-if="row.ending_url"
|
||||
:src="row.ending_url"
|
||||
alt="片尾"
|
||||
class="w-14 h-8 object-cover rounded cursor-pointer hover:opacity-80 transition-opacity ring-1 ring-green-200 dark:ring-green-800"
|
||||
class="w-14 h-8 object-cover rounded-sm cursor-pointer hover:opacity-80 transition-opacity ring-1 ring-green-200 dark:ring-green-800"
|
||||
@click="previewVideo(row.ending_file, '制作片尾预览')"
|
||||
/>
|
||||
<div
|
||||
v-else
|
||||
class="w-14 h-8 bg-green-100 dark:bg-green-900/30 rounded flex items-center justify-center cursor-pointer hover:opacity-80 transition-opacity"
|
||||
class="w-14 h-8 bg-green-100 dark:bg-green-900/30 rounded-sm flex items-center justify-center cursor-pointer hover:opacity-80 transition-opacity"
|
||||
@click="previewVideo(row.ending_file, '制作片尾预览')"
|
||||
>
|
||||
<UIcon
|
||||
@@ -1364,7 +1364,7 @@ const onCreateSubmit = async (
|
||||
v-if="previewVideoUrl"
|
||||
:src="previewVideoUrl"
|
||||
controls
|
||||
class="w-full h-full rounded"
|
||||
class="w-full h-full rounded-sm"
|
||||
/>
|
||||
</div>
|
||||
</UCard>
|
||||
@@ -1395,7 +1395,7 @@ const onCreateSubmit = async (
|
||||
v-if="previewImageUrl"
|
||||
:src="previewImageUrl"
|
||||
:alt="previewImageTitle"
|
||||
class="max-w-full max-h-[70vh] rounded object-contain"
|
||||
class="max-w-full max-h-[70vh] rounded-sm object-contain"
|
||||
/>
|
||||
</div>
|
||||
</UCard>
|
||||
|
||||
@@ -305,14 +305,14 @@ const onAvatarUpload = async (files: FileList) => {
|
||||
? systemAvatarList?.data.items
|
||||
: userAvatarList?.data.items"
|
||||
:key="avatar.model_id || k"
|
||||
class="relative rounded-lg shadow overflow-hidden w-full aspect-[9/16] group"
|
||||
class="relative rounded-lg shadow-sm overflow-hidden w-full aspect-9/16 group"
|
||||
>
|
||||
<NuxtImg
|
||||
:src="avatar.avatar"
|
||||
class="w-full h-full object-cover"
|
||||
/>
|
||||
<div
|
||||
class="absolute inset-x-0 bottom-0 p-2 bg-gradient-to-t from-black/50 to-transparent flex gap-2"
|
||||
class="absolute inset-x-0 bottom-0 p-2 bg-linear-to-t from-black/50 to-transparent flex gap-2"
|
||||
>
|
||||
<UBadge
|
||||
color="white"
|
||||
@@ -334,7 +334,7 @@ const onAvatarUpload = async (files: FileList) => {
|
||||
</template>
|
||||
</div>
|
||||
<div
|
||||
class="absolute inset-0 flex flex-col justify-center items-center bg-white/50 dark:bg-neutral-800/50 backdrop-blur opacity-0 group-hover:opacity-100 transition-opacity"
|
||||
class="absolute inset-0 flex flex-col justify-center items-center bg-white/50 dark:bg-neutral-800/50 backdrop-blur-sm opacity-0 group-hover:opacity-100 transition-opacity"
|
||||
>
|
||||
<UButtonGroup>
|
||||
<UButton
|
||||
@@ -376,7 +376,7 @@ const onAvatarUpload = async (files: FileList) => {
|
||||
<template #avatar-data="{ row }">
|
||||
<NuxtImg
|
||||
:src="row.avatar"
|
||||
class="h-16 aspect-[9/16] rounded-lg"
|
||||
class="h-16 aspect-9/16 rounded-lg"
|
||||
/>
|
||||
</template>
|
||||
<template #type-data="{ row }">
|
||||
|
||||
@@ -327,7 +327,7 @@ const onDeleteCat = (cat: PPTCategory) => {
|
||||
class="w-full aspect-video object-cover"
|
||||
/>
|
||||
<div
|
||||
class="absolute inset-x-0 bottom-0 p-3 pt-6 flex justify-between items-end bg-gradient-to-t from-black/50 to-transparent"
|
||||
class="absolute inset-x-0 bottom-0 p-3 pt-6 flex justify-between items-end bg-linear-to-t from-black/50 to-transparent"
|
||||
>
|
||||
<div class="space-y-0.5">
|
||||
<h3 class="text-base font-bold text-white">{{ ppt.title }}</h3>
|
||||
|
||||
@@ -608,7 +608,7 @@ onMounted(() => {
|
||||
<UButton
|
||||
color="gray"
|
||||
variant="ghost"
|
||||
class="!text-gray-500"
|
||||
class="text-gray-500!"
|
||||
@click="
|
||||
() => {
|
||||
router.push('/user/register')
|
||||
|
||||
@@ -157,7 +157,7 @@ const onSubmit = (form: RegisterSchema) => {
|
||||
<UButton
|
||||
color="gray"
|
||||
variant="ghost"
|
||||
class="!text-gray-500"
|
||||
class="text-gray-500!"
|
||||
@click="
|
||||
() => {
|
||||
router.push('/user/authenticate')
|
||||
|
||||
Reference in New Issue
Block a user