Guide·Achat
Ce produit est-il fait pour vous ? Guide·Achat analyse les smartphones et PC portables selon votre profil, vos usages et vos priorités.
Translation pending
Açaí cremoso montado do seu jeito. Escolha tamanho, base, complementos e coberturas e envie o pedido pelo WhatsApp.
Translation pending
CommerceTypeScript · JavaScriptGitHub @tvinizinntvinizinn-delOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Site cinematográfico da açaiteria Açaí Point 92: copo de açaí como protagonista, intro animada, coreografia de scroll com GSAP, cardápio, montador de copo, carrinho e pedido pelo WhatsApp.
Stack: Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4 · GSAP + ScrollTrigger · Lenis · React Three Fiber + Drei · Lucide.
Requer Node.js 20.9 ou superior.
npm install
npm run dev # http://localhost:3000
npm run build # build de produção (inclui checagem de tipos)
npm start
Para rever a intro depois da primeira visita, abra uma aba anônima (ela roda uma vez
por sessão) ou limpe o sessionStorage.
| O quê | Onde |
|---|---|
| Nome, WhatsApp, Instagram, endereço, horários, retirada/entrega | src/config/site.ts |
| Títulos, frases e botões | src/config/copy.ts |
| Produtos, tamanhos e preços | src/data/menu.ts |
| Bases, complementos, coberturas e limites do montador | src/data/builder.ts |
| Fotos (cardápio, Experiência, Galeria) | src/data/photos.json, src/data/media.ts, src/data/menu.ts |
"5511912345678"). Enquanto estiver vazio, o botão de finalizar fica desativado e os atalhos flutuantes não aparecem em produção.demoPrices para false.Logo: arte oficial da loja com o fundo recortado em public/images/brand/logo.webp, usada pelo componente src/components/ui/Logo.tsx (header, menu do celular, rodapé e reserva das fotos). Ícone da aba em src/app/icon.png e ícone do iPhone em src/app/apple-icon.png. Os originais ficam em tools/brand/ (logo-original.png com fundo, logo-recortada.webp sem fundo). Para trocar a logo, substitua logo.webp por outra com fundo transparente e ajuste LOGO.width/height em Logo.tsx.
Fotos (cardápio, Experiência e Galeria): fotos reais de açaí de bancos gratuitos, listadas em src/data/photos.json com o link da página original de cada uma.
next/image otimiza e guarda em cache. Para hospedar as cópias no próprio projeto: npm run fotos (baixa para public/images/fotos/) e depois localPhotos: true em src/config/site.ts.public/images/fallback/ com o mesmo tema. Se nem esse carregar, aparece um painel roxo com a logo.Copo 3D (renders): o copo do Hero, os ingredientes animados, a prévia do montador e o copo do contato são renders gerados por código (copo de plástico transparente com reflexo de estúdio, açaí cremoso, banana e morango encostados na parede, granola 3D, leite condensado e gotas de condensação):
| Arquivo | Para quê |
|---|---|
public/sequence/spin/** | 60 frames da volta de 360° do copo (Hero e scroll) |
public/sequence/bare/** | Mesmos ângulos sem coberturas (ingredientes saindo do copo) |
public/sequence/closeup/** | Aproximação da câmera na textura |
public/images/ingredients/*.webp | Recortes dos ingredientes (fundo transparente) |
public/images/builder/base-*.webp | Copo sem coberturas por base (prévia do montador) |
public/images/menu/especial.webp | Copo flutuante da seção de contato |
public/images/og.jpg | Imagem de compartilhamento (1200 × 630) |
Para a versão final do copo:
public/sequence/README.md e substitua os arquivos com os mesmos nomes.public/models/acai-cup.glb (convenções em public/models/README.md) e mude renderer: "model" em src/config/experience.ts.O script que gerou os renders está em tools/render-placeholders (veja o README de lá).
"model", com WebGL e em aparelhos não fracos.prefers-reduced-motion: sem intro, sem pin, sem scroll suave; tudo visível.<canvas> 2D) e o primeiro frame é um <img> (LCP e sem JS).robots.txt, sitemap.xml e dados estruturados só com o que estiver configurado. Ajuste site.url para o domínio real.Funciona em qualquer host com suporte a Next.js (Vercel, por exemplo): conecte o
repositório e publique. Defina site.url antes.
Leia CLAUDE.md — arquitetura, coreografia de scroll e regras de animação.