Extensão moderna do Chrome construída com React + Vite que adiciona uma sidebar lateral inteligente para salvar e organizar imagens e vídeos de qualquer página web.
- 📸 Drag & Drop: Arraste imagens diretamente da página
- 📝 Notas de Texto: Crie e edite notas junto com suas mídias
- ✍️ Arrastar Texto: Selecione e arraste texto para criar cards de nota
- 🖱️ Menu de Contexto: Clique com botão direito em texto selecionado para salvar
- 📋 Clipboard: Cole imagens da área de transferência
- 🗂️ Múltiplas Abas: Organize suas mídias e notas em 3 abas personalizáveis
- 🎬 Viewers Flutuantes: Visualize mídias em janelas redimensionáveis
- 🌓 Modo Escuro: Detecta automaticamente o tema do site
- 💾 Persistência: Suas mídias e notas são salvas automaticamente
- 🔄 Sincronização: Dados sincronizados entre todas as abas do navegador
- 💾 Auto-Save: Notas salvam automaticamente ao fechar
- ⌨️ Atalhos: Ctrl+Enter para salvar, Esc para fechar
- Instale as dependências:
npm install- Build da extensão:
npm run build- Carregue no Chrome:
- Abra
chrome://extensions/ - Ative o "Modo do desenvolvedor"
- Clique em "Carregar sem compactação"
- Selecione a pasta do projeto
- Abra
- Clique no ícone da extensão na barra de ferramentas
- Ou aproxime o mouse da borda direita da tela
- Arrastar Imagens: Arraste qualquer imagem ou vídeo da página para a sidebar
- Arrastar Texto: Selecione texto em qualquer página e arraste para a sidebar
- Menu de Contexto: Selecione texto, clique com botão direito e escolha "Salvar texto no Pinex"
- Colar: Copie uma imagem e clique no botão de colar na sidebar
- Upload: Use o botão de upload para adicionar imagens do seu computador
- Suporta: JPG, PNG, GIF, WebP, MP4, WebM e notas de texto
- Use as 3 abas para categorizar suas mídias
- Clique no X para deletar uma mídia
- Use o botão de lixeira para limpar toda a aba
- Clique em qualquer mídia para abrir em um viewer flutuante
- Redimensione e mova o viewer livremente
- Minimize para manter o viewer acessível
O projeto foi completamente refatorado seguindo as melhores práticas de desenvolvimento:
src/
├── components/ # Componentes React modulares
├── hooks/ # Custom hooks para lógica de negócio
├── utils/ # Funções utilitárias
├── constants/ # Configurações centralizadas
└── content.jsx # Ponto de entrada
npm run devnpm run build- Sidebar: Componente principal
- TabMenu: Navegação entre abas
- DropZone: Área de drag & drop
- MediaItem: Item individual de mídia
- FloatingViewer: Visualizador flutuante
useSidebarState: Gerenciamento de estado e persistênciauseDragAndDrop: Lógica de drag and dropuseClipboard: Integração com clipboarduseDarkMode: Detecção de tema
- ⚛️ React 18
- ⚡ Vite 5
- 🎨 CSS Modules
- 🔧 Chrome Extensions API
- 💾 Chrome Storage API
O build gera os seguintes arquivos em dist/:
content.js- Content script principalcontent.css- Estilos da sidebarbackground.js- Service workermanifest.json- Configuração da extensão
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT.
Construído com ❤️ usando React e Vite.