From d74b006a27075f8df88785de173fdcaed1d5851b Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 2 Jun 2026 16:28:03 +0000 Subject: [PATCH] Add src/app/chatbot/page.tsx --- src/app/chatbot/page.tsx | 175 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 src/app/chatbot/page.tsx diff --git a/src/app/chatbot/page.tsx b/src/app/chatbot/page.tsx new file mode 100644 index 0000000..3150fb9 --- /dev/null +++ b/src/app/chatbot/page.tsx @@ -0,0 +1,175 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import React, { useState } from 'react'; +import ReactLenis from "lenis/react"; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; +import FooterSimple from '@/components/sections/footer/FooterSimple'; +import Input from '@/components/form/Input'; + +interface Message { + id: number; + text: string; + sender: 'user' | 'bot'; +} + +export default function ChatbotPage() { + const [messages, setMessages] = useState([ + { id: 1, text: "Hello! How can I assist you with your safari experience today?", sender: "bot" }, + ]); + const [inputValue, setInputValue] = useState(""); + + const handleSendMessage = () => { + if (inputValue.trim()) { + const newUserMessage: Message = { + id: messages.length + 1, + text: inputValue, + sender: "user"}; + setMessages((prevMessages) => [...prevMessages, newUserMessage]); + setInputValue(""); + + setTimeout(() => { + const botResponse: Message = { + id: messages.length + 2, + text: "Thank you for your message. Our team will get back to you shortly!", sender: "bot"}; + setMessages((prevMessages) => [...prevMessages, botResponse]); + }, 1000); + } + }; + + const navbarProps = { + navItems: [ + { + name: "Experience", id: "#experience" + }, + { + name: "Territory", id: "#territory" + }, + { + name: "Species", id: "#species" + }, + { + name: "Gallery", id: "#gallery" + }, + { + name: "Inquiry", id: "#inquiry" + }, + { + name: "Chatbot", id: "/chatbot" + } + ], + logoSrc: "http://img.b2bpic.net/free-photo/top-view-light-box-with-paper-planet-animals-animal-day_23-2148668916.jpg", logoAlt: "Niwa Cameroon logo", brandName: "Niwa Cameroon", bottomLeftText: "Niwa Cameroon", bottomRightText: "Private Safari", button: { + text: "Plan Your Safari", href: "#inquiry"}, + }; + + const footerProps = { + columns: [ + { + title: "Explore", items: [ + { + label: "Experience", href: "#experience" + }, + { + label: "Territory", href: "#territory" + }, + { + label: "Species", href: "#species" + }, + ], + }, + { + title: "Connect", items: [ + { + label: "Inquiry", href: "#inquiry" + }, + { + label: "WhatsApp", href: "https://wa.me/000000000000" + }, + { + label: "Email", href: "mailto:info@niwacameroon.com" + }, + ], + }, + { + title: "Legal", items: [ + { + label: "Privacy Policy", href: "#" + }, + { + label: "Terms of Service", href: "#" + }, + ], + }, + ], + bottomLeftText: "Niwa Cameroon — Private hunting safaris in Cameroon.", bottomRightText: "Designed in a quiet luxury editorial style."}; + + return ( + + + + +
+

+ Safari Chat Assistant +

+
+
+ {messages.map((message) => ( +
+
+

{message.text}

+
+
+ ))} +
+ +
+ + +
+
+
+ + +
+
+ ); +} \ No newline at end of file