Merge branch 'main' of https://gitea.bowongai.com/bowong/expo-duooomi-app
This commit is contained in:
commit
132ecfba4b
|
|
@ -115,61 +115,31 @@ export default function Sync() {
|
||||||
.filter((fav: GetUserFavoritesResponse['favorites'][number]) => fav.template && !fav.template.isDeleted)
|
.filter((fav: GetUserFavoritesResponse['favorites'][number]) => fav.template && !fav.template.isDeleted)
|
||||||
.map((fav: GetUserFavoritesResponse['favorites'][number]) => transformTemplateToMediaItem(fav.template!))
|
.map((fav: GetUserFavoritesResponse['favorites'][number]) => transformTemplateToMediaItem(fav.template!))
|
||||||
} else if (activeTab === 'new') {
|
} else if (activeTab === 'new') {
|
||||||
if (isAuthenticated) {
|
const { data, error } = await loadTemplates({
|
||||||
const { data, error } = await loadTemplates({
|
limit,
|
||||||
limit,
|
page: 1,
|
||||||
page: 1,
|
sortBy: 'createdAt',
|
||||||
sortBy: 'createdAt',
|
sortOrder: 'desc',
|
||||||
sortOrder: 'desc',
|
search: searchTextRef.current,
|
||||||
search: searchTextRef.current,
|
})
|
||||||
})
|
if (error || !data?.templates) {
|
||||||
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)
|
|
||||||
setHasMore(false)
|
setHasMore(false)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
newItems = data.templates.map(transformTemplateToMediaItem)
|
||||||
} else {
|
} else {
|
||||||
if (isAuthenticated) {
|
const { data, error } = await loadTemplates({
|
||||||
const { data, error } = await loadTemplates({
|
limit,
|
||||||
limit,
|
page: 1,
|
||||||
page: 1,
|
sortBy: 'likeCount',
|
||||||
sortBy: 'likeCount',
|
sortOrder: 'desc',
|
||||||
sortOrder: 'desc',
|
search: searchTextRef.current,
|
||||||
search: searchTextRef.current,
|
})
|
||||||
})
|
if (error || !data?.templates) {
|
||||||
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)
|
|
||||||
setHasMore(false)
|
setHasMore(false)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
newItems = data.templates.map(transformTemplateToMediaItem)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newItems.length < limit) {
|
if (newItems.length < limit) {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ const Sync = () => {
|
||||||
refetch,
|
refetch,
|
||||||
} = useTemplateGenerations()
|
} = useTemplateGenerations()
|
||||||
const { uploadFile, loading: uploadLoading } = useFileUpload()
|
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 [viewState, setViewState] = useState<'home' | 'manager' | 'scanner'>('home')
|
||||||
const [selectedItem, setSelectedItem] = useState({} as any)
|
const [selectedItem, setSelectedItem] = useState({} as any)
|
||||||
|
|
@ -263,10 +263,8 @@ const Sync = () => {
|
||||||
|
|
||||||
Toast.hideModal()
|
Toast.hideModal()
|
||||||
|
|
||||||
const { generationId, error } = await runTemplate({
|
const { generationId, error } = await reRunTemplate({
|
||||||
templateId: selectedItem.templateId,
|
generationId: selectedItem.id
|
||||||
data: {},
|
|
||||||
originalUrl: selectedItem.originalUrl,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
Toast.hideLoading()
|
Toast.hideLoading()
|
||||||
|
|
|
||||||
4
bun.lock
4
bun.lock
|
|
@ -13,7 +13,7 @@
|
||||||
"@react-navigation/elements": "^2.6.3",
|
"@react-navigation/elements": "^2.6.3",
|
||||||
"@react-navigation/native": "^7.1.8",
|
"@react-navigation/native": "^7.1.8",
|
||||||
"@repo/core": "1.0.1",
|
"@repo/core": "1.0.1",
|
||||||
"@repo/sdk": "1.0.1",
|
"@repo/sdk": "1.0.3",
|
||||||
"@sentry/react-native": "^7.8.0",
|
"@sentry/react-native": "^7.8.0",
|
||||||
"@shopify/flash-list": "^2.2.0",
|
"@shopify/flash-list": "^2.2.0",
|
||||||
"@stripe/react-stripe-js": "^5.4.1",
|
"@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/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=="],
|
"@rtsao/scc": ["@rtsao/scc@1.1.0", "", {}, "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,36 @@ import {
|
||||||
RunTemplateInput,
|
RunTemplateInput,
|
||||||
TemplateController,
|
TemplateController,
|
||||||
TemplateGenerationController,
|
TemplateGenerationController,
|
||||||
|
RerunTemplateSchema
|
||||||
} from '@repo/sdk'
|
} from '@repo/sdk'
|
||||||
import { useCallback, useState } from 'react'
|
import { useCallback, useState } from 'react'
|
||||||
|
|
||||||
import { type ApiError } from '@/lib/types'
|
import { type ApiError } from '@/lib/types'
|
||||||
|
|
||||||
import { useError } from '../data/use-error'
|
import { useError } from '../data/use-error'
|
||||||
|
import z from 'zod'
|
||||||
|
|
||||||
export const useTemplateActions = () => {
|
export const useTemplateActions = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
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) => {
|
const runTemplate = useCallback(async (params: RunTemplateInput) => {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
|
|
@ -90,5 +109,6 @@ export const useTemplateActions = () => {
|
||||||
createGeneration,
|
createGeneration,
|
||||||
deleteGeneration,
|
deleteGeneration,
|
||||||
batchDeleteGenerations,
|
batchDeleteGenerations,
|
||||||
|
reRunTemplate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@repo/core": "1.0.1",
|
"@repo/core": "1.0.1",
|
||||||
"@repo/sdk": "1.0.1",
|
"@repo/sdk": "1.0.3",
|
||||||
"@better-auth/expo": "^1.4.5",
|
"@better-auth/expo": "^1.4.5",
|
||||||
"@expo/vector-icons": "^15.0.3",
|
"@expo/vector-icons": "^15.0.3",
|
||||||
"@react-native-async-storage/async-storage": "^2.2.0",
|
"@react-native-async-storage/async-storage": "^2.2.0",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue