import React, { useContext, useState } from "react"; import { HashRouter, Routes, Route, Link, useLocation } from "react-router-dom"; import { Home } from "./pages/Home"; import { BlogPost } from "./pages/BlogPost"; import { Research } from "./pages/Research"; import { Services } from "./pages/Services"; import { HireUs } from "./pages/HireUs"; import { Playground } from "./pages/Playground"; import { ChatWidget } from "./components/ChatWidget"; import { Cpu, Menu, X, Globe, Terminal } from "lucide-react"; // --- Language Context --- type Language = "en" | "th"; interface LanguageContextType { language: Language; toggleLanguage: () => void; } export const LanguageContext = React.createContext({ language: "en", toggleLanguage: () => {}, }); export const useLanguage = () => useContext(LanguageContext); // --- Navigation --- const Navigation: React.FC = () => { const [isOpen, setIsOpen] = useState(false); const location = useLocation(); const { language, toggleLanguage } = useLanguage(); const isActive = (path: string) => { if (path === "/research" && location.pathname.startsWith("/research")) { return "text-ink font-semibold"; } return location.pathname === path ? "text-ink font-semibold" : "text-subtle hover:text-ink transition-colors"; }; return ( ); }; const Footer: React.FC = () => { const { language } = useLanguage(); return ( ); }; export default function App() { const [language, setLanguage] = useState("en"); const toggleLanguage = () => { setLanguage((prev) => (prev === "en" ? "th" : "en")); }; return (
} /> } /> } /> } /> } /> } />
); }