🥕 br_smart_ingredientes_icons

Uma coleção de ícones PNG com reconhecimento inteligente de nomes de ingredientes — projetado para apps de receita, alimentação saudável e aplicativos gastronômicos brasileiros/multilíngues!

Banner do br_ingredientes_icons


🚀 O que é?

O br_ingredientes_icons oferece:

  • Mais de 170 ícones exclusivos de alimentos e ingredientes encontrados em receitas do Brasil
  • Identificação automática do ingrediente digitado, mesmo com nomes em inglês, espanhol, francês, sinônimos ou pequenas variações
  • Suporte a fallback: se não encontrar o ingrediente, exibe um ícone padrão
  • Customização de cor (para ícones monocromáticos)
  • Fácil integração em projetos Flutter
  • Livre para uso pessoal e comercial — MIT License

📱 Exemplo Rápido

import 'package:br_ingredientes_icons/br_ingredientes_icons.dart';

BrIngredienteIconSmart(
  nome: 'cheese',     // ou 'queijo', 'queso', 'fromage', etc
  size: 48,
  color: Colors.amber, // opcional, para icons monocromáticos
)

Reconhece 'queijo', 'cheese', 'queso', 'fromage' e variantes.

Ou dessa maneira:

import 'package:br_ingredientes_icons/br_ingredientes_icons.dart';

Icon(BRIngredientesIconsFont.cheese, color: Colors.amber, size: 48,),

💡 Exemplo de Uso

Veja um exemplo completo de implementação no arquivo example/lib/main.dart, que demonstra como criar uma grade de ingredientes com ícones em cards estilizados usando o widget BrIngredienteIconSmart.

🌐 Web Demo

👉 Acesse aqui a demonstração online com busca instantânea de todos os ícones

🧠 Buscas inteligentes

Aceita o nome do ingrediente:

  • em Português: alho, tomilho, açúcar, rúcula...
  • em Inglês: garlic, thyme, sugar, arugula...
  • em Espanhol: ajo, tomillo, azúcar, rúcula...
  • em Francês: ail, thym, sucre, roquette... e até sinônimos/femininos/plurais comuns!

🔍 Testando a Busca Inteligente

// Todos esses exemplos vão exibir o mesmo ícone de queijo:
BrIngredienteIconSmart(nome: 'queijo', size: 48),    // Português
BrIngredienteIconSmart(nome: 'cheese', size: 48),    // Inglês
BrIngredienteIconSmart(nome: 'queso', size: 48),     // Espanhol
BrIngredienteIconSmart(nome: 'fromage', size: 48),   // Francês
BrIngredienteIconSmart(nome: 'mozzarella', size: 48), // Tipo específico

// Funcionam também com pequenas variações:
BrIngredienteIconSmart(nome: 'lettuce', size: 48),   // -> alface
BrIngredienteIconSmart(nome: 'strawberry', size: 48), // -> morango
BrIngredienteIconSmart(nome: 'salt', size: 48),      // -> sal
BrIngredienteIconSmart(nome: 'bread', size: 48),     // -> pao_de_forma

📦 Instalação

No seu pubspec.yaml:

dependencies:
  br_ingredientes_icons: ^2.0.2

Depois:

flutter pub get

🚀 Executando o Exemplo

Para ver o exemplo funcionando:

  1. Clone o repositório:
git clone https://github.com/davidkalil10/BR-Smart-Ingredientes-Icons.git
cd BR-Smart-Ingredientes-Icons
  1. Navegue até o diretório do exemplo:
cd example
  1. Execute o app:
flutter run

O exemplo mostra uma grade com todos os ingredientes disponíveis na biblioteca, demonstrando como usar o widget BrIngredienteIconSmart em uma interface real.

flutter pub get

🎨 Como usar

Ícone direto Se você já sabe o nome do arquivo (SEM ".png"):

BrIngredienteIcon(nome: 'tomate', size: 32)

Ícone inteligente (busca por nome, vários idiomas, sinônimos, fallback):

BrIngredienteIconSmart(
  nome: 'eggplant',   // pode ser "berinjela", "aubergine", "berenjena"...
  size: 64,
  color: Colors.purple,
  fallback: 'default', // opicional, precisa do icon default nos assets
)

Exibindo vários ícones:

final ingredientes = ['milk', 'banana', 'sugar', 'baguette', 'queso', 'cheese'];

GridView.count(
  crossAxisCount: 4,
  children: ingredientes.map((nome) =>
    BrIngredienteIconSmart(nome: nome)
  ).toList(),
)
Categoria Ingredientes
Frutas abacate
abacaxi
açaí
banana
carambola
cereja
cupuaçu
jabuticaba
jaca
kiwi
laranja
lichia
limão
maçã
mamão
manga
maracujá
melancia
melão
morango
pêssego
pêra
pitaya
tâmara
uva
Verduras e Legumes abobora
abobrinha
acelga
agrião
aipo
alface
alho
alho poró
batata
batata doce
berinjela
beterraba
brocolis
cebola
cebola roxa
cebolinha
cenoura
chuchu
coentro
couve
couve de bruxelas
couve flor
espinafre
escarola
gengibre
hortelã
louro
manjericão
nabo
pepino
pimentão
rabanete
repolho
rúcula
salsão
salsinha
tomate
Temperos e Condimentos alecrim
azeite
azeitona
canela
cravo da india
ketchup
mostarda
molho barbecue
molho branco
molho de pimenta
molho de tomate
molho pesto
molho shoyu
orégano
pimenta calabresa
pimenta dedo de moca
pimenta do reino
pimenta vermelha
sal
tomilho
vinagre
Carnes e Peixes aliche
atum
bacon
calabresa
carne moída
carne seca
coxa de frango
frango desfiado
lombo canadense
peito de peru
presunto
salmão
sardinha
salsicha
Laticínios catupiry
creme de leite
leite
leite condensado
leite de coco
manteiga
maionese
queijo
queijo ralado
yogurt
Cereais e Grãos arroz
aveia
farinha de rosca
farinha de trigo
feijão
granola
grãos
grão de bico
milho
polvilho azedo
polvilho doce
spaghetti
Oleaginosas e Castanhas amendoa
castanha de caju
castanha do para
nozes
noz moscada
pistache
Massas e Pães biscoito
bolacha champagne
croissant
esfirra aberta
esfirra fechada
massa de lasanha
massa de pizza
massa folhada
pão de forma
pão frances
Doces e Sobremesas brigadeiro
chocolate
coco
mel
m&m
ovomaltine
paçoca
suspiro
Bebidas água
café
cerveja
guaraná
refrigerante
Outros caldo de carne
caldo de legumes
default
ovo
ovo frito
palmito
polenta
Ver nomes alternativos e traduções (EN/ES/FR)

banana / banana / plátano / banane queijo / cheese / queso / fromage leite / milk / leche / lait tomate / tomato / tomate / tomate ovo / egg / huevo / œuf ... (veja ingredientes_data.dart )

🔄 Como funciona internamente

O widget BrIngredienteIconSmart recebe o nome digitado, busca automaticamente no banco de aliases (que cobre PT, EN, ES, FR, sinônimos), e retorna a chave correspondente ao arquivo PNG na pasta assets/icons/.

Se não encontra, devolve o fallback (por padrão, default.png).

✏️ Como contribuir

Abra issues e pull requests no GitHub!

🎯 Formas de contribuir:

  • Novos ingredientes: Envie o PNG + nomes/sinônimos!
  • Traduções: Adicione suporte a novos idiomas
  • Melhorias: Sugestões para tornar esse pacote referência!
  • Documentação: Ajude a melhorar exemplos e tutoriais
  • Testes: Reporte bugs ou problemas de compatibilidade

📁 Estrutura do Projeto

br_ingredientes_icons/
├── assets/icons/          # Ícones PNG dos ingredientes
├── example/              # App de exemplo (demonstração)
├── lib/
│   ├── br_ingredientes_icons.dart    # Widget principal
│   └── ingredientes_data.dart        # Mapeamento de aliases
├── pubspec.yaml          # Configuração do package
└── README.md            # Esta documentação

📄 Licença

MIT — por David Kalil Braga

⭐ Se usar este package, deixe um star no repositório ou cite nos seus apps!