11 Commits

Author SHA1 Message Date
37bf22bdea Update src/app/page.tsx 2026-04-02 15:18:06 +00:00
e618227e8e Update src/app/chat/page.tsx 2026-04-02 15:18:06 +00:00
da11970e58 Merge version_6 into main
Merge version_6 into main
2026-04-02 15:10:23 +00:00
3849632af7 Update src/app/page.tsx 2026-04-02 15:10:17 +00:00
d4a4d85d81 Update src/app/chat/page.tsx 2026-04-02 15:10:16 +00:00
315ae80d20 Merge version_5 into main
Merge version_5 into main
2026-04-02 13:20:35 +00:00
9b3e3f4ba1 Update src/app/chat/page.tsx 2026-04-02 13:20:32 +00:00
92658ac270 Merge version_5 into main
Merge version_5 into main
2026-04-02 13:20:10 +00:00
1d81682183 Update src/app/page.tsx 2026-04-02 13:20:07 +00:00
516032e31f Add src/app/chat/page.tsx 2026-04-02 13:20:06 +00:00
29904cc551 Merge version_4 into main
Merge version_4 into main
2026-04-02 13:15:10 +00:00
2 changed files with 62 additions and 24 deletions

55
src/app/chat/page.tsx Normal file
View File

@@ -0,0 +1,55 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import CardStack from '@/components/cardStack/CardStack';
import { useState } from 'react';
export default function ChatPage() {
const [grokApiKey] = useState("");
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="background-highlight"
borderRadius="soft"
contentWidth="medium"
sizing="mediumLargeSizeMediumTitles"
background="noise"
cardStyle="outline"
primaryButtonStyle="flat"
secondaryButtonStyle="solid"
headingFontWeight="semibold"
>
<ReactLenis root>
<NavbarStyleFullscreen
navItems={[
{ name: "Accueil", id: "/" },
{ name: "Chat", id: "/chat" },
{ name: "Fonctionnalités", id: "/#features" },
{ name: "FAQ", id: "/#faq" },
{ name: "Contact", id: "/#contact" },
]}
brandName="MathIA Grok"
/>
<div className="min-h-screen pt-24 pb-12">
<CardStack
title="Grok Chat Interface"
description={grokApiKey ? "Connecté au moteur xAI - Tuteur mathématique activé." : "Veuillez configurer votre clé API xAI dans la section contact pour activer le tuteur IA."}
textboxLayout="split"
animationType="blur-reveal"
ariaLabel="Chat interface"
className="bg-black text-white"
>
<div className="flex flex-col gap-4 p-8 border border-neutral-800 rounded-lg">
<div className="text-sm text-neutral-400">{grokApiKey ? "xAI/Grok: Système en ligne. Quelle équation souhaitez-vous résoudre ?" : "xAI/Grok: En attente de configuration API..."}</div>
<div className="h-px w-full bg-neutral-800 my-2" />
<div className="text-white font-medium">User: Explique-moi le calcul intégral.</div>
</div>
</CardStack>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -10,7 +10,7 @@ import HeroLogoBillboardSplit from '@/components/sections/hero/HeroLogoBillboard
import MediaAbout from '@/components/sections/about/MediaAbout'; import MediaAbout from '@/components/sections/about/MediaAbout';
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import { Lightbulb, Monitor, PenTool, ShieldCheck, Zap } from "lucide-react"; import { Lightbulb, Monitor, PenTool, ShieldCheck, Zap } from "lucide-react";
import CardStack from '@/components/cardStack/CardStack'; import { useState } from 'react';
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -31,7 +31,7 @@ export default function LandingPage() {
<NavbarStyleFullscreen <NavbarStyleFullscreen
navItems={[ navItems={[
{ name: "Accueil", id: "hero" }, { name: "Accueil", id: "hero" },
{ name: "Chat", id: "chat" }, { name: "Chat", id: "/chat" },
{ name: "Fonctionnalités", id: "features" }, { name: "Fonctionnalités", id: "features" },
{ name: "FAQ", id: "faq" }, { name: "FAQ", id: "faq" },
{ name: "Contact", id: "contact" }, { name: "Contact", id: "contact" },
@@ -55,23 +55,6 @@ export default function LandingPage() {
/> />
</div> </div>
<div id="chat" data-section="chat">
<CardStack
title="Grok Chat Interface"
description="Une interface de discussion ultra-minimaliste inspirée par l'esthétique xAI. Dialogue direct, clair et sans distraction pour vos besoins analytiques."
textboxLayout="split"
animationType="blur-reveal"
ariaLabel="Chat interface"
className="bg-black text-white"
>
<div className="flex flex-col gap-4 p-8 border border-neutral-800 rounded-lg">
<div className="text-sm text-neutral-400">Grok: Comment puis-je vous aider aujourd'hui ?</div>
<div className="h-px w-full bg-neutral-800 my-2" />
<div className="text-white font-medium">User: Explique-moi le calcul intégral.</div>
</div>
</CardStack>
</div>
<div id="about" data-section="about"> <div id="about" data-section="about">
<MediaAbout <MediaAbout
useInvertedBackground={false} useInvertedBackground={false}
@@ -88,11 +71,11 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
animationType="slide-up" animationType="slide-up"
features={[ features={[
{ icon: Lightbulb, title: "Chat Grok IA", description: "Interaction naturelle avec un modèle de langage performant." }, { icon: Lightbulb, title: "Moteur Grok IA", description: "Interaction native avec le raisonnement logique de xAI." },
{ icon: PenTool, title: "Visualisation", description: "Conversion automatique des concepts mathématiques en schémas." }, { icon: PenTool, title: "Visualisation", description: "Conversion automatique des concepts mathématiques en schémas." },
{ icon: Monitor, title: "Interface épurée", description: "Design noir et blanc minimaliste pour se concentrer sur l'essentiel." }, { icon: Monitor, title: "Interface épurée", description: "Design noir et blanc minimaliste pour se concentrer sur l'essentiel." },
{ icon: Zap, title: "Réponses rapides", description: "Latence ultra-faible pour un apprentissage fluide." }, { icon: Zap, title: "Réponses rapides", description: "Latence ultra-faible pour un apprentissage fluide." },
{ icon: ShieldCheck, title: "Confidentialité", description: "Gestion sécurisée de vos clés API en local." }, { icon: ShieldCheck, title: "Sécurité API", description: "Intégration sécurisée de votre clé xAI en local." },
]} ]}
title="La puissance du visuel" title="La puissance du visuel"
description="Une interface pensée pour la clarté et l'efficacité." description="Une interface pensée pour la clarté et l'efficacité."
@@ -105,7 +88,7 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
faqs={[ faqs={[
{ id: "1", title: "Qu'est-ce que MathIA ?", content: "C'est une plateforme qui associe Grok AI à un canevas numérique interactif." }, { id: "1", title: "Qu'est-ce que MathIA ?", content: "C'est une plateforme qui associe Grok AI à un canevas numérique interactif." },
{ id: "2", title: "Besoin d'une clé API ?", content: "Oui, vous utilisez votre propre clé pour une confidentialité totale." }, { id: "2", title: "Besoin d'une clé API xAI ?", content: "Oui, vous utilisez votre clé API xAI pour une confidentialité totale lors de vos sessions de tutorat." },
]} ]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BiavO3dCn02likxwS7upWoCIlU/clean-interface-showing-interactive-math-1775133774387-5fe1858a.png" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BiavO3dCn02likxwS7upWoCIlU/clean-interface-showing-interactive-math-1775133774387-5fe1858a.png"
title="Questions Fréquentes" title="Questions Fréquentes"
@@ -119,11 +102,11 @@ export default function LandingPage() {
<ContactSplitForm <ContactSplitForm
useInvertedBackground={false} useInvertedBackground={false}
title="Accès au système" title="Accès au système"
description="Configurez votre environnement." description="Configurez votre clé API xAI pour activer le chat et les tutoriels."
inputs={[ inputs={[
{ name: "name", type: "text", placeholder: "Nom", required: true }, { name: "name", type: "text", placeholder: "Nom", required: true },
{ name: "email", type: "email", placeholder: "Email", required: true }, { name: "email", type: "email", placeholder: "Email", required: true },
{ name: "apiKey", type: "password", placeholder: "Clé API Grok", required: true }, { name: "apiKey", type: "password", placeholder: "Clé API xAI", required: true },
]} ]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BiavO3dCn02likxwS7upWoCIlU/futuristic-digital-aesthetic-background--1775133773550-69c25a60.png" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BiavO3dCn02likxwS7upWoCIlU/futuristic-digital-aesthetic-background--1775133773550-69c25a60.png"
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"