Landing page moderna e responsiva para a Ótica KB, desenvolvida com React e Tailwind CSS.
Este projeto é uma landing page profissional para a Ótica KB, focada em proporcionar uma experiência premium aos usuários e otimizada para conversões. A página apresenta diversos recursos como slider de produtos, formulário de contato, seção de depoimentos e integração com WhatsApp.
- React
- TypeScript
- Tailwind CSS
- Swiper.js para sliders
- React Scroll para navegação suave
- Lucide React para ícones
- Node.js (versão 14 ou superior)
- npm ou yarn
- Clone o repositório:
git clone [url-do-repositorio]
- Navegue até a pasta do projeto:
cd otica-kb-landing
- Instale as dependências:
npm install
- Inicie o servidor de desenvolvimento:
npm run dev
- Acesse o projeto em seu navegador:
http://localhost:5173
src/
├── components/ # Componentes React
│ ├── Header.tsx # Cabeçalho com navegação
│ ├── Hero.tsx # Seção principal com slider
│ ├── Products.tsx # Exibição de produtos
│ ├── Benefits.tsx # Vantagens da ótica
│ ├── Testimonials.tsx # Depoimentos de clientes
│ ├── InstagramFeed.tsx # Feed do Instagram
│ ├── ContactForm.tsx # Formulário de contato
│ ├── Footer.tsx # Rodapé
│ └── WhatsAppButton.tsx # Botão flutuante do WhatsApp
├── App.tsx # Componente principal
├── main.tsx # Ponto de entrada
└── index.css # Estilos globais
Para alterar imagens e textos do site:
-
Imagens:
- Navegue até o componente desejado
- Localize as URLs das imagens (geralmente em arrays ou props)
- Substitua com novas URLs de imagens
-
Textos:
- Os textos estão organizados em componentes específicos
- Altere diretamente as strings nos componentes
- Para textos dinâmicos, modifique os arrays de dados
-
Informações de Contato:
- Atualize o número do WhatsApp em
WhatsAppButton.tsx
- Modifique endereço e redes sociais em
Footer.tsx
- Atualize o número do WhatsApp em
O projeto atualmente utiliza uma abordagem estática para exibir o feed do Instagram. Para atualizar:
- Navegue até
src/components/InstagramFeed.tsx
- Localize o array
instagramPosts
- Atualize as propriedades de cada post:
{ image: 'URL_DA_IMAGEM', likes: NUMERO_DE_LIKES, caption: 'LEGENDA_DO_POST' }
Para implementar uma integração dinâmica com o Instagram:
-
Crie uma conta de desenvolvedor Meta:
- Acesse Meta for Developers
- Crie um novo aplicativo
- Selecione "Instagram Basic Display"
-
Configure o aplicativo:
npm install instagram-basic-display
-
Crie um arquivo de configuração
.env
:INSTAGRAM_ACCESS_TOKEN=seu_token_aqui
-
Implemente o cliente Instagram:
// src/utils/instagram.ts import { InstagramBasicDisplay } from 'instagram-basic-display'; const instagram = new InstagramBasicDisplay({ access_token: process.env.INSTAGRAM_ACCESS_TOKEN }); export const getFeed = async () => { const media = await instagram.getUserMedia(); return media.data; };
-
Atualize o componente InstagramFeed:
// src/components/InstagramFeed.tsx import { useEffect, useState } from 'react'; import { getFeed } from '../utils/instagram'; const InstagramFeed = () => { const [posts, setPosts] = useState([]); useEffect(() => { getFeed().then(setPosts); }, []); // Resto do componente };
- Nunca exponha tokens de acesso no código-fonte
- Implemente rate limiting para chamadas à API
- Mantenha tokens atualizados e revogue acesso quando necessário
- Considere implementar cache para reduzir chamadas à API
- Crie uma conta no Netlify
- Conecte seu repositório
- Configure as seguintes opções:
- Build command:
npm run build
- Publish directory:
dist
- Node version:
16
ou superior
- Build command:
- Crie uma conta na Vercel
- Importe o repositório
- As configurações serão detectadas automaticamente
A landing page foi otimizada para SEO com:
- Meta tags apropriadas
- Estrutura semântica HTML
- Imagens otimizadas
- Performance otimizada
- URLs amigáveis
Para suporte ou dúvidas, entre em contato através do WhatsApp: (61) 99407-0676
Este projeto está sob a licença MIT.