/* MIL GRAU RP — Pages */ const { useState: uS, useEffect: uE, useMemo: uM } = React; // ===== HOME ===== function HomePage({ onNav, onAdd, products }) { const featured = [ products.find(p => p.id === 'caixa-de-som'), products.find(p => p.id === 'cartao-100k'), products.find(p => p.id === 'sistema-tvs'), products.find(p => p.id === 'sistema-armas'), products.find(p => p.id === 'passe-premium'), ].filter(Boolean); const trustItems = [ { icon: 'bolt', ttl: 'Entrega rápida', sub: 'Ativação no jogo' }, { icon: 'crown', ttl: 'Benefícios exclusivos', sub: 'Apenas na loja oficial' }, { icon: 'shield', ttl: 'Compra segura', sub: 'Pagamento protegido' }, { icon: 'pix', ttl: 'Parcele fácil', sub: 'Em até 3x sem juros' }, ]; const testimonials = [ { name: 'Maria Silva', when: 'Comprou há 3 dias', stars: 5, txt: 'Não esperava uma entrega tão rápida. Comprei o cartão e em 3 minutos já estava ativo. Valeu muito a pena!' }, { name: 'Roberto L.', when: 'Comprou há 5 dias', stars: 5, txt: 'Atendimento top! Tirei todas minhas dúvidas antes de comprar e o suporte foi muito atencioso. Com certeza recomendo!' }, { name: 'Carlos M.', when: 'Player desde 2022', stars: 5, txt: 'Estou na MIL GRAU há 3 temporadas. Sempre que compro algo, cai instantâneo. Nunca tive problema. É outro nível de organização.' }, ]; const timeline = [ { yr: '2021', ttl: 'FUNDAÇÃO', body: 'Nascimento da MIL GRAU RP. Primeira temporada e o início de uma nova proposta para o RP brasileiro.' }, { yr: '2022', ttl: 'CONSOLIDAÇÃO NACIONAL', body: 'Reconhecimento como o maior servidor com temática brasileira no FiveM.' }, { yr: '2023', ttl: 'EXPANSÃO ESTRATÉGICA', body: 'Parcerias com empresas reais, eventos crossover e crescimento explosivo da comunidade.' }, { yr: '2024', ttl: 'RECONHECIMENTO INTERNACIONAL', body: 'MIL GRAU RP vira pauta na imprensa, com cobertura de ONGs e Women in Tech.' }, { yr: '2025', ttl: 'RECORDE HISTÓRICO', body: 'Pico de jogadores simultâneos: marca histórica de +895 jogadores online ao mesmo tempo.' }, { yr: '2026', ttl: 'TEMPORADA 5 ANOS', body: 'Legado impossível de copiar. Temporada comemorativa que celebra estrutura, consistência e comunidade.' }, ]; return (
{/* Hero — banner cinematic 21:9, pronto pra imagem AI */}
MIL GRAU RP
EST. 2020 · TEMPORADA 6
{/* Trust strip */}
{trustItems.map((t, i) => (
{t.ttl}
{t.sub}
))}
{/* Produtos selecionados */}

PRODUTOS SELECIONADOS PARA VOCÊ

{featured.map((p, i) => ( onNav('product-' + p.id)} onAdd={onAdd}/> ))}
{/* FAQ */} {/* Formas de Pagamento — clean horizontal strip */}
CHECKOUT 100% SEGURO

Pague do seu jeito

Aprovação instantânea, liberação automática.

Pix
PayPal
VISA
AMEX
elo
Hiper
SSL Criptografado · Liberação automática · Estorno garantido
); } // ===== FAQ SECTION ===== function FaqSection() { const [open, setOpen] = useState(0); const faqs = [ { icon: '❓', q: 'Os Planos VIPs são permanentes?', a: 'Todos os VIPs têm validade de 30 dias, exceto os planos VIP PERMANENTE, VIP MILGRAU, MILGRAU SUPER e MILGRAU ULTIMATE, que são permanentes. ♾️' }, { icon: '🚗', q: 'Os carros são permanentes?', a: 'Nos VIPs temporários, metade dos carros têm validade de 30 dias, e a outra metade permanece por 60 dias. Nos VIPs permanentes, os carros ficam para sempre. 🚗🚁' }, { icon: '🛡️', q: 'Os VIPs permanecem após o WIPE?', a: 'Sim, mas apenas os VIPs permanentes citados anteriormente: VIP PERMANENTE, VIP MILGRAU, MILGRAU SUPER e MILGRAU ULTIMATE. ✅' }, { icon: '📈', q: 'Como funcionam os upgrades?', a: 'Se você já possui um VIP no nosso servidor e quer melhorar ele, você consegue desde que o seu VIP ainda esteja no prazo de validade. Você irá pagar somente a diferença do valor entre eles, mas receberá também somente a diferença. Caso tenha alguma dúvida sobre isso, abra um ticket 🎫 que iremos tirar suas dúvidas sobre o processo.' }, { icon: '⚠️', q: 'O que acontece com meu VIP mensal em caso de WIPE?', a: 'Caso seu VIP seja mensal e ocorra um WIPE, você receberá o VIP novamente, desde que ainda esteja no prazo de validade. ✅' }, { icon: '🚫', q: 'E se eu já estava banido antes do WIPE?', a: 'Se der o WIPE e o jogador já estava banido antes, ele só poderá ativar os planos VIP PERMANENTE, VIP MILGRAU, MILGRAU SUPER ou MILGRAU ULTIMATE após pagar o unban. ♾️🚫' }, ]; return (
PERGUNTAS FREQUENTES

Tirando suas dúvidas

As perguntas mais comuns sobre VIPs, upgrades e o servidor.

{faqs.map((f, i) => (
{f.a}
))}
); } // Featured card (BC-style, image-first 512x512) function FeaturedCard({ p, idx, onClick, onAdd }) { const fmt = window.MGRP_DATA.fmtBRL; return (
{p.discount ? -{p.discount}% : null} {p.bestseller ? MAIS VENDIDO : null} {p.popular && !p.bestseller && !p.discount ? POPULAR : null}
{p.name}
{p.oldPrice ? {fmt(p.oldPrice)} : null} {p.discount ? -{p.discount}% OFF : null}
{fmt(p.price)}
À vista no Pix
Pix Crédito Débito
); } // Cinematic car/neon SVG for hero function CarSVG() { return ( {/* neon strips */} {/* floor glow */} {/* car shadow */} {/* car body */} {/* roof */} {/* windows */} {/* wheels */} {/* headlights */} {/* highlight on body */} ); } // ===== CATEGORY (BC-STYLE) ===== function CategoryPage({ slug, onNav, onAdd, products }) { const cat = window.MGRP_DATA.CATEGORIES.find(c => c.slug === slug); let list = products.filter(p => p.catSlug === slug); if (slug === 'lancamentos') list = products; if (slug === 'promocoes') list = products.filter(p => p.discount || p.popular); return (

{cat?.label || 'Categoria'}

{list.length === 0 ? (

Nenhum produto nesta categoria ainda

Volte em breve, novidades estão a caminho.

) : (
{list.map((p, i) => ( onNav('product-' + p.id)} onAdd={onAdd}/> ))}
)}
); } // ===== SEARCH RESULTS ===== function SearchPage({ query, onNav, onAdd, products }) { const q = (query || '').toLowerCase().trim(); const list = q ? products.filter(p => p.name.toLowerCase().includes(q) || (p.subtitle || '').toLowerCase().includes(q) || (p.catSlug || '').toLowerCase().includes(q) ) : []; return (

{q ? <>Resultados para "{query}" : 'Busca'}

{!q ? (

Digite algo para começar

Procure por VIP, mansão, dinheiro, carros, motos…

) : list.length === 0 ? (

Nenhum produto encontrado

Tente outra palavra ou navegue pelas categorias.

) : ( <>
{list.length} {list.length === 1 ? 'resultado' : 'resultados'}
{list.map((p, i) => ( onNav('product-' + p.id)} onAdd={onAdd}/> ))}
)}
); } // ===== TERMS & CONDITIONS ===== function TermsPage({ onNav }) { const sections = window.MGRP_DATA.TERMS; return (
MIL GRAU ROLEPLAY

Termos e Condições

Termos e Condições de Compra

Bem-vindo à plataforma MIL GRAU Roleplay. Ao realizar qualquer compra em nossa loja virtual, o Usuário declara ser maior de idade (ou estar devidamente representado/assistido por seu responsável legal) e ter plena capacidade para os atos civis. Além disso, ao efetuar uma compra o Usuário concorda integralmente com estes Termos e com todas as políticas aqui mencionadas. Caso não concorde com alguma condição, o Usuário não deverá finalizar a compra.

Recomendamos a leitura atenta deste documento e a certeza de haver compreendido todos os pontos antes de prosseguir. Estes Termos constituem um acordo legal entre o Usuário e a MIL GRAU Roleplay, e regem a compra de benefícios virtuais oferecidos em nosso servidor. A seguir, apresentamos as condições de uso e compra:

{sections.map((sec, i) => (

{sec.title}

{sec.items.map((it, j) => (

))}

))}

Ao prosseguir com qualquer compra em nossa loja, o Usuário declara que leu, entendeu e concordou integralmente com todos os termos e condições acima descritos. Em caso de dúvidas, estamos à disposição nos canais de suporte para esclarecimentos. A utilização contínua da plataforma e de seus serviços representa a aceitação tácita destes Termos de Compra e de eventuais atualizações. Agradecemos por apoiar o servidor MIL GRAU Roleplay e desejamos a você um ótimo jogo!

); } // ===== PRODUCT DETAIL ===== function ProductPage({ id, onNav, onAdd, onBuyNow, products }) { const p = products.find(x => x.id === id); if (!p) return
Produto não encontrado.
; const related = products.filter(x => x.catSlug === p.catSlug && x.id !== p.id).slice(0, 4); return (
{p.discount &&
-{p.discount}% OFF
} {p.bestseller &&
MAIS VENDIDO
}
{((p.images && p.images.length) ? p.images : [null]).map((_, i) => (
))}
{p.cat}

{p.name}

● {p.stock} em estoque {p.discount && {p.discount}% OFF} {p.bestseller && MAIS VENDIDO} {p.popular && !p.bestseller && POPULAR}
{p.oldPrice && De {window.MGRP_DATA.fmtBRL(p.oldPrice)}} {window.MGRP_DATA.fmtBRL(p.price)} À vista no Pix · Aprovação imediata
Entrega imediata
Liberado na hora após confirmação
Segurança total
Pagamento criptografado SSL
Suporte 24/7
Time pronto para te ajudar

📦 Descrição do produto

{p.desc}

O que está incluso:

    {p.features.map((f, i) =>
  • {f}
  • )}

Entrega imediata: assim que o pagamento for confirmado, o item será liberado automaticamente na sua conta da cidade. Não esqueça de informar seu ID corretamente no checkout.

🛡️ Garantia: em caso de qualquer problema, nossa equipe de suporte está disponível 24/7 no Discord oficial.

{related.length > 0 && (
VOCÊ TAMBÉM PODE GOSTAR

Produtos relacionados

{related.map((rp, i) => ( onNav('product-' + rp.id)} onAdd={onAdd}/> ))}
)}
); } window.HomePage = HomePage; window.CategoryPage = CategoryPage; window.SearchPage = SearchPage; window.ProductPage = ProductPage; window.TermsPage = TermsPage;