diff --git a/src/components/CloudLoader.tsx b/src/components/CloudLoader.tsx index 70945db..d8af547 100644 --- a/src/components/CloudLoader.tsx +++ b/src/components/CloudLoader.tsx @@ -102,6 +102,10 @@ export function CloudLoader({ compact = false, variant = 'outline', className }: const handleLoad = useCallback(async (rawUrl: string) => { if (!rawUrl) return; + if (modelsCount >= maxModels) { + toast.error(`Limite de ${maxModels} peças simultâneas atingido. Remova uma antes de adicionar outra.`); + return; + } setLoading(true); try { const fileName = rawUrl.split('/').pop()?.split('?')[0] || 'modelo-cloud'; @@ -125,8 +129,8 @@ export function CloudLoader({ compact = false, variant = 'outline', className }: blob = r.blob; outName = r.fileName; outSize = r.fileSize; } const blobUrl = URL.createObjectURL(blob); - setModel({ fileName: outName, fileSize: outSize, url: blobUrl }); - toast.success(`"${outName}" carregado da nuvem`); + addModel({ fileName: outName, fileSize: outSize, url: blobUrl }); + toast.success(`"${outName}" adicionado à cena`); setOpen(false); } catch (err) { console.error(err); @@ -134,7 +138,7 @@ export function CloudLoader({ compact = false, variant = 'outline', className }: } finally { setLoading(false); } - }, [setModel]); + }, [addModel, modelsCount, maxModels]); return (