| import React from 'react' |
| import { motion } from 'framer-motion' |
| import { |
| Github, |
| Linkedin, |
| Mail, |
| Heart, |
| Sparkles, |
| BookOpen, |
| Brain, |
| Code, |
| Twitter |
| } from 'lucide-react' |
|
|
| const Footer = () => { |
| const currentYear = new Date().getFullYear() |
|
|
| const footerLinks = { |
| product: [ |
| { name: 'Features', href: '#features' }, |
| { name: 'AI Agents', href: '#agents' }, |
| { name: 'Pricing', href: '#pricing' }, |
| { name: 'Roadmap', href: '#roadmap' } |
| ], |
| resources: [ |
| { name: 'Documentation', href: '#docs' }, |
| { name: 'API Reference', href: '#api' }, |
| { name: 'Tutorials', href: '#tutorials' }, |
| { name: 'Blog', href: '#blog' } |
| ], |
| company: [ |
| { name: 'About Us', href: '#about' }, |
| { name: 'Careers', href: '#careers' }, |
| { name: 'Contact', href: '#contact' }, |
| { name: 'Privacy Policy', href: '#privacy' } |
| ] |
| } |
|
|
| const socialLinks = [ |
| { icon: Github, href: 'https://github.com', label: 'GitHub' }, |
| { icon: Linkedin, href: 'https://linkedin.com', label: 'LinkedIn' }, |
| { icon: Twitter, href: 'https://twitter.com', label: 'Twitter' }, |
| { icon: Mail, href: 'mailto:contact@adaptivelearn.com', label: 'Email' } |
| ] |
|
|
| const features = [ |
| { icon: Brain, text: 'AI-Powered Learning' }, |
| { icon: BookOpen, text: 'Adaptive Content' }, |
| { icon: Code, text: 'Interactive Coding' }, |
| { icon: Sparkles, text: 'Multi-Agent System' } |
| ] |
|
|
| return ( |
| <footer className="bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 text-white mt-auto"> |
| {/* Main Footer Content */} |
| <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> |
| <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-8 mb-8"> |
| {/* Brand Section */} |
| <div className="lg:col-span-2"> |
| <motion.div |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| viewport={{ once: true }} |
| className="space-y-4" |
| > |
| {/* Logo */} |
| <div className="flex items-center gap-3"> |
| <div className="w-12 h-12 bg-gradient-to-br from-primary-500 to-accent-500 rounded-xl flex items-center justify-center shadow-lg"> |
| <Sparkles className="w-6 h-6 text-white" /> |
| </div> |
| <div> |
| <h3 className="text-2xl font-bold">AdaptiveLearn</h3> |
| <p className="text-xs text-slate-400">Multi-Agent AI Education</p> |
| </div> |
| </div> |
| |
| {/* Description */} |
| <p className="text-slate-300 leading-relaxed"> |
| Revolutionizing education with AI-powered adaptive learning. |
| Our multi-agent system personalizes your learning journey for |
| maximum knowledge retention. |
| </p> |
| |
| {/* Features */} |
| <div className="grid grid-cols-2 gap-3"> |
| {features.map((feature, index) => ( |
| <motion.div |
| key={index} |
| initial={{ opacity: 0, x: -20 }} |
| whileInView={{ opacity: 1, x: 0 }} |
| viewport={{ once: true }} |
| transition={{ delay: index * 0.1 }} |
| className="flex items-center gap-2 text-sm text-slate-300" |
| > |
| <div className="w-8 h-8 bg-white/10 rounded-lg flex items-center justify-center"> |
| <feature.icon className="w-4 h-4 text-primary-400" /> |
| </div> |
| <span>{feature.text}</span> |
| </motion.div> |
| ))} |
| </div> |
| |
| {/* Social Links */} |
| <div className="flex items-center gap-3 pt-4"> |
| {socialLinks.map((social, index) => ( |
| <motion.a |
| key={index} |
| href={social.href} |
| target="_blank" |
| rel="noopener noreferrer" |
| whileHover={{ scale: 1.1, y: -2 }} |
| whileTap={{ scale: 0.95 }} |
| className="w-10 h-10 bg-white/10 hover:bg-white/20 rounded-lg flex items-center justify-center transition-all group" |
| aria-label={social.label} |
| > |
| <social.icon className="w-5 h-5 text-slate-300 group-hover:text-white transition-colors" /> |
| </motion.a> |
| ))} |
| </div> |
| </motion.div> |
| </div> |
| |
| {/* Links Sections */} |
| {Object.entries(footerLinks).map(([category, links], categoryIndex) => ( |
| <motion.div |
| key={category} |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| viewport={{ once: true }} |
| transition={{ delay: categoryIndex * 0.1 }} |
| > |
| <h4 className="text-lg font-bold mb-4 capitalize"> |
| {category} |
| </h4> |
| <ul className="space-y-2"> |
| {links.map((link, index) => ( |
| <li key={index}> |
| <a |
| href={link.href} |
| className="text-slate-300 hover:text-white transition-colors inline-flex items-center group" |
| > |
| <span className="group-hover:translate-x-1 transition-transform"> |
| {link.name} |
| </span> |
| </a> |
| </li> |
| ))} |
| </ul> |
| </motion.div> |
| ))} |
| </div> |
| |
| {/* Divider */} |
| <div className="border-t border-slate-700 my-8"></div> |
| |
| {/* Bottom Section */} |
| <div className="flex flex-col md:flex-row items-center justify-between gap-4"> |
| {/* Copyright */} |
| <motion.div |
| initial={{ opacity: 0 }} |
| whileInView={{ opacity: 1 }} |
| viewport={{ once: true }} |
| className="flex items-center gap-2 text-sm text-slate-400" |
| > |
| <span>© {currentYear} AdaptiveLearn.</span> |
| <span className="flex items-center gap-1"> |
| Made with <Heart className="w-4 h-4 text-red-500 fill-red-500 animate-pulse" /> by Your Team |
| </span> |
| </motion.div> |
| |
| {/* Bottom Links */} |
| <motion.div |
| initial={{ opacity: 0 }} |
| whileInView={{ opacity: 1 }} |
| viewport={{ once: true }} |
| className="flex items-center gap-6 text-sm" |
| > |
| <a href="#privacy" className="text-slate-400 hover:text-white transition-colors"> |
| Privacy Policy |
| </a> |
| <a href="#terms" className="text-slate-400 hover:text-white transition-colors"> |
| Terms of Service |
| </a> |
| <a href="#cookies" className="text-slate-400 hover:text-white transition-colors"> |
| Cookie Policy |
| </a> |
| </motion.div> |
| </div> |
| |
| {/* Technology Badge */} |
| <motion.div |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| viewport={{ once: true }} |
| className="mt-8 text-center" |
| > |
| <div className="inline-flex items-center gap-2 px-4 py-2 bg-white/5 rounded-full border border-white/10"> |
| <Sparkles className="w-4 h-4 text-primary-400" /> |
| <span className="text-sm text-slate-300"> |
| Powered by <span className="font-semibold text-white">5 Autonomous AI Agents</span> |
| </span> |
| <Sparkles className="w-4 h-4 text-accent-400" /> |
| </div> |
| </motion.div> |
| </div> |
| |
| {/* Decorative Elements */} |
| <div className="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-primary-500 via-accent-500 to-primary-500"></div> |
| </footer> |
| ) |
| } |
|
|
| export default Footer |