This commit is contained in:
康猛 2025-12-29 17:55:59 +08:00
commit 132ecfba4b
5 changed files with 46 additions and 58 deletions

View File

@ -115,61 +115,31 @@ export default function Sync() {
.filter((fav: GetUserFavoritesResponse['favorites'][number]) => fav.template && !fav.template.isDeleted)
.map((fav: GetUserFavoritesResponse['favorites'][number]) => transformTemplateToMediaItem(fav.template!))
} else if (activeTab === 'new') {
if (isAuthenticated) {
const { data, error } = await loadTemplates({
limit,
page: 1,
sortBy: 'createdAt',
sortOrder: 'desc',
search: searchTextRef.current,
})
if (error || !data?.templates) {
setHasMore(false)
return
}
newItems = data.templates.map(transformTemplateToMediaItem)
} else {
const { data, error } = await loadPublicTemplates({
limit,
sortBy: 'createdAt',
sortOrder: 'desc',
search: searchTextRef.current,
})
if (error || !data?.templates) {
setHasMore(false)
return
}
newItems = data.templates.map(transformTemplateToMediaItem)
const { data, error } = await loadTemplates({
limit,
page: 1,
sortBy: 'createdAt',
sortOrder: 'desc',
search: searchTextRef.current,
})
if (error || !data?.templates) {
setHasMore(false)
return
}
newItems = data.templates.map(transformTemplateToMediaItem)
} else {
if (isAuthenticated) {
const { data, error } = await loadTemplates({
limit,
page: 1,
sortBy: 'likeCount',
sortOrder: 'desc',
search: searchTextRef.current,
})
if (error || !data?.templates) {
setHasMore(false)
return
}
newItems = data.templates.map(transformTemplateToMediaItem)
} else {
const { data, error } = await loadPublicTemplates({
limit,
sortBy: 'likeCount',
sortOrder: 'desc',
search: searchTextRef.current,
})
if (error || !data?.templates) {
setHasMore(false)
return
}
newItems = data.templates.map(transformTemplateToMediaItem)
const { data, error } = await loadTemplates({
limit,
page: 1,
sortBy: 'likeCount',
sortOrder: 'desc',
search: searchTextRef.current,
})
if (error || !data?.templates) {
setHasMore(false)
return
}
newItems = data.templates.map(transformTemplateToMediaItem)
}
if (newItems.length < limit) {

View File

@ -31,7 +31,7 @@ const Sync = () => {
refetch,
} = useTemplateGenerations()
const { uploadFile, loading: uploadLoading } = useFileUpload()
const { runTemplate, batchDeleteGenerations, loading: actionLoading } = useTemplateActions()
const { reRunTemplate, batchDeleteGenerations, loading: actionLoading } = useTemplateActions()
const [viewState, setViewState] = useState<'home' | 'manager' | 'scanner'>('home')
const [selectedItem, setSelectedItem] = useState({} as any)
@ -263,10 +263,8 @@ const Sync = () => {
Toast.hideModal()
const { generationId, error } = await runTemplate({
templateId: selectedItem.templateId,
data: {},
originalUrl: selectedItem.originalUrl,
const { generationId, error } = await reRunTemplate({
generationId: selectedItem.id
})
Toast.hideLoading()

View File

@ -13,7 +13,7 @@
"@react-navigation/elements": "^2.6.3",
"@react-navigation/native": "^7.1.8",
"@repo/core": "1.0.1",
"@repo/sdk": "1.0.1",
"@repo/sdk": "1.0.3",
"@sentry/react-native": "^7.8.0",
"@shopify/flash-list": "^2.2.0",
"@stripe/react-stripe-js": "^5.4.1",
@ -603,7 +603,7 @@
"@repo/core": ["@repo/core@1.0.1", "https://gitea.bowongai.com/api/packages/bowong/npm/%40repo%2Fcore/-/1.0.1/core-1.0.1.tgz", {}, "sha512-dzdae2NBT0L4GWCtz6PscmaRvElGFXWeJ46vQhDYc2z49wjnRYRxZgIcwB5bxXjfYZF3sj0cnbbs5mz8F16oAw=="],
"@repo/sdk": ["@repo/sdk@1.0.1", "https://gitea.bowongai.com/api/packages/bowong/npm/%40repo%2Fsdk/-/1.0.1/sdk-1.0.1.tgz", { "dependencies": { "@repo/core": "1.0.1", "reflect-metadata": "^0.2.1", "zod": "^4.2.1" } }, "sha512-jaBLNIiisMiHprbE2b8XyQyKANULHD13Q4PzGmgm5TFevVYhNJMpHTCxP5LIfm+sMXzJYcehJnB7Pok/qaoSeA=="],
"@repo/sdk": ["@repo/sdk@1.0.3", "https://gitea.bowongai.com/api/packages/bowong/npm/%40repo%2Fsdk/-/1.0.3/sdk-1.0.3.tgz", { "dependencies": { "@repo/core": "1.0.1", "reflect-metadata": "^0.2.1", "zod": "^4.2.1" } }, "sha512-R/pYYruEakDbW3elM6KYxnrUU6cfrBxJL6vI1fspYfL4gAvBO3evXlHdkarY/m8Oxb6cyqKRg0SNcE36uFYKug=="],
"@rtsao/scc": ["@rtsao/scc@1.1.0", "", {}, "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="],

View File

@ -4,17 +4,36 @@ import {
RunTemplateInput,
TemplateController,
TemplateGenerationController,
RerunTemplateSchema
} from '@repo/sdk'
import { useCallback, useState } from 'react'
import { type ApiError } from '@/lib/types'
import { useError } from '../data/use-error'
import z from 'zod'
export const useTemplateActions = () => {
const [loading, setLoading] = useState(false)
const [error, setError] = useState<ApiError | null>(null)
const reRunTemplate = useCallback(async (params: z.infer<typeof RerunTemplateSchema>) => {
setLoading(true)
setError(null)
const template = root.get(TemplateController)
const { data, error } = await useError(async () => await template.rerun(params))
if (error) {
setError(error)
setLoading(false)
return { generationId: null, error }
}
setLoading(false)
return { generationId: data?.generationId, error: null }
}, [])
const runTemplate = useCallback(async (params: RunTemplateInput) => {
setLoading(true)
setError(null)
@ -90,5 +109,6 @@ export const useTemplateActions = () => {
createGeneration,
deleteGeneration,
batchDeleteGenerations,
reRunTemplate
}
}

View File

@ -33,7 +33,7 @@
},
"dependencies": {
"@repo/core": "1.0.1",
"@repo/sdk": "1.0.1",
"@repo/sdk": "1.0.3",
"@better-auth/expo": "^1.4.5",
"@expo/vector-icons": "^15.0.3",
"@react-native-async-storage/async-storage": "^2.2.0",