diff --git a/RECOVERY_PLAN.md b/RECOVERY_PLAN.md new file mode 100644 index 0000000..1305934 --- /dev/null +++ b/RECOVERY_PLAN.md @@ -0,0 +1,109 @@ +# Recovery Plan: Academy.tsx & Contact.tsx + +## Analysis Summary + +### Commit History +- **163d4b1** "UFO menu and contact full" - ✅ WORKING VERSION +- **0af248f** "Reverted to commit 3981950c..." - ❌ BROKE THINGS +- **67d2a12** "Update Academy.tsx" - ⚠️ CURRENT (has improvements but broken) + +--- + +## Academy.tsx - Issues Identified + +### ❌ What Broke (Current vs Working): + +1. **Component Structure** + - ❌ Removed `CourseCard` and `PartnerCard` components + - ❌ Changed from Card-based UI to expandable motion cards + - ❌ Lost the clean, reusable component pattern + +2. **Data Structure Changes** + - ❌ Changed `subModules` → `modules` (inconsistent naming) + - ❌ Changed partners from flat array to categorized structure + - ❌ Lost ~30+ partners (only kept ~10 in categories) + +3. **Missing Features** + - ❌ Removed "Master Certification Program" featured section + - ❌ Removed "Ready to Expand Your Cosmic Knowledge?" CTA section + - ❌ Lost comprehensive partner list + +### ✅ Good Changes to Keep (from 67d2a12): + +1. **UI Improvements** + - ✅ Better hero section styling + - ✅ Improved animations with framer-motion + - ✅ Better responsive design + +2. **Data Improvements** + - ✅ Added 4th module to "Abundance & Freedom" (Revenue Architecture) + - ✅ Better module descriptions + - ✅ More organized topic lists + +--- + +## Contact.tsx - Issues Identified + +### ❌ What Broke (Current vs Working): + +1. **Form Functionality** + - ❌ Removed Supabase integration (commented out) + - ❌ Changed to mailto: link (less functional, no server-side handling) + - ❌ Removed form validation with zod schema + - ❌ Removed error handling and error display + +2. **Terminal Features** + - ❌ Simplified terminal responses (lost comprehensive AI responses) + - ❌ Removed AI Tor avatar display + - ❌ Removed system messages + - ❌ Lost detailed command handling (DAO, NFT, token info, etc.) + +3. **UI Components** + - ❌ Removed `SocialIcon` component with custom SVG icons + - ❌ Removed Quick Support Cards section (Documentation, Legal, Support, Community) + - ❌ Simplified social links structure + - ❌ Lost better organized layout + +### ✅ Good Changes to Keep (from 67d2a12): + +1. **UI Improvements** + - ✅ Better header styling ("COMMUNICATIONS") + - ✅ Improved form layout + - ✅ Better terminal styling + +--- + +## Recovery Strategy + +### Academy.tsx Recovery: +1. **Restore working structure** from 163d4b1: + - Keep `CourseCard` and `PartnerCard` components + - Restore full partners list + - Restore featured sections + +2. **Merge good improvements** from 67d2a12: + - Add 4th module (Revenue Architecture) to Abundance & Freedom + - Keep improved descriptions + - Keep better hero styling (if compatible) + +### Contact.tsx Recovery: +1. **Restore working structure** from 163d4b1: + - Restore Supabase integration + - Restore zod validation + - Restore comprehensive terminal responses + - Restore Quick Support Cards + - Restore SocialIcon component + +2. **Merge good improvements** from 67d2a12: + - Keep improved header styling + - Keep better form layout (if compatible) + +--- + +## Implementation Steps + +1. ✅ Analyze differences (COMPLETED) +2. ⏳ Restore Academy.tsx with merged improvements +3. ⏳ Restore Contact.tsx with merged improvements +4. ⏳ Test both pages +5. ⏳ Verify all functionality works diff --git a/academy_163d4b1.tsx b/academy_163d4b1.tsx new file mode 100644 index 0000000..050e817 --- /dev/null +++ b/academy_163d4b1.tsx @@ -0,0 +1,386 @@ +import React from 'react'; +import { GraduationCap, BookOpen, Video, Users, Award, Sparkles, Leaf, Brain, Coins, ShoppingCart, Heart, Lightbulb, ExternalLink } from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; +const CourseCard = ({ + title, + description, + icon, + modules, + color +}: { + title: string; + description: string; + icon: React.ReactNode; + modules: Array<{ + name: string; + topics: string[]; + }>; + color: string; +}) => +
+ +
+
+ {icon} +
+
+ + {modules.length} modules + +
+
+ + {title} + + + {description} + +
+ + +
+ {modules.map((module, index) =>
+

+ + {index + 1} + + {module.name} +

+
    + {module.topics.map((topic, topicIndex) =>
  • + ┬╖ + {topic} +
  • )} +
+
)} +
+ + +
+
; +const PartnerCard = ({ + name, + url, + logoUrl +}: { + name: string; + url: string; + logoUrl?: string; +}) => +
+
+ {logoUrl ?
+ {`${name} { + const target = e.target as HTMLImageElement; + target.style.display = 'none'; + target.nextElementSibling?.classList.remove('hidden'); + }} /> +
+ {name.charAt(0)} +
+
:
+ {name.charAt(0)} +
} +

+ {name} +

+ +
+
; +const Academy: React.FC = () => { + const courses = [{ + title: "Abundance & Freedom", + description: "Master the fundamentals of digital economy, blockchain and sustainable financial systems to create abundance and financial freedom.", + icon: , + color: "bg-gradient-to-r from-green-400 to-green-600", + modules: [{ + name: "EcoFinTech", + topics: ["Circularity + ESG Criteria + Efficiency & Sustainability + Growth & Development", "System Dynamics (Complex / Dynamic) [Critical Degrowth | Theories]", "Digitalization + Money & Payment Systems + Iterative Design Methodologies", "Economy & Finance - General Macro & Particular Micro + Game Theory"] + }, { + name: "Electronic Commerce", + topics: ["Fundamental characteristics", "Foundations and infrastructure", "Practical advantages and uses", "Forms and types of implementation"] + }, { + name: "Blockchain & Cryptography", + topics: ["Digital Assets (Crypto + Tokens, Bitcoin, Altcoins, Stablecoins)", "Digital Properties (NFTs + Smart Contracts)", "Applications & Decentralized Finance (DeFi)"] + }] + }, { + title: "Self-Management & Sustainability", + description: "Learn to manage your life sustainably by integrating ecology, permaculture and conscious management of energy, space and time.", + icon: , + color: "bg-gradient-to-r from-emerald-400 to-emerald-600", + modules: [{ + name: "Ecological Foundations", + topics: ["Ecosystem understanding and biodiversity principles", "Climate change adaptation and mitigation strategies", "Natural resource management and conservation", "Environmental impact assessment and reduction"] + }, { + name: "Permaculture Design", + topics: ["Permaculture ethics and principles", "Site analysis and design methodology", "Food forest creation and management", "Water harvesting and management systems", "Soil regeneration and composting techniques"] + }, { + name: "Conscious Living", + topics: ["Mindful consumption and zero-waste practices", "Energy efficiency in daily life", "Sustainable transportation choices", "Community building and local resilience"] + }, { + name: "Time & Space Management", + topics: ["Productivity systems aligned with natural rhythms", "Sacred space creation and maintenance", "Work-life integration practices", "Digital minimalism and tech wellness"] + }] + }, { + title: "Harmony & Transcendence", + description: "Explore the deepest dimensions of being through consciousness, meditation, philosophical alchemy and sacred nutrition.", + icon: , + color: "bg-gradient-to-r from-purple-400 to-purple-600", + modules: [{ + name: "Consciousness & Energy", + topics: ["Attention & Concentration - Attitude | Aptitude", "Consciousness (Unconsciousness | Preconsciousness | Subconscious)", "Equanimity | Fullness - Focus | Perception", "Determination | Intention | Purpose | Meaning"] + }, { + name: "Meditations & Yoga", + topics: ["Advanced meditation techniques", "Integral yoga practice", "Body-mind-spirit integration"] + }, { + name: "Alchemy & Philosophy", + topics: ["Alchemy: Self-transcendence | Transcendence", "Liberal Arts (Trivium + Quadrivium)", "Hermeneutics | Heuristics", "Philosophy: Spiritual and Intellectual Illumination"] + }] + }]; + const partners = [{ + name: "Academia", + url: "https://www.academia.edu/", + logoUrl: "/lovable-uploads/Academy/Academia.svg" + }, { + name: "Alchemy", + url: "https://www.alchemy.com/", + logoUrl: "/lovable-uploads/Academy/Alchemy.png" + }, { + name: "Bitcoin", + url: "https://bitcoin.org", + logoUrl: "https://upload.wikimedia.org/wikipedia/commons/4/46/Bitcoin.svg" + }, { + name: "AulaFacil", + url: "https://www.aulafacil.com/", + logoUrl: "https://www.aulafacil.com/favicon.ico" + }, { + name: "Climate Reanalyzer", + url: "https://climatereanalyzer.org/", + logoUrl: "/lovable-uploads/Academy/ClimateReanalyzer.svg" + }, { + name: "Coursera", + url: "https://www.coursera.org/", + logoUrl: "https://upload.wikimedia.org/wikipedia/commons/9/97/Coursera-Logo_600x600.svg" + }, { + name: "Cursa", + url: "https://cursa.app/", + logoUrl: "/lovable-uploads/Academy/Cursa.webp" + }, { + name: "edX", + url: "https://www.edx.org/", + logoUrl: "/lovable-uploads/Academy/edX.png" + }, { + name: "ESA", + url: "https://www.esa.int/", + logoUrl: "/lovable-uploads/Academy/ESA.svg" + }, { + name: "Explore", + url: "https://explore.org/", + logoUrl: "/lovable-uploads/Academy/Explore.png" + }, { + name: "FutureLearn", + url: "https://www.futurelearn.com/", + logoUrl: "https://www.futurelearn.com/favicon.ico" + }, { + name: "Google for Education", + url: "https://edu.google.com/", + logoUrl: "https://upload.wikimedia.org/wikipedia/commons/2/2f/Google_2015_logo.svg" + }, { + name: "Google Growth", + url: "https://grow.google/", + logoUrl: "/lovable-uploads/Academy/GrowGoogle.png" + }, { + name: "HackerRank", + url: "https://www.hackerrank.com/", + logoUrl: "/lovable-uploads/Academy/HackerRank.svg" + }, { + name: "HackMD", + url: "https://hackmd.io/", + logoUrl: "/lovable-uploads/Academy/HackMD.svg" + }, { + name: "Hotmart", + url: "https://www.hotmart.com/", + logoUrl: "/lovable-uploads/Academy/Hotmart.png" + }, { + name: "KAGRA", + url: "https://khanacademy.org/", + logoUrl: "https://cdn.kastatic.org/images/khan-logo-dark-background.png" + }, { + name: "Khan Academy", + url: "https://gwcenter.icrr.u-tokyo.ac.jp/", + logoUrl: "/lovable-uploads/Academy/KAGRA.svg" + }, { + name: "LIGO", + url: "https://www.ligo.caltech.edu/", + logoUrl: "/lovable-uploads/Academy/LIGO.png" + }, { + name: "LSC-Canfranc", + url: "https://lsc-canfranc.es/", + logoUrl: "/lovable-uploads/Academy/LSC.png" + }, { + name: "Map of the Universe", + url: "https://mapoftheuniverse.net/", + logoUrl: "/lovable-uploads/Academy/Universe.jpg" + }, { + name: "MasterClass", + url: "https://masterclass.com/", + logoUrl: "/lovable-uploads/Academy/MasterClass.jpeg" + }, { + name: "MOOC", + url: "https://mooc.org/", + logoUrl: "/lovable-uploads/Academy/Mooc.png" + }, { + name: "NASA Eyes", + url: "https://eyes.nasa.gov/apps/solar-system/#/home", + logoUrl: "https://upload.wikimedia.org/wikipedia/commons/e/e5/NASA_logo.svg" + }, { + name: "OEGlobal", + url: "https://oeglobal.org/", + logoUrl: "/lovable-uploads/OEGlobalLogo.jpeg" + }, { + name: "OpenUpEd", + url: "https://openuped.eu/", + logoUrl: "/lovable-uploads/OpenUpEdLogo.jpeg" + }, { + name: "Skillshare", + url: "https://www.skillshare.com/", + logoUrl: "/lovable-uploads/SkillShareLogo.jpeg" + }, { + name: "Udacity", + url: "https://www.udacity.com/", + logoUrl: "/lovable-uploads/UdacityLogo.svg" + }, { + name: "Udemy", + url: "https://www.udemy.com/", + logoUrl: "https://upload.wikimedia.org/wikipedia/commons/e/e3/Udemy_logo.svg" + }, { + name: "UNED", + url: "https://iedra.uned.es/", + logoUrl: "/lovable-uploads/Academy/UNED.png" + }, { + name: "UNESCO", + url: "https://www.unesco.org/", + logoUrl: "/lovable-uploads/UnescoLogo.svg" + }, { + name: "Unity Learn", + url: "https://learn.unity.com/", + logoUrl: "/lovable-uploads/UnityLearnLogo.svg" + }, { + name: "Unreal Engine", + url: "https://www.unrealengine.com/en-US/learn", + logoUrl: "https://upload.wikimedia.org/wikipedia/commons/d/da/Unreal_Engine_Logo.svg" + }, { + name: "UNSSC", + url: "https://unssc.org/", + logoUrl: "/lovable-uploads/UNSSCLogo.png" + }, { + name: "Virgo-GW", + url: "https://www.virgo-gw.eu/", + logoUrl: "/lovable-uploads/VirgoLogo.svg" + }]; + return
+ {/* Academy Background Image */} +
+
+
+
+ Academy Official Logo +
+

+ Academy +

+

+ Acquire complete attention capabilities to connect, discover and expand knowledge and skills. + This helps you evolve and propels you towards an optimal experience with fullness of flow, + as well as increase the benefits of your quality of life and more sustainable gains, with complete wellbeing. +

+
+ + {/* Featured Program */} + +
+ +

+ Master Certification Program +

+ + Become a certified Explorer and Navigator of the ΔlieπFlΦw $pac€ and unlock exclusive opportunities in our expanding cosmic ecosystem. + +
+ {["3 integrated main courses", "8 specialized modules", "Bootcamps with live mentoring sessions", "On-chain NFT credential"].map((feature, index) =>
+
+

{feature}

+
)} +
+ +
+
+
+ +
+ +
+
+
+
+
+ + {/* Course Grid */} +
+

+ Main Courses +

+

+ Explore our comprehensive training programs +

+
+ {courses.map((course, index) => )} +
+
+ + {/* Enhanced Partners Section */} +
+

+ Educational Partners +

+

+ We collaborate with the world's best educational platforms +

+
+ {partners.map((partner, index) => )} +
+
+ + {/* CTA Section */} + + +

+ Ready to Expand Your Cosmic Knowledge? +

+ + Join thousands of space navigators on their journey to master the principles of the decentralized multiverse. + +
+ + +
+
+
+
+
+
; +}; +export default Academy; diff --git a/academy_diff.tsx b/academy_diff.tsx new file mode 100644 index 0000000..321825f --- /dev/null +++ b/academy_diff.tsx @@ -0,0 +1,610 @@ +diff --git a/src/pages/Academy.tsx b/src/pages/Academy.tsx +index a5d0c7d..fdcfe14 100644 +--- a/src/pages/Academy.tsx ++++ b/src/pages/Academy.tsx +@@ -1,386 +1,238 @@ +-import React from 'react'; +-import { GraduationCap, BookOpen, Video, Users, Award, Sparkles, Leaf, Brain, Coins, ShoppingCart, Heart, Lightbulb, ExternalLink } from 'lucide-react'; ++import React, { useState } from 'react'; ++import { motion, AnimatePresence } from 'framer-motion'; ++import { ++ ShieldCheck, Coins, Leaf, Brain, GraduationCap, ++ Zap, ExternalLink, ChevronDown, Award, CheckCircle2 ++} from 'lucide-react'; + import { Button } from '@/components/ui/button'; +-import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; +-const CourseCard = ({ +- title, +- description, +- icon, +- modules, +- color +-}: { +- title: string; +- description: string; +- icon: React.ReactNode; +- modules: Array<{ +- name: string; +- topics: string[]; +- }>; +- color: string; +-}) => +-
+- +-
+-
+- {icon} +-
+-
+- +- {modules.length} modules +- +-
+-
+- +- {title} +- +- +- {description} +- +-
+- +- +-
+- {modules.map((module, index) =>
+-

+- +- {index + 1} +- +- {module.name} +-

+-
    +- {module.topics.map((topic, topicIndex) =>
  • +- ┬╖ +- {topic} +-
  • )} +-
+-
)} +-
+- +- +-
+-
; +-const PartnerCard = ({ +- name, +- url, +- logoUrl +-}: { +- name: string; +- url: string; +- logoUrl?: string; +-}) => +-
+-
+- {logoUrl ?
+- {`${name} { +- const target = e.target as HTMLImageElement; +- target.style.display = 'none'; +- target.nextElementSibling?.classList.remove('hidden'); +- }} /> +-
+- {name.charAt(0)} +-
+-
:
+- {name.charAt(0)} +-
} +-

+- {name} +-

+- +-
+-
; +-const Academy: React.FC = () => { +- const courses = [{ ++ ++// --- DATA DEFINITIVA: 3 MÓDULOS CON 4 BLOQUES CADA UNO --- ++const academyModules = [ ++ { ++ id: 1, + title: "Abundance & Freedom", ++ tag: "DATA_FLOW", + description: "Master the fundamentals of digital economy, blockchain and sustainable financial systems to create abundance and financial freedom.", + icon: , +- color: "bg-gradient-to-r from-green-400 to-green-600", +- modules: [{ +- name: "EcoFinTech", +- topics: ["Circularity + ESG Criteria + Efficiency & Sustainability + Growth & Development", "System Dynamics (Complex / Dynamic) [Critical Degrowth | Theories]", "Digitalization + Money & Payment Systems + Iterative Design Methodologies", "Economy & Finance - General Macro & Particular Micro + Game Theory"] +- }, { +- name: "Electronic Commerce", +- topics: ["Fundamental characteristics", "Foundations and infrastructure", "Practical advantages and uses", "Forms and types of implementation"] +- }, { +- name: "Blockchain & Cryptography", +- topics: ["Digital Assets (Crypto + Tokens, Bitcoin, Altcoins, Stablecoins)", "Digital Properties (NFTs + Smart Contracts)", "Applications & Decentralized Finance (DeFi)"] +- }] +- }, { ++ modules: [ ++ { name: "EcoFinTech & Dynamics", topics: ["Circularity + ESG Criteria", "System Dynamics", "Macro & Micro Economy", "Game Theory"] }, ++ { name: "Electronic Commerce", topics: ["Foundations & Infrastructure", "Practical Advantages", "Implementation Types", "E-commerce Features"] }, ++ { name: "Blockchain & Cryptography", topics: ["Digital Assets (BTC, NFTs)", "DeFi & ReFi Deep Dive", "Smart Contracts", "DePIN & IPFS"] }, ++ { name: "Revenue Architecture", topics: ["Automated Systems", "Scalability Frameworks", "Digital Properties", "Market Efficiency"] } ++ ] ++ }, ++ { ++ id: 2, ++ title: "Harmony & Transcendence", ++ tag: "FLOW_SPACE", ++ description: "Explore Tesla equations, magnetic fields, and unified physics. Understanding gravitational force unification through neutrinos.", ++ icon: , ++ modules: [ ++ { name: "Tesla & Unified Physics", topics: ["Tesla Equations & Scalar Waves", "Magnetic Field Flux", "Neutrino Unification Theory", "Gravitational Synergy"] }, ++ { name: "Consciousness & Perception", topics: ["Attention & Concentration", "Subconscious Mapping", "Reality Tunnels", "Neuro-Acoustics"] }, ++ { name: "Yoga & Sadhana", topics: ["Advanced Meditation", "Integral Yoga", "Sadhana Practice", "Bio-Homeostatic Balance"] }, ++ { name: "Alchemy & TAO", topics: ["Trivium & Quadrivium", "Hermeneutics", "Spiritual Illumination", "Wu Wei & Flow State"] } ++ ] ++ }, ++ { ++ id: 3, + title: "Self-Management & Sustainability", ++ tag: "HEALTH_FLOW", + description: "Learn to manage your life sustainably by integrating ecology, permaculture and conscious management of energy, space and time.", + icon: , +- color: "bg-gradient-to-r from-emerald-400 to-emerald-600", +- modules: [{ +- name: "Ecological Foundations", +- topics: ["Ecosystem understanding and biodiversity principles", "Climate change adaptation and mitigation strategies", "Natural resource management and conservation", "Environmental impact assessment and reduction"] +- }, { +- name: "Permaculture Design", +- topics: ["Permaculture ethics and principles", "Site analysis and design methodology", "Food forest creation and management", "Water harvesting and management systems", "Soil regeneration and composting techniques"] +- }, { +- name: "Conscious Living", +- topics: ["Mindful consumption and zero-waste practices", "Energy efficiency in daily life", "Sustainable transportation choices", "Community building and local resilience"] +- }, { +- name: "Time & Space Management", +- topics: ["Productivity systems aligned with natural rhythms", "Sacred space creation and maintenance", "Work-life integration practices", "Digital minimalism and tech wellness"] +- }] +- }, { +- title: "Harmony & Transcendence", +- description: "Explore the deepest dimensions of being through consciousness, meditation, philosophical alchemy and sacred nutrition.", +- icon: , +- color: "bg-gradient-to-r from-purple-400 to-purple-600", +- modules: [{ +- name: "Consciousness & Energy", +- topics: ["Attention & Concentration - Attitude | Aptitude", "Consciousness (Unconsciousness | Preconsciousness | Subconscious)", "Equanimity | Fullness - Focus | Perception", "Determination | Intention | Purpose | Meaning"] +- }, { +- name: "Meditations & Yoga", +- topics: ["Advanced meditation techniques", "Integral yoga practice", "Body-mind-spirit integration"] +- }, { +- name: "Alchemy & Philosophy", +- topics: ["Alchemy: Self-transcendence | Transcendence", "Liberal Arts (Trivium + Quadrivium)", "Hermeneutics | Heuristics", "Philosophy: Spiritual and Intellectual Illumination"] +- }] +- }]; +- const partners = [{ +- name: "Academia", +- url: "https://www.academia.edu/", +- logoUrl: "/lovable-uploads/Academy/Academia.svg" +- }, { +- name: "Alchemy", +- url: "https://www.alchemy.com/", +- logoUrl: "/lovable-uploads/Academy/Alchemy.png" +- }, { +- name: "Bitcoin", +- url: "https://bitcoin.org", +- logoUrl: "https://upload.wikimedia.org/wikipedia/commons/4/46/Bitcoin.svg" +- }, { +- name: "AulaFacil", +- url: "https://www.aulafacil.com/", +- logoUrl: "https://www.aulafacil.com/favicon.ico" +- }, { +- name: "Climate Reanalyzer", +- url: "https://climatereanalyzer.org/", +- logoUrl: "/lovable-uploads/Academy/ClimateReanalyzer.svg" +- }, { +- name: "Coursera", +- url: "https://www.coursera.org/", +- logoUrl: "https://upload.wikimedia.org/wikipedia/commons/9/97/Coursera-Logo_600x600.svg" +- }, { +- name: "Cursa", +- url: "https://cursa.app/", +- logoUrl: "/lovable-uploads/Academy/Cursa.webp" +- }, { +- name: "edX", +- url: "https://www.edx.org/", +- logoUrl: "/lovable-uploads/Academy/edX.png" +- }, { +- name: "ESA", +- url: "https://www.esa.int/", +- logoUrl: "/lovable-uploads/Academy/ESA.svg" +- }, { +- name: "Explore", +- url: "https://explore.org/", +- logoUrl: "/lovable-uploads/Academy/Explore.png" +- }, { +- name: "FutureLearn", +- url: "https://www.futurelearn.com/", +- logoUrl: "https://www.futurelearn.com/favicon.ico" +- }, { +- name: "Google for Education", +- url: "https://edu.google.com/", +- logoUrl: "https://upload.wikimedia.org/wikipedia/commons/2/2f/Google_2015_logo.svg" +- }, { +- name: "Google Growth", +- url: "https://grow.google/", +- logoUrl: "/lovable-uploads/Academy/GrowGoogle.png" +- }, { +- name: "HackerRank", +- url: "https://www.hackerrank.com/", +- logoUrl: "/lovable-uploads/Academy/HackerRank.svg" +- }, { +- name: "HackMD", +- url: "https://hackmd.io/", +- logoUrl: "/lovable-uploads/Academy/HackMD.svg" +- }, { +- name: "Hotmart", +- url: "https://www.hotmart.com/", +- logoUrl: "/lovable-uploads/Academy/Hotmart.png" +- }, { +- name: "KAGRA", +- url: "https://khanacademy.org/", +- logoUrl: "https://cdn.kastatic.org/images/khan-logo-dark-background.png" +- }, { +- name: "Khan Academy", +- url: "https://gwcenter.icrr.u-tokyo.ac.jp/", +- logoUrl: "/lovable-uploads/Academy/KAGRA.svg" +- }, { +- name: "LIGO", +- url: "https://www.ligo.caltech.edu/", +- logoUrl: "/lovable-uploads/Academy/LIGO.png" +- }, { +- name: "LSC-Canfranc", +- url: "https://lsc-canfranc.es/", +- logoUrl: "/lovable-uploads/Academy/LSC.png" +- }, { +- name: "Map of the Universe", +- url: "https://mapoftheuniverse.net/", +- logoUrl: "/lovable-uploads/Academy/Universe.jpg" +- }, { +- name: "MasterClass", +- url: "https://masterclass.com/", +- logoUrl: "/lovable-uploads/Academy/MasterClass.jpeg" +- }, { +- name: "MOOC", +- url: "https://mooc.org/", +- logoUrl: "/lovable-uploads/Academy/Mooc.png" +- }, { +- name: "NASA Eyes", +- url: "https://eyes.nasa.gov/apps/solar-system/#/home", +- logoUrl: "https://upload.wikimedia.org/wikipedia/commons/e/e5/NASA_logo.svg" +- }, { +- name: "OEGlobal", +- url: "https://oeglobal.org/", +- logoUrl: "/lovable-uploads/OEGlobalLogo.jpeg" +- }, { +- name: "OpenUpEd", +- url: "https://openuped.eu/", +- logoUrl: "/lovable-uploads/OpenUpEdLogo.jpeg" +- }, { +- name: "Skillshare", +- url: "https://www.skillshare.com/", +- logoUrl: "/lovable-uploads/SkillShareLogo.jpeg" +- }, { +- name: "Udacity", +- url: "https://www.udacity.com/", +- logoUrl: "/lovable-uploads/UdacityLogo.svg" +- }, { +- name: "Udemy", +- url: "https://www.udemy.com/", +- logoUrl: "https://upload.wikimedia.org/wikipedia/commons/e/e3/Udemy_logo.svg" +- }, { +- name: "UNED", +- url: "https://iedra.uned.es/", +- logoUrl: "/lovable-uploads/Academy/UNED.png" +- }, { +- name: "UNESCO", +- url: "https://www.unesco.org/", +- logoUrl: "/lovable-uploads/UnescoLogo.svg" +- }, { +- name: "Unity Learn", +- url: "https://learn.unity.com/", +- logoUrl: "/lovable-uploads/UnityLearnLogo.svg" +- }, { +- name: "Unreal Engine", +- url: "https://www.unrealengine.com/en-US/learn", +- logoUrl: "https://upload.wikimedia.org/wikipedia/commons/d/da/Unreal_Engine_Logo.svg" +- }, { +- name: "UNSSC", +- url: "https://unssc.org/", +- logoUrl: "/lovable-uploads/UNSSCLogo.png" +- }, { +- name: "Virgo-GW", +- url: "https://www.virgo-gw.eu/", +- logoUrl: "/lovable-uploads/VirgoLogo.svg" +- }]; +- return
+- {/* Academy Background Image */} +-
+-
+-
+-
+- Academy Official Logo +-
+-

+- Academy +-

+-

+- Acquire complete attention capabilities to connect, discover and expand knowledge and skills. +- This helps you evolve and propels you towards an optimal experience with fullness of flow, +- as well as increase the benefits of your quality of life and more sustainable gains, with complete wellbeing. +-

+-
++ modules: [ ++ { name: "Ecological Foundations", topics: ["Biodiversity Principles", "Climate Adaptation", "Resource Management", "Mitigation Strategies"] }, ++ { name: "Permaculture Design", topics: ["Syntropic Farming", "Water Harvesting", "Soil Regeneration", "Food Forest Design"] }, ++ { name: "Conscious Living", topics: ["Daily Mudras", "Prana Breathing", "Energy Channels", "Zero-Waste & Nutrition"] }, ++ { name: "Time & Space Management", topics: ["Circadian Rhythms", "Feng Shui", "Digital Minimalism", "Sacred Space Design"] } ++ ] ++ } ++]; + +- {/* Featured Program */} +- +-
+- +-

+- Master Certification Program +-

+- +- Become a certified Explorer and Navigator of the ΔlieπFlΦw $pac€ and unlock exclusive opportunities in our expanding cosmic ecosystem. +- +-
+- {["3 integrated main courses", "8 specialized modules", "Bootcamps with live mentoring sessions", "On-chain NFT credential"].map((feature, index) =>
+-
+-

{feature}

+-
)} +-
+- +-
+-
+-
+- +-
+- +-
++// --- PARTNERS POR CATEGORÍAS (ALFABÉTICO) --- ++const partnerCategories = [ ++ { ++ label: 'ACADEMY PARTNERS', ++ partners: [ ++ { name: "Academia", url: "https://www.academia.edu/", logo: "Academia.svg" }, ++ { name: "Coursera", url: "https://www.coursera.org/", logo: "Coursera.svg" }, ++ { name: "UNESCO", url: "https://www.unesco.org/", logo: "UnescoLogo.svg" } ++ ] ++ }, ++ { ++ label: 'DATAFLOW', ++ partners: [ ++ { name: "Alchemy", url: "https://www.alchemy.com/", logo: "Alchemy.png" }, ++ { name: "Bitcoin", url: "https://bitcoin.org", logo: "Bitcoin.svg" } ++ ] ++ }, ++ { ++ label: 'ECOFLOW', ++ partners: [ ++ { name: "Ecology", url: "https://www.ecology.org/", logo: "Ecology.png" } ++ ] ++ }, ++ { ++ label: 'GAMEFLOW', ++ partners: [ ++ { name: "GameTheory", url: "https://plato.stanford.edu/entries/game-theory/", logo: "GameTheory.png" } ++ ] ++ }, ++ { ++ label: 'HEALTHFLOW', ++ partners: [ ++ { name: "Yazio", url: "https://www.yazio.com/", logo: "Yazio.png" } ++ ] ++ }, ++ { ++ label: 'SPACEFLOW', ++ partners: [ ++ { name: "ESA", url: "https://www.esa.int/", logo: "ESA.svg" }, ++ { name: "NASA Eyes", url: "https://eyes.nasa.gov/", logo: "NASA_logo.svg" }, ++ { name: "Virgo", url: "https://www.virgo-gw.eu/", logo: "VirgoLogo.svg" } ++ ] ++ } ++]; ++ ++const Academy = () => { ++ const [expandedModule, setExpandedModule] = useState(null); ++ ++ return ( ++
++ ++ {/* 1. HERO ORIGINAL (RESTAURADO) */} ++
++ ++
++ Logo ++ ++ ++

++ Academy ++

++ ++

++ "Acquire complete attention capabilities to connect, discover and expand knowledge and skills. Evolve towards an optimal experience with fullness of flow." ++

++ ++
++ Ready to evolve? Join the decentralized learning revolution ++
++
++ ++ {/* 2. MÓDULOS (GRID HORIZONTAL CON EXPANSIÓN) */} ++
++ {academyModules.map((module) => ( ++ ++
setExpandedModule(expandedModule === module.id ? null : module.id)} ++ className="p-10 cursor-pointer" ++ > ++
++
++ {module.icon} +
++ +
++ ++

{module.title}

++

{module.description}

++ ++ ++ {expandedModule === module.id && ( ++ ++ {module.modules.map((sub, i) => ( ++
++

++ {sub.name} ++

++
    ++ {sub.topics.map((topic, j) => ( ++
  • ++ ΓÇó {topic} ++
  • ++ ))} ++
++
++ ))} ++ ++
++ )} ++
+
+- +- +- {/* Course Grid */} +-
+-

+- Main Courses +-

+-

+- Explore our comprehensive training programs +-

+-
+- {courses.map((course, index) => )} +-
+-
++
++ ))} ++
+ +- {/* Enhanced Partners Section */} +-
+-

+- Educational Partners +-

+-

+- We collaborate with the world's best educational platforms +-

+-
+- {partners.map((partner, index) => )} ++ {/* 3. MASTER CERTIFICATION (ORIGINAL) */} ++
++
++
++
++
++ ++
++
++

Master Certification

++

On-chain validation of your evolutionary journey through the flow.

++
+
++ +
++
++
+ +- {/* CTA Section */} +- +- +-

+- Ready to Expand Your Cosmic Knowledge? +-

+- +- Join thousands of space navigators on their journey to master the principles of the decentralized multiverse. +- +-
+- +- ++ {/* 4. PARTNERS (FUNCIONALIDAD TOTAL) */} ++
+-
; ++ ++ ++ ); + }; ++ + export default Academy; diff --git a/analysis.diff b/analysis.diff new file mode 100644 index 0000000..c3cf254 Binary files /dev/null and b/analysis.diff differ diff --git a/contact_163d4b1.tsx b/contact_163d4b1.tsx new file mode 100644 index 0000000..a75ccc4 --- /dev/null +++ b/contact_163d4b1.tsx @@ -0,0 +1,515 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { Button } from '@/components/ui/button'; +import { Input } from '@/components/ui/input'; +import { Textarea } from '@/components/ui/textarea'; +import { Label } from '@/components/ui/label'; +import { Send, Mail, MessageSquare, ChevronRight, Terminal, Shield, Scale, BookOpen, Users, Loader2 } from 'lucide-react'; +import { motion, AnimatePresence } from 'framer-motion'; +import { toast } from 'sonner'; +import { supabase } from '@/integrations/supabase/client'; +import aiTorAvatar from '@/assets/ai-tor-avatar.jpg'; +import { z } from 'zod'; + +// Form validation schema +const contactFormSchema = z.object({ + name: z.string().trim().min(2, "Nombre debe tener al menos 2 caracteres").max(100, "Nombre muy largo"), + email: z.string().trim().email("Email inválido").max(255, "Email muy largo"), + subject: z.string().trim().min(3, "Asunto debe tener al menos 3 caracteres").max(200, "Asunto muy largo"), + message: z.string().trim().min(10, "Mensaje debe tener al menos 10 caracteres").max(2000, "Mensaje muy largo") +}); + +type ContactFormData = z.infer; + +// Social media icons - using official brand SVGs where possible +const SocialIcon: React.FC<{ name: string; className?: string }> = ({ name, className = "w-5 h-5" }) => { + const icons: Record = { + discord: ( + + + + ), + telegram: ( + + + + ), + x: ( + + + + ), + facebook: ( + + + + ), + instagram: ( + + + + ), + linkedin: ( + + + + ), + github: ( + + + + ), + threads: ( + + + + ), + gitbook: ( + + + + ), + tiktok: ( + + + + ), + }; + + return icons[name] || ; +}; + +const Contact: React.FC = () => { + // Form state + const [formData, setFormData] = useState({ + name: '', + email: '', + subject: '', + message: '' + }); + const [isSubmitting, setIsSubmitting] = useState(false); + const [formErrors, setFormErrors] = useState>>({}); + + // Terminal state + const [terminalInput, setTerminalInput] = useState(''); + const [terminalHistory, setTerminalHistory] = useState>([ + { type: 'system', text: '> AlienFlowSpace Communication Terminal v2.0' }, + { type: 'system', text: '> Establishing secure connection...' }, + { type: 'ai', text: '¡Hola, viajero cósmico! Soy AI Tor. ¿En qué puedo ayudarte hoy?' }, + ]); + const [isTyping, setIsTyping] = useState(false); + const terminalRef = useRef(null); + const inputRef = useRef(null); + + // Auto-scroll terminal + useEffect(() => { + if (terminalRef.current) { + terminalRef.current.scrollTop = terminalRef.current.scrollHeight; + } + }, [terminalHistory]); + + const handleFormChange = (e: React.ChangeEvent) => { + const { name, value } = e.target; + setFormData(prev => ({ ...prev, [name]: value })); + // Clear error when user types + if (formErrors[name as keyof ContactFormData]) { + setFormErrors(prev => ({ ...prev, [name]: undefined })); + } + }; + + const handleFormSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + + // Validate form + const result = contactFormSchema.safeParse(formData); + if (!result.success) { + const errors: Partial> = {}; + result.error.errors.forEach(err => { + if (err.path[0]) { + errors[err.path[0] as keyof ContactFormData] = err.message; + } + }); + setFormErrors(errors); + return; + } + + setIsSubmitting(true); + + try { + const { error } = await supabase.functions.invoke('send-contact-email', { + body: formData + }); + + if (error) throw error; + + toast.success('¡Mensaje enviado!', { + description: 'Te responderemos lo antes posible.' + }); + + // Reset form + setFormData({ name: '', email: '', subject: '', message: '' }); + } catch (error) { + console.error('Error sending message:', error); + toast.error('Error al enviar', { + description: 'Por favor intenta de nuevo o contacta por email directamente.' + }); + } finally { + setIsSubmitting(false); + } + }; + + const handleTerminalSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (!terminalInput.trim()) return; + + setTerminalHistory(prev => [...prev, { type: 'user', text: terminalInput }]); + const userMessage = terminalInput.toLowerCase(); + setTerminalInput(''); + setIsTyping(true); + + setTimeout(() => { + let response = ''; + + if (userMessage.includes('dao') || userMessage.includes('gobernanza') || userMessage.includes('votar')) { + response = 'La DAO de AlienFlowSpace opera en Polygon. Puedes participar en votaciones y propuestas a través de Aragon. ¿Quieres que te envíe el enlace directo?'; + } else if (userMessage.includes('nft') || userMessage.includes('colección')) { + response = 'Nuestras colecciones NFT están disponibles en OpenSea: Alien69Flow y AlienFlowSpace. Son tu pasaporte al ecosistema. ¿Te interesa más información sobre los beneficios?'; + } else if (userMessage.includes('ayuda') || userMessage.includes('soporte')) { + response = 'Estoy aquí para ayudarte. Puedes preguntarme sobre: DAO, NFTs, tokenomics, roadmap, partners o cualquier duda técnica. También puedes contactar al equipo por Telegram: @AlienFlow'; + } else if (userMessage.includes('legal') || userMessage.includes('términos')) { + response = 'Para consultas legales, revisa nuestra política de privacidad en /privacy-policy. Para asuntos específicos, contacta: alien69flow@proton.me'; + } else if (userMessage.includes('token') || userMessage.includes('afs') || userMessage.includes('a69')) { + response = 'Los tokens principales son $AFS (AlienFlowSpace) y $A69 (Alien69Flow), ambos en la red Polygon. ¿Quieres información sobre tokenomics o cómo adquirirlos?'; + } else if (userMessage.includes('hola') || userMessage.includes('hi') || userMessage.includes('hello')) { + response = '¡Bienvenido a bordo! 👽 ¿Qué te gustaría saber sobre AlienFlowSpace? Puedo ayudarte con información sobre la DAO, NFTs, tokens, roadmap y mucho más.'; + } else { + response = 'Interesante consulta. Déjame procesar... Para asistencia detallada, te sugiero contactar directamente por Telegram (@AlienFlow) o email. ¿Hay algo específico sobre el ecosistema que pueda explicarte?'; + } + + setTerminalHistory(prev => [...prev, { type: 'ai', text: response }]); + setIsTyping(false); + }, 1500); + }; + + const socialLinks = [ + { icon: 'discord', name: 'Discord', link: '', text: 'discord.gg/alienflow', comingSoon: true }, + { icon: 'telegram', name: 'Telegram', link: 'https://t.me/AlienFlow', text: '@AlienFlow' }, + { icon: 'x', name: 'X (Twitter)', link: 'https://x.com/alien69flow', text: '@alien69flow' }, + { icon: 'facebook', name: 'Facebook', link: 'https://www.facebook.com/Alien69Flow', text: 'Alien69Flow' }, + { icon: 'instagram', name: 'Instagram', link: 'https://www.instagram.com/alien69flow/', text: '@alien69flow' }, + { icon: 'threads', name: 'Threads', link: 'https://threads.net/@alien69flow', text: '@alien69flow' }, + { icon: 'linkedin', name: 'LinkedIn', link: 'https://linkedin.com/company/alienflowspace', text: 'AlienFlowSpace' }, + { icon: 'github', name: 'GitHub', link: 'https://github.com/Alien69Flow', text: 'Alien69Flow' }, + { icon: 'gitbook', name: 'GitBook', link: 'https://alienflowspace.gitbook.io/DAO', text: 'Documentation' }, + { icon: 'tiktok', name: 'TikTok', link: '', text: '@alienflowspace', comingSoon: true }, + ]; + + return ( +
+
+
+ {/* Hero */} + +

+ + Contact + +

+

+ Centro de comunicaciones intergaláctico. Conecta con el equipo y la comunidad. +

+
+ + {/* Contact Form Section */} + +
+

+ + Envíanos un Mensaje +

+
+
+ + + {formErrors.name &&

{formErrors.name}

} +
+
+ + + {formErrors.email &&

{formErrors.email}

} +
+
+ + + {formErrors.subject &&

{formErrors.subject}

} +
+
+ +