Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions ui/src/components/create/CreatePagePanel.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { useRouter } from 'vue-router'
import { useMutation } from '@tanstack/vue-query'
import { useLocalStorage } from '@vueuse/core'
import { Toast } from '@halo-dev/components'
Expand All @@ -20,7 +20,6 @@ import ImportPageModal from './ImportPageModal.vue'

defineProps<{ autofocus?: boolean }>()

const route = useRoute()
const router = useRouter()
const prompt = ref('')
// Same storage key as the editor chat, so the choice carries over.
Expand Down Expand Up @@ -93,10 +92,8 @@ const createMutation = useMutation({
onSuccess: ({ detail, started, startError, unknown }) => {
void queryClient.invalidateQueries({ queryKey: pageKeys.all })
if (started) {
Toast.success('已开始生成,可在页面列表查看进度')
if (route.name !== 'AiPageBuilderPages') {
void router.push({ name: 'AiPageBuilderPages' })
}
Toast.success('已开始生成')
void router.push({ name: 'AiPageBuilderEditor', params: { name: detail.page.name } })
return
}
if (unknown) {
Expand Down
8 changes: 5 additions & 3 deletions ui/src/components/create/__tests__/import-page.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ vi.mock('../../../api/clients', () => ({
},
}))
vi.mock('vue-router', () => ({
useRoute: () => ({ name: 'AiPageBuilderNew' }),
useRouter: () => ({ push: mocks.push }),
}))
vi.mock('@halo-dev/components', async (importOriginal) => {
Expand Down Expand Up @@ -506,8 +505,11 @@ describe('background page creation', () => {

expect(mocks.getRun).toHaveBeenCalledTimes(1)
expect(mocks.getRun.mock.calls[0]![1]).toMatchObject({ mute: true })
expect(mocks.push).toHaveBeenCalledWith({ name: 'AiPageBuilderPages' })
expect(mocks.toastSuccess).toHaveBeenCalledWith('已开始生成,可在页面列表查看进度')
expect(mocks.push).toHaveBeenCalledWith({
name: 'AiPageBuilderEditor',
params: { name: 'new-page' },
})
expect(mocks.toastSuccess).toHaveBeenCalledWith('已开始生成')
})

it('falls back to the editor when the start is definitely missing', async () => {
Expand Down
7 changes: 5 additions & 2 deletions ui/src/editor/__tests__/ai-create.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ describe('page creation', () => {
})
wrapper.unmount()
})
it('starts the run on the server and returns to the list when a model is selected', async () => {
it('starts the run on the server and opens the workbench when a model is selected', async () => {
localStorage.setItem('ai-page-builder:model-name', 'tool-model')
mocks.create.mockResolvedValue({ data: { page: { name: 'created', version: 3 } } })
const wrapper = mount(HomeView, { global: { stubs: { FormKit, SearchInput } } })
Expand All @@ -386,7 +386,10 @@ describe('page creation', () => {
prompt,
}),
})
expect(mocks.push).toHaveBeenCalledWith({ name: 'AiPageBuilderPages' })
expect(mocks.push).toHaveBeenCalledWith({
name: 'AiPageBuilderEditor',
params: { name: 'created' },
})
} finally {
localStorage.clear()
wrapper.unmount()
Expand Down
Loading