mirror of
https://github.com/lucasrcsantana/story-generator.git
synced 2025-12-17 05:47:52 +00:00
fix: melhora tratamento de URLs de imagem
- Adiciona verificação de URLs indefinidas - Implementa fallback para imagem padrão - Corrige tipagem em getOptimizedImageUrl - Padroniza otimização em edge functions - Previne erros de runtime
This commit is contained in:
parent
28fa4d70e6
commit
d5c75ab6c2
21
CHANGELOG.md
21
CHANGELOG.md
@ -74,6 +74,13 @@ e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
|
||||
- Índices para otimização de consultas
|
||||
|
||||
### Técnico
|
||||
- Melhorias no tratamento de imagens
|
||||
- Tratamento de URLs indefinidas
|
||||
- Imagem padrão para fallback
|
||||
- Otimização consistente em edge functions
|
||||
- Melhor tipagem para URLs
|
||||
- Prevenção de erros em runtime
|
||||
|
||||
- Implementação de logs estruturados com prefixos por contexto
|
||||
- Validações de dados em múltiplas camadas
|
||||
- Tratamento de respostas da IA com fallbacks
|
||||
@ -100,4 +107,16 @@ e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
|
||||
- [ ] Implementar cache de respostas da IA
|
||||
- [ ] Adicionar retry policy para falhas de geração
|
||||
- [ ] Melhorar prompts para histórias mais educativas
|
||||
- [ ] Adicionar métricas de uso e performance
|
||||
- [ ] Adicionar métricas de uso e performance
|
||||
|
||||
- Melhorias na página de demonstração
|
||||
- Reorganização do layout e componentes
|
||||
- Priorização do conteúdo da história
|
||||
- Dashboard de métricas movido para baixo
|
||||
- Fluxo interativo de demonstração
|
||||
- Simulação de gravação e análise
|
||||
- CTAs personalizados para escolas e pais
|
||||
- Separação de dados mock
|
||||
- Feedback visual aprimorado
|
||||
- Estilos mais modernos e consistentes
|
||||
- Melhor experiência de demonstração
|
||||
@ -4,7 +4,12 @@ interface ImageOptions {
|
||||
quality?: number;
|
||||
}
|
||||
|
||||
export function getOptimizedImageUrl(url: string, options: ImageOptions = {}): string {
|
||||
export function getOptimizedImageUrl(url: string | undefined, options: ImageOptions = {}): string {
|
||||
// Retorna uma imagem padrão ou vazia se a URL for undefined
|
||||
if (!url) {
|
||||
return '/placeholder-image.jpg'; // ou retorne uma imagem padrão apropriada
|
||||
}
|
||||
|
||||
const {
|
||||
width = 800,
|
||||
height = undefined,
|
||||
|
||||
@ -151,9 +151,11 @@ serve(async (req) => {
|
||||
|
||||
// Gerar imagem com DALL-E
|
||||
const imageResponse = await openai.images.generate({
|
||||
prompt: `${page.image_prompt}. Style: children's book illustration, colorful, educational, safe for kids`,
|
||||
prompt: `${page.image_prompt}. Style: children's book illustration, colorful, educational, safe for kids. Preferable non-white ethnicity.`,
|
||||
n: 1,
|
||||
size: "1024x1024"
|
||||
size: "1024x1024",
|
||||
model: "dall-e-3",
|
||||
style: "natural"
|
||||
})
|
||||
|
||||
// Baixar a imagem do URL do DALL-E
|
||||
|
||||
Loading…
Reference in New Issue
Block a user