Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3849632af7 | |||
| d4a4d85d81 | |||
| 315ae80d20 | |||
| 9b3e3f4ba1 | |||
| 92658ac270 | |||
| 1d81682183 | |||
| 516032e31f | |||
| 29904cc551 |
45
src/app/chat/page.tsx
Normal file
45
src/app/chat/page.tsx
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||||
|
|
||||||
|
export default function ChatPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="text-stagger"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="medium"
|
||||||
|
sizing="medium"
|
||||||
|
background="circleGradient"
|
||||||
|
cardStyle="glass-elevated"
|
||||||
|
primaryButtonStyle="gradient"
|
||||||
|
secondaryButtonStyle="glass"
|
||||||
|
headingFontWeight="normal"
|
||||||
|
>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarStyleFullscreen
|
||||||
|
navItems={[
|
||||||
|
{ name: "Accueil", id: "/" },
|
||||||
|
{ name: "Chat", id: "/chat" },
|
||||||
|
]}
|
||||||
|
brandName="MathIA Chat"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<main className="container mx-auto p-8 pt-32 min-h-screen flex flex-col md:flex-row gap-8">
|
||||||
|
<div className="flex-1 border border-neutral-800 rounded-xl p-6 bg-neutral-900">
|
||||||
|
<h2 className="text-2xl font-bold mb-4">Tuteur Grok</h2>
|
||||||
|
<div className="h-96 w-full flex items-center justify-center border border-neutral-700 rounded bg-black/50">
|
||||||
|
<p className="text-neutral-500">[Tuteur IA xAI activé]</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="flex-[2] border border-neutral-800 rounded-xl p-6 bg-white">
|
||||||
|
<h2 className="text-2xl font-bold mb-4 text-black">Whiteboard</h2>
|
||||||
|
<div className="h-96 w-full border border-neutral-300 rounded bg-white shadow-inner">
|
||||||
|
<p className="p-4 text-neutral-400">[Espace de calcul visuel]</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -11,8 +11,19 @@ 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 CardStack from '@/components/cardStack/CardStack';
|
||||||
|
import { useState } from 'react';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
|
const [grokApiKey, setGrokApiKey] = useState("");
|
||||||
|
|
||||||
|
const handleContactSubmit = (data: Record<string, string>) => {
|
||||||
|
if (data.apiKey) {
|
||||||
|
// Store API key in memory for chat/tutor functionality
|
||||||
|
setGrokApiKey(data.apiKey);
|
||||||
|
console.log("xAI/Grok API Key integrated successfully");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="icon-arrow"
|
defaultButtonVariant="icon-arrow"
|
||||||
@@ -58,14 +69,14 @@ export default function LandingPage() {
|
|||||||
<div id="chat" data-section="chat">
|
<div id="chat" data-section="chat">
|
||||||
<CardStack
|
<CardStack
|
||||||
title="Grok Chat Interface"
|
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."
|
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"
|
textboxLayout="split"
|
||||||
animationType="blur-reveal"
|
animationType="blur-reveal"
|
||||||
ariaLabel="Chat interface"
|
ariaLabel="Chat interface"
|
||||||
className="bg-black text-white"
|
className="bg-black text-white"
|
||||||
>
|
>
|
||||||
<div className="flex flex-col gap-4 p-8 border border-neutral-800 rounded-lg">
|
<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="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="h-px w-full bg-neutral-800 my-2" />
|
||||||
<div className="text-white font-medium">User: Explique-moi le calcul intégral.</div>
|
<div className="text-white font-medium">User: Explique-moi le calcul intégral.</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -88,11 +99,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 +116,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,12 +130,13 @@ 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 },
|
||||||
]}
|
]}
|
||||||
|
onSubmit={handleContactSubmit}
|
||||||
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"
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user