提交 c820bd9e 编写于 作者: View Design's avatar View Design

eslint: vue template space

上级 dfa4925c
<template> <template>
<NuxtPwaManifest /> <NuxtPwaManifest/>
<NuxtLoadingIndicator /> <NuxtLoadingIndicator/>
<NuxtLayout> <NuxtLayout>
<NuxtPage /> <NuxtPage/>
</NuxtLayout> </NuxtLayout>
<UNotifications /> <UNotifications/>
<UModals /> <UModals/>
</template> </template>
<script setup> <script setup>
const { $updateUserInfo } = useUserStore() const { $updateUserInfo } = useUserStore()
......
...@@ -15,13 +15,15 @@ ...@@ -15,13 +15,15 @@
<template #panel> <template #panel>
<div class="flex flex-col p-2 gap-2"> <div class="flex flex-col p-2 gap-2">
<div class="grid grid-cols-5 gap-px"> <div class="grid grid-cols-5 gap-px">
<ColorPickerPill v-for="color in primaryColors" :key="color.value" :color="color" :selected="primary" @select="primary = color" /> <ColorPickerPill v-for="color in primaryColors" :key="color.value" :color="color" :selected="primary"
@select="primary = color"/>
</div> </div>
<UDivider /> <UDivider/>
<div class="grid grid-cols-5 gap-px"> <div class="grid grid-cols-5 gap-px">
<ColorPickerPill v-for="color in grayColors" :key="color.value" :color="color" :selected="gray" @select="gray = color" /> <ColorPickerPill v-for="color in grayColors" :key="color.value" :color="color" :selected="gray"
@select="gray = color"/>
</div> </div>
</div> </div>
</template> </template>
......
<template> <template>
<div class="flex-grow overflow-hidden bg-gray-100 dark:bg-gray-900 border-r border-gray-200 dark:border-gray-800"> <div class="flex-grow overflow-hidden bg-gray-100 dark:bg-gray-900 border-r border-gray-200 dark:border-gray-800">
<div class="p-4 h-full flex flex-col"> <div class="p-4 h-full flex flex-col">
<ILogo class="mt-2" /> <ILogo class="mt-2"/>
<UButton <UButton
:ui="{ rounded: 'rounded-full' }" :ui="{ rounded: 'rounded-full' }"
class="flex w-full mt-6" class="flex w-full mt-6"
...@@ -19,16 +19,17 @@ ...@@ -19,16 +19,17 @@
</div> </div>
</UButton> </UButton>
<div class="flex flex-grow overflow-hidden mt-4"> <div class="flex flex-grow overflow-hidden mt-4">
<INav /> <INav/>
</div> </div>
</div> </div>
</div> </div>
<UDivider /> <UDivider/>
<div class="bg-gray-100 dark:bg-gray-900 border-r border-gray-200 dark:border-gray-800 flex flex-col items-center justify-center"> <div
<IUserInfo /> class="bg-gray-100 dark:bg-gray-900 border-r border-gray-200 dark:border-gray-800 flex flex-col items-center justify-center">
<IUserInfo/>
</div> </div>
<UModal v-model="isOpenCreate" :ui="{ width: 'w-full sm:max-w-screen-md' }"> <UModal v-model="isOpenCreate" :ui="{ width: 'w-full sm:max-w-screen-md' }">
<ICreate @search="handleCloseCreate" /> <ICreate @search="handleCloseCreate"/>
</UModal> </UModal>
</template> </template>
<script setup> <script setup>
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
@before-leave="onBeforeLeave" @before-leave="onBeforeLeave"
@leave="onLeave" @leave="onLeave"
> >
<div v-show="open" class="flex transition-[height] overflow-hidden"><slot /></div> <div v-show="open" class="flex transition-[height] overflow-hidden">
<slot/>
</div>
</Transition> </Transition>
</template> </template>
<script setup> <script setup>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="flex p-6 gap-4"> <div class="flex p-6 gap-4">
<div class="flex"> <div class="flex">
<div class="mx-auto flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-red-100"> <div class="mx-auto flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-red-100">
<UIcon name="i-heroicons-exclamation-triangle" class="w-6 h-6 text-red-600" /> <UIcon name="i-heroicons-exclamation-triangle" class="w-6 h-6 text-red-600"/>
</div> </div>
</div> </div>
<div class="flex-grow flex flex-col"> <div class="flex-grow flex flex-col">
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
trailing-icon="i-heroicons-x-mark-20-solid" trailing-icon="i-heroicons-x-mark-20-solid"
@click="handleToggleAside" @click="handleToggleAside"
/> />
<IAside /> <IAside/>
</USlideover> </USlideover>
</div> </div>
</template> </template>
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
label="主题" label="主题"
to="/library" to="/library"
/> />
<ISearchHistory @sign="$openSign" /> <ISearchHistory @sign="$openSign"/>
<ClientOnly> <ClientOnly>
<UButton <UButton
v-if="!$isSignIn" v-if="!$isSignIn"
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</ClientOnly> </ClientOnly>
</div> </div>
<UModal v-model="$isOpenSign"> <UModal v-model="$isOpenSign">
<ISign @close="$closeSign" /> <ISign @close="$closeSign"/>
</UModal> </UModal>
</template> </template>
<script setup> <script setup>
......
<template> <template>
<div class="flex flex-col items-start gap-4 p-4"> <div class="flex flex-col items-start gap-4 p-4">
<div class="flex w-full justify-between"> <div class="flex w-full justify-between">
<ILogo /> <ILogo/>
<UButton <UButton
color="gray" color="gray"
variant="ghost" variant="ghost"
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
size="md" size="md"
@click="handleGetSignUrl('gitcode')" @click="handleGetSignUrl('gitcode')"
> >
<img src="~/assets/svg/logo-gitcode.svg" > <img src="~/assets/svg/logo-gitcode.svg">
使用 GitCode 登录 使用 GitCode 登录
</UButton> </UButton>
<UButton <UButton
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<div class="container max-w-screen-lg 2xl:max-w-screen-xl flex flex-col p-6"> <div class="container max-w-screen-lg 2xl:max-w-screen-xl flex flex-col p-6">
<div class="flex justify-between items-center gap-4"> <div class="flex justify-between items-center gap-4">
<div class="flex gap-4"> <div class="flex gap-4">
<IMenuSider /> <IMenuSider/>
<div v-if="!collect" class="flex flex-shrink-0 items-center text-xl gap-2"> <div v-if="!collect" class="flex flex-shrink-0 items-center text-xl gap-2">
<UIcon name="i-heroicons-rectangle-stack-20-solid" /> <UIcon name="i-heroicons-rectangle-stack-20-solid"/>
<div>主题</div> <div>主题</div>
</div> </div>
<template v-else> <template v-else>
...@@ -16,15 +16,15 @@ ...@@ -16,15 +16,15 @@
to="/library" to="/library"
/> />
<div class="flex items-center text-xl gap-2"> <div class="flex items-center text-xl gap-2">
<UIcon name="i-heroicons-squares-2x2" /> <UIcon name="i-heroicons-squares-2x2"/>
<div>{{ collect }}</div> <div>{{ collect }}</div>
<UBadge color="gray" variant="soft" :label="count" /> <UBadge color="gray" variant="soft" :label="count"/>
</div> </div>
</template> </template>
</div> </div>
<div class="flex flex-grow justify-end items-center gap-4"> <div class="flex flex-grow justify-end items-center gap-4">
<div class="flex"> <div class="flex">
<IActionCollect v-if="collect" :id="collectId" /> <IActionCollect v-if="collect" :id="collectId"/>
</div> </div>
<div v-if="!collect" class="flex"> <div v-if="!collect" class="flex">
<UInput <UInput
...@@ -52,9 +52,9 @@ ...@@ -52,9 +52,9 @@
</div> </div>
<div v-if="description" class="text-gray-500 ml-12 mt-2">{{ description }}</div> <div v-if="description" class="text-gray-500 ml-12 mt-2">{{ description }}</div>
</div> </div>
<UDivider /> <UDivider/>
<div v-if="showTabs" class="w-full p-6 block lg:hidden"> <div v-if="showTabs" class="w-full p-6 block lg:hidden">
<UTabs :model-value="tab" :items="tabs" @update:model-value="handleChangeTab" /> <UTabs :model-value="tab" :items="tabs" @update:model-value="handleChangeTab"/>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -7,8 +7,9 @@ ...@@ -7,8 +7,9 @@
</ULink> </ULink>
<div class="flex justify-between items-center"> <div class="flex justify-between items-center">
<div class="flex gap-4"> <div class="flex gap-4">
<UTooltip class="flex items-center text-sm gap-0.5" :class="textColor" :text="thread.is_public ? '公开主题,链接可被发现' : '私密主题,仅自己可见'"> <UTooltip class="flex items-center text-sm gap-0.5" :class="textColor"
<UIcon :name="thread.is_public ? 'i-heroicons-lock-open' : 'i-heroicons-lock-closed'" /> :text="thread.is_public ? '公开主题,链接可被发现' : '私密主题,仅自己可见'">
<UIcon :name="thread.is_public ? 'i-heroicons-lock-open' : 'i-heroicons-lock-closed'"/>
<span>{{ thread.is_public ? '公开' : '私有' }}</span> <span>{{ thread.is_public ? '公开' : '私有' }}</span>
</UTooltip> </UTooltip>
<!-- <div class="flex items-center text-sm gap-0.5" :class="textColor">--> <!-- <div class="flex items-center text-sm gap-0.5" :class="textColor">-->
...@@ -17,7 +18,7 @@ ...@@ -17,7 +18,7 @@
<!-- </div>--> <!-- </div>-->
<div class="flex" :class="textColor"> <div class="flex" :class="textColor">
<UTooltip class="flex items-center text-sm gap-0.5"> <UTooltip class="flex items-center text-sm gap-0.5">
<UIcon name="i-heroicons-clock" /> <UIcon name="i-heroicons-clock"/>
<span>{{ useTime(thread.create_time) }}</span> <span>{{ useTime(thread.create_time) }}</span>
<template #text> <template #text>
{{ toValue(useDateFormat(thread.create_time, 'YYYY年M月D日 HH:mm')) }} {{ toValue(useDateFormat(thread.create_time, 'YYYY年M月D日 HH:mm')) }}
...@@ -53,7 +54,7 @@ ...@@ -53,7 +54,7 @@
/> />
</div> </div>
</div> </div>
<UDivider /> <UDivider/>
</template> </template>
<script setup> <script setup>
const Layout = inject('Layout') const Layout = inject('Layout')
......
<template> <template>
<div class="grid grid-cols-1"> <div class="grid grid-cols-1">
<MDC v-if="content" class="prose dark:prose-invert max-w-none" :class="'prose-' + size" :value="content" tag="article" /> <MDC v-if="content" class="prose dark:prose-invert max-w-none" :class="'prose-' + size" :value="content"
tag="article"/>
</div> </div>
</template> </template>
<script setup> <script setup>
......
<template> <template>
<ISearchProcess :collapse="collapse" :actions="actions" :status="processStatus" /> <ISearchProcess :collapse="collapse" :actions="actions" :status="processStatus"/>
<template v-if="item.source && item.source.length > 0"> <template v-if="item.source && item.source.length > 0">
<div class="text-xl flex items-center space-x-1"> <div class="text-xl flex items-center space-x-1">
<UIcon name="i-heroicons-link-20-solid" /> <UIcon name="i-heroicons-link-20-solid"/>
<span>来源</span> <span>来源</span>
</div> </div>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-4"> <div class="grid grid-cols-1 lg:grid-cols-3 gap-4">
<ISearchSource :source="item.source" /> <ISearchSource :source="item.source"/>
</div> </div>
</template> </template>
<div v-if="processStatus ==='finish'" class="text-xl flex items-center space-x-1"> <div v-if="processStatus ==='finish'" class="text-xl flex items-center space-x-1">
<UIcon name="i-heroicons-chat-bubble-left-right-20-solid" /> <UIcon name="i-heroicons-chat-bubble-left-right-20-solid"/>
<span>{{ item.ansLoading ? '回答中' : '回答' }}</span> <span>{{ item.ansLoading ? '回答中' : '回答' }}</span>
</div> </div>
<IMdMdc :content="item.article" /> <IMdMdc :content="item.article"/>
<div v-if="item.showActions" class="space-x-2"> <div v-if="item.showActions" class="space-x-2">
<UButton size="xs" color="gray" leading-icon="i-heroicons-document-duplicate-20-solid" label="复制" @click="handleCopyMD" /> <UButton size="xs" color="gray" leading-icon="i-heroicons-document-duplicate-20-solid" label="复制"
<UButton size="xs" color="gray" leading-icon="i-heroicons-share-20-solid" label="分享" @click="handleShare" /> @click="handleCopyMD"/>
<UButton v-if="isLastIndex" size="xs" color="gray" leading-icon="i-heroicons-arrow-path-rounded-square-20-solid" label="重写" @click="handleReGenerate" /> <UButton size="xs" color="gray" leading-icon="i-heroicons-share-20-solid" label="分享" @click="handleShare"/>
<UButton v-if="isLastIndex" size="xs" color="gray" leading-icon="i-heroicons-arrow-path-rounded-square-20-solid"
label="重写" @click="handleReGenerate"/>
</div> </div>
</template> </template>
<script setup> <script setup>
......
<template> <template>
<header class="sticky top-0 z-10 bg-white dark:bg-black w-full flex flex-col"> <header class="sticky top-0 z-10 bg-white dark:bg-black w-full flex flex-col">
<div class="w-full p-2 justify-between flex"> <div class="w-full p-2 justify-between flex">
<IMenuSider /> <IMenuSider/>
<div class="hidden md:flex"> <div class="hidden md:flex">
<div v-if="repo" class="flex items-center gap-2"> <div v-if="repo" class="flex items-center gap-2">
<UIcon name="i-simple-icons-github" />{{ repo }} <UIcon name="i-simple-icons-github"/>
{{ repo }}
</div> </div>
</div> </div>
<div class="flex-grow justify-center items-center space-x-2 hidden sm:flex"> <div class="flex-grow justify-center items-center space-x-2 hidden sm:flex">
...@@ -48,34 +49,34 @@ ...@@ -48,34 +49,34 @@
> >
<div class="flex-grow flex flex-col gap-1 text-sm"> <div class="flex-grow flex flex-col gap-1 text-sm">
<div class="flex items-center gap-1" :class="{ 'text-primary-500': !isOpen }"> <div class="flex items-center gap-1" :class="{ 'text-primary-500': !isOpen }">
<UIcon name="i-heroicons-lock-closed-16-solid" /> <UIcon name="i-heroicons-lock-closed-16-solid"/>
<span>私密</span> <span>私密</span>
</div> </div>
<div class="text-xs text-gray-500">只有作者可以查看</div> <div class="text-xs text-gray-500">只有作者可以查看</div>
</div> </div>
<div v-if="!isOpen"> <div v-if="!isOpen">
<UIcon name="i-heroicons-check-circle-20-solid" class="text-primary-500 text-xl" /> <UIcon name="i-heroicons-check-circle-20-solid" class="text-primary-500 text-xl"/>
</div> </div>
</div> </div>
<UDivider /> <UDivider/>
<div <div
class="flex flex-grow justify-between m-1 p-1 cursor-pointer rounded hover:bg-gray-100 dark:hover:bg-gray-800" class="flex flex-grow justify-between m-1 p-1 cursor-pointer rounded hover:bg-gray-100 dark:hover:bg-gray-800"
@click="handleUpdateOpenState(true)" @click="handleUpdateOpenState(true)"
> >
<div class="flex-grow flex flex-col gap-1 text-sm" :class="{ 'text-primary-500': isOpen }"> <div class="flex-grow flex flex-col gap-1 text-sm" :class="{ 'text-primary-500': isOpen }">
<div class="flex items-center gap-1"> <div class="flex items-center gap-1">
<UIcon name="i-heroicons-share-20-solid" /> <UIcon name="i-heroicons-share-20-solid"/>
<span>可分享的</span> <span>可分享的</span>
</div> </div>
<div class="text-xs text-gray-500">任何持有链接的人都可以查看</div> <div class="text-xs text-gray-500">任何持有链接的人都可以查看</div>
</div> </div>
<div v-if="isOpen"> <div v-if="isOpen">
<UIcon name="i-heroicons-check-circle-20-solid" class="text-primary-500 text-xl" /> <UIcon name="i-heroicons-check-circle-20-solid" class="text-primary-500 text-xl"/>
</div> </div>
</div> </div>
</div> </div>
<div v-if="isOpen" class="flex gap-1 items-center text-xs text-primary-500"> <div v-if="isOpen" class="flex gap-1 items-center text-xs text-primary-500">
<UIcon name="i-heroicons-clipboard-document-check" /> <UIcon name="i-heroicons-clipboard-document-check"/>
<span>链接已复制</span> <span>链接已复制</span>
</div> </div>
</div> </div>
...@@ -83,7 +84,7 @@ ...@@ -83,7 +84,7 @@
</UPopover> </UPopover>
</div> </div>
</div> </div>
<UDivider /> <UDivider/>
</header> </header>
</template> </template>
<script setup> <script setup>
......
<template> <template>
<div class="text-xl flex items-center space-x-1"> <div class="text-xl flex items-center space-x-1">
<UIcon name="i-heroicons-rectangle-group-20-solid" /> <UIcon name="i-heroicons-rectangle-group-20-solid"/>
<span>相关问题</span> <span>相关问题</span>
</div> </div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
> >
<div class="justify-between w-full flex items-center"> <div class="justify-between w-full flex items-center">
<div class="truncate">{{ item.title }}</div> <div class="truncate">{{ item.title }}</div>
<UIcon name="i-heroicons-plus-20-solid" class="text-base" /> <UIcon name="i-heroicons-plus-20-solid" class="text-base"/>
</div> </div>
</UButton> </UButton>
</div> </div>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="flex flex-col h-full gap-1"> <div class="flex flex-col h-full gap-1">
<template v-if="getIconPath(item.url) === 'github'"> <template v-if="getIconPath(item.url) === 'github'">
<div class="items-center flex gap-1"> <div class="items-center flex gap-1">
<UIcon name="i-simple-icons-github" class="flex-shrink-0" /> <UIcon name="i-simple-icons-github" class="flex-shrink-0"/>
<div class="flex flex-grow overflow-hidden"> <div class="flex flex-grow overflow-hidden">
<div class="truncate">{{ item.title }}</div> <div class="truncate">{{ item.title }}</div>
</div> </div>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<div class="line-clamp-2 text-sm">{{ item.title }}</div> <div class="line-clamp-2 text-sm">{{ item.title }}</div>
</div> </div>
<div class="items-center flex gap-1"> <div class="items-center flex gap-1">
<UAvatar :src="getIconPath(item.url)" size="2xs" class="flex-shrink-0" /> <UAvatar :src="getIconPath(item.url)" size="2xs" class="flex-shrink-0"/>
<div class="flex flex-grow overflow-hidden"> <div class="flex flex-grow overflow-hidden">
<div class="truncate text-xs text-gray-500">{{ getDomain(item.url) }}</div> <div class="truncate text-xs text-gray-500">{{ getDomain(item.url) }}</div>
</div> </div>
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
</ULink> </ULink>
<UCard v-if="source.length > 6" class="cursor-pointer" :ui="cardUI" @click="handleToggleShowAll"> <UCard v-if="source.length > 6" class="cursor-pointer" :ui="cardUI" @click="handleToggleShowAll">
<div class="flex items-center justify-center h-full gap-1"> <div class="flex items-center justify-center h-full gap-1">
<UIcon v-if="!showAllSource" name="i-heroicons-chevron-down-20-solid" /> <UIcon v-if="!showAllSource" name="i-heroicons-chevron-down-20-solid"/>
<UIcon v-else name="i-heroicons-chevron-up-20-solid" /> <UIcon v-else name="i-heroicons-chevron-up-20-solid"/>
<div v-if="!showAllSource">查看全部{{ source.length }}个来源</div> <div v-if="!showAllSource">查看全部{{ source.length }}个来源</div>
<div v-else>收起</div> <div v-else>收起</div>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
:href="href" :href="href"
:target="target" :target="target"
> >
<slot /> <slot/>
</NuxtLink> </NuxtLink>
</template> </template>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
@click="handleCopy" @click="handleCopy"
/> />
</pre> </pre>
<UDivider :ui="{ border: { base: 'border-gray-700' } }" /> <UDivider :ui="{ border: { base: 'border-gray-700' } }"/>
<pre :class="$props.class" class="m-0 rounded-none"><code v-html="codeBlock"/></pre> <pre :class="$props.class" class="m-0 rounded-none"><code v-html="codeBlock"/></pre>
</UCard> </UCard>
</template> </template>
......
...@@ -4,8 +4,8 @@ import withNuxt from './.nuxt/eslint.config.mjs' ...@@ -4,8 +4,8 @@ import withNuxt from './.nuxt/eslint.config.mjs'
export default withNuxt({ export default withNuxt({
files: ['**/*.vue', '**/*.js'], files: ['**/*.vue', '**/*.js'],
rules: { rules: {
'indent': [2, 2], 'vue/html-indent': ['off'],
'vue/html-indent': ['off', 'tab', { }], 'indent': ['error', 2],
'no-empty': ['error', { 'allowEmptyCatch': true }], 'no-empty': ['error', { 'allowEmptyCatch': true }],
'vue/no-v-html': 'off', 'vue/no-v-html': 'off',
'no-useless-escape': 'error', 'no-useless-escape': 'error',
......
<template> <template>
<slot /> <slot/>
</template> </template>
<template> <template>
<div class="w-full items-center flex flex-col"> <div class="w-full items-center flex flex-col">
<ILibraryHeader show-tabs :tab="tab" @change-tab="handleChangeTab" @search="handleSearch" @clear="getThreadData" /> <ILibraryHeader show-tabs :tab="tab" @change-tab="handleChangeTab" @search="handleSearch" @clear="getThreadData"/>
<div class="container max-w-screen-lg 2xl:max-w-screen-xl flex flex-col p-6 pt-0 lg:pt-6"> <div class="container max-w-screen-lg 2xl:max-w-screen-xl flex flex-col p-6 pt-0 lg:pt-6">
<div v-show="ready" class="flex gap-10"> <div v-show="ready" class="flex gap-10">
<div v-show="tab === 0 || tab === -1" class="flex flex-col flex-grow"> <div v-show="tab === 0 || tab === -1" class="flex flex-col flex-grow">
...@@ -11,13 +11,13 @@ ...@@ -11,13 +11,13 @@
:item="item" :item="item"
@delete="handleDeletedThread" @delete="handleDeletedThread"
/> />
<IEmpty v-if="!threads.length" /> <IEmpty v-if="!threads.length"/>
</div> </div>
</div> </div>
<div v-show="tab === 1 || tab === -1" class="flex flex-col flex-shrink-0 w-full lg:w-56"> <div v-show="tab === 1 || tab === -1" class="flex flex-col flex-shrink-0 w-full lg:w-56">
<div class="flex justify-between items-center"> <div class="flex justify-between items-center">
<div class="flex items-center text-lg gap-2"> <div class="flex items-center text-lg gap-2">
<UIcon name="i-heroicons-squares-2x2" /> <UIcon name="i-heroicons-squares-2x2"/>
<div>合集</div> <div>合集</div>
</div> </div>
<UButton <UButton
......
<template> <template>
<div class="w-full items-center flex flex-col"> <div class="w-full items-center flex flex-col">
<IException v-if="historyStatus !== 200" :code="historyStatus" /> <IException v-if="historyStatus !== 200" :code="historyStatus"/>
<template v-else> <template v-else>
<iSearchHeader <iSearchHeader
ref="refHeader" ref="refHeader"
...@@ -9,11 +9,12 @@ ...@@ -9,11 +9,12 @@
:repo="state.repo" :repo="state.repo"
@update-query="handleUpdateQuery" @update-query="handleUpdateQuery"
/> />
<div ref="scrollElement" class="container min-h-svh max-w-screen-lg 2xl:max-w-screen-xl flex flex-col space-y-6 p-6 mb-6 pb-0"> <div ref="scrollElement"
class="container min-h-svh max-w-screen-lg 2xl:max-w-screen-xl flex flex-col space-y-6 p-6 mb-6 pb-0">
<template v-for="(item, index) in data" :key="index"> <template v-for="(item, index) in data" :key="index">
<ISearchArticle> <ISearchArticle>
<template #title> <template #title>
<ISearchTitle :id="index + 1" as="h2" :title="item.question" /> <ISearchTitle :id="index + 1" as="h2" :title="item.question"/>
</template> </template>
<ISearchContent <ISearchContent
:item="item" :item="item"
...@@ -25,15 +26,15 @@ ...@@ -25,15 +26,15 @@
process-status="finish" process-status="finish"
/> />
<template v-if="item.extra && item.extra.length > 0" #extra> <template v-if="item.extra && item.extra.length > 0" #extra>
<ISearchExtraInfo :data="item.extra" /> <ISearchExtraInfo :data="item.extra"/>
</template> </template>
</ISearchArticle> </ISearchArticle>
<UDivider v-if="data.length !== index + 1 || askingData.question" class="pt-3 pb-2" /> <UDivider v-if="data.length !== index + 1 || askingData.question" class="pt-3 pb-2"/>
</template> </template>
<template v-if="askingData.question"> <template v-if="askingData.question">
<ISearchArticle> <ISearchArticle>
<template #title> <template #title>
<ISearchTitle :id="data.length + 1" as="h2" :title="askingData.question" /> <ISearchTitle :id="data.length + 1" as="h2" :title="askingData.question"/>
</template> </template>
<ISearchContent <ISearchContent
:item="askingData" :item="askingData"
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
@regenerate="handleReGenerate" @regenerate="handleReGenerate"
/> />
<template v-if="askingSidebarCards.length > 0" #extra> <template v-if="askingSidebarCards.length > 0" #extra>
<ISearchExtraInfo :data="askingSidebarCards" /> <ISearchExtraInfo :data="askingSidebarCards"/>
</template> </template>
</ISearchArticle> </ISearchArticle>
</template> </template>
...@@ -56,7 +57,7 @@ ...@@ -56,7 +57,7 @@
/> />
</div> </div>
<div class="container max-w-screen-lg 2xl:max-w-screen-xl sticky bottom-4 flex pl-6 pr-6"> <div class="container max-w-screen-lg 2xl:max-w-screen-xl sticky bottom-4 flex pl-6 pr-6">
<ISearchAsk :asking="asking" @stop="handleStopGenerate" @ask="handleContinueAsk" /> <ISearchAsk :asking="asking" @stop="handleStopGenerate" @ask="handleContinueAsk"/>
</div> </div>
</template> </template>
</div> </div>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册