Merge version_2 into main #3

Merged
bender merged 2 commits from version_2 into main 2026-05-17 17:15:03 +00:00
2 changed files with 77 additions and 18 deletions

69
src/app/admin/page.tsx Normal file
View File

@@ -0,0 +1,69 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import { useState } from 'react';
export default function AdminDashboardPage() {
const [isAuthenticated, setIsAuthenticated] = useState(false);
if (!isAuthenticated) {
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="reveal-blur"
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="largeSmall"
background="aurora"
cardStyle="gradient-radial"
primaryButtonStyle="double-inset"
secondaryButtonStyle="layered"
headingFontWeight="semibold"
>
<div className="min-h-screen flex items-center justify-center">
<ContactSplitForm
title="Login Administrativo"
description="Entre com suas credenciais para acessar o painel."
inputs={[{ name: "user", type: "text", placeholder: "Usuário" }, { name: "pass", type: "password", placeholder: "Senha" }]}
buttonText="Entrar"
onSubmit={() => setIsAuthenticated(true)}
/>
</div>
</ThemeProvider>
);
}
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="reveal-blur"
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="largeSmall"
background="aurora"
cardStyle="gradient-radial"
primaryButtonStyle="double-inset"
secondaryButtonStyle="layered"
headingFontWeight="semibold"
>
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "hero" }, { name: "Dashboard", id: "admin" }]}
brandName="3dimagination Admin"
/>
<div className="pt-32 pb-20 px-6 max-w-7xl mx-auto">
<h1 className="text-4xl font-bold mb-8">Dashboard Principal</h1>
<p>Bem-vindo à área restrita de administração.</p>
</div>
<FooterSimple
columns={[]}
bottomLeftText="3dimagination Admin © 2026"
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -9,9 +9,9 @@ import FooterSimple from '@/components/sections/footer/FooterSimple';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import MetricCardOne from '@/components/sections/metrics/MetricCardOne';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import ProductCardThree from '@/components/sections/product/ProductCardThree';
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
import { Award, Shield, Smile, Sparkles, Users, Zap } from "lucide-react";
import { Award, Shield, Smile, Sparkles, Zap } from "lucide-react";
export default function LandingPage() {
return (
@@ -96,24 +96,18 @@ export default function LandingPage() {
</div>
<div id="products" data-section="products">
<ProductCardOne
<ProductCardThree
animationType="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
products={[
{
id: "1", name: "Suporte Headset RGB", price: "24.99€", imageSrc: "http://img.b2bpic.net/free-photo/still-life-seat-gamers_23-2149746569.jpg"},
id: "1", name: "Suporte Headset RGB", price: "24.99€", imageSrc: "http://img.b2bpic.net/free-photo/still-life-seat-gamers_23-2149746569.jpg", variants: [{ label: "Cor", options: ["Preto", "Branco", "Azul"], selected: "Preto", onChange: () => {} }]},
{
id: "2", name: "Figura Dragon 3D", price: "39.99€", imageSrc: "http://img.b2bpic.net/free-photo/dragon_1048-4875.jpg"},
id: "2", name: "Figura Dragon 3D", price: "39.99€", imageSrc: "http://img.b2bpic.net/free-photo/dragon_1048-4875.jpg", variants: [{ label: "Material", options: ["PLA", "Resina"], selected: "PLA", onChange: () => {} }]},
{
id: "3", name: "Organizador Setup", price: "19.99€", imageSrc: "http://img.b2bpic.net/free-photo/modern-office-desk-composition-with-technological-device_23-2147915903.jpg"},
{
id: "4", name: "Custom Keycap", price: "9.99€", imageSrc: "http://img.b2bpic.net/free-photo/usb-flash-drive-tech-device-with-minimalist-monochrome-background-earphones_23-2150763322.jpg"},
{
id: "5", name: "Arte Geométrica", price: "29.99€", imageSrc: "http://img.b2bpic.net/free-photo/abstract-colorful-pattern-design-background-cover-poster-template-flyer-banner_460848-16744.jpg"},
{
id: "6", name: "Suporte Telemóvel", price: "14.99€", imageSrc: "http://img.b2bpic.net/free-photo/desk-supplies-composition-top-view_23-2149511862.jpg"},
id: "3", name: "Organizador Setup", price: "19.99€", imageSrc: "http://img.b2bpic.net/free-photo/modern-office-desk-composition-with-technological-device_23-2147915903.jpg", variants: [{ label: "Tamanho", options: ["Pequeno", "Médio", "Grande"], selected: "Médio", onChange: () => {} }]},
]}
title="Produtos em Destaque"
description="Explora o nosso catálogo de peças exclusivas e funcionais."
@@ -131,7 +125,7 @@ export default function LandingPage() {
id: "m1", value: "500+", title: "Peças Impressas", description: "Sucesso garantido em cada projeto.", icon: Award,
},
{
id: "m2", value: "150+", title: "Clientes", description: "Comunidade crescente de entusiastas.", icon: Users,
id: "m2", value: "150+", title: "Clientes", description: "Comunidade crescente de entusiastas.", icon: Award,
},
{
id: "m3", value: "99%", title: "Satisfação", description: "Compromisso com o detalhe.", icon: Smile,
@@ -153,10 +147,6 @@ export default function LandingPage() {
id: "t2", title: "Fantástico", quote: "O design ficou exatamente como eu queria.", name: "Ana Sofia", role: "Designer", imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-beautiful-brunette-girl-black-hat-smiling_176420-8505.jpg"},
{
id: "t3", title: "Recomendo", quote: "Serviço profissional e muito atencioso.", name: "Pedro Mendes", role: "Entusiasta", imageSrc: "http://img.b2bpic.net/free-photo/middle-age-greyhaired-man-streamer-smiling-confident-sitting-table-gaming-room_839833-5508.jpg"},
{
id: "t4", title: "Qualidade top", quote: "A resolução da impressão é incrível.", name: "Mariana Luz", role: "Artista", imageSrc: "http://img.b2bpic.net/free-photo/young-fashion-designer-creative-office-looking-inspiration_482257-23110.jpg"},
{
id: "t5", title: "Rápido e fiável", quote: "Melhor loja de impressão 3D em Portugal.", name: "Carlos Ruivo", role: "Techie", imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-bearded-man-suit_23-2149705921.jpg"},
]}
title="O que dizem os nossos clientes"
description="A satisfação é o nosso maior prémio."
@@ -224,4 +214,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}