This commit is contained in:
Emre
2025-09-30 14:45:10 +03:00
parent dd19d9c377
commit 830e15363a
7 changed files with 93 additions and 12 deletions

View File

@@ -6,7 +6,8 @@ import CorePillars from './components/CorePillars';
import Foundations from './components/Foundations'; import Foundations from './components/Foundations';
import ForYou from './components/ForYou'; import ForYou from './components/ForYou';
import CallToAction from './components/CallToAction'; import CallToAction from './components/CallToAction';
import ComingSoon from './components/ComingSoon'; import MembershipOptions from './components/MembershipOptions';
import Referral from './components/referral';
const Home = () => ( const Home = () => (
<div className="App"> <div className="App">
@@ -18,13 +19,20 @@ const Home = () => (
</div> </div>
); );
const MembershipPage = () => (
<div className="App">
<MembershipOptions />
<Referral />
</div>
);
function App() { function App() {
return ( return (
<Router> <Router>
<Header /> {/* Render Header here */} <Header /> {/* Render Header here */}
<Routes> <Routes>
<Route path="/" element={<Home />} /> <Route path="/" element={<Home />} />
<Route path="/membership" element={<ComingSoon />} /> <Route path="/membership" element={<MembershipPage />} />
</Routes> </Routes>
</Router> </Router>
); );

BIN
src/assets/referral.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 KiB

View File

@@ -1,8 +0,0 @@
import React from 'react';
import MembershipOptions from './MembershipOptions';
const ComingSoon = () => {
return <MembershipOptions />;
};
export default ComingSoon;

View File

@@ -75,7 +75,7 @@ const Hero = () => {
> >
> ENTER THE NETWORK > ENTER THE NETWORK
</motion.button> </motion.button>
<a href="https://docs.ourworld.tf/mycelium_society_docs/docs/" target="_blank" rel="noopener noreferrer"> <a href="https://docs.ourworld.tf/mycelium_society/docs/" target="_blank" rel="noopener noreferrer">
<motion.button <motion.button
className="btn-primary" className="btn-primary"
whileHover={{ scale: 1.05 }} whileHover={{ scale: 1.05 }}

View File

@@ -20,6 +20,13 @@ const MembershipOptions = () => {
return ( return (
<section className="min-h-screen bg-black text-white py-20 px-4" style={{fontFamily: 'Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}}> <section className="min-h-screen bg-black text-white py-20 px-4" style={{fontFamily: 'Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}}>
<div className="max-w-6xl mx-auto"> <div className="max-w-6xl mx-auto">
<motion.h1
className="text-5xl lg:text-6xl font-bold text-center mb-16 leading-tight"
initial={{ opacity: 0, y: -30 }}
animate={{ opacity: 1, y: 0, transition: { duration: 0.6, delay: 0.2 } }}
>
Membership
</motion.h1>
{/* Toggle Pills - Centered */} {/* Toggle Pills - Centered */}
<motion.div <motion.div
className="flex justify-center mb-12" className="flex justify-center mb-12"

View File

@@ -27,7 +27,7 @@ function SocietyTerminal({ showTerminal, setShowTerminal }) {
} }
} else { } else {
setTimeout(() => { setTimeout(() => {
window.location.href = 'https://docs.ourworld.tf/mycelium_society_docs/docs/'; window.location.href = 'https://docs.ourworld.tf/mycelium_society/docs/';
}, 1000); }, 1000);
} }
} }

View File

@@ -0,0 +1,74 @@
import { motion } from 'framer-motion';
import { useInView } from 'framer-motion';
import { useRef } from 'react';
import referralImage from '../assets/referral.png'; // Import the new image
const Referral = () => {
const ref = useRef(null);
const isInView = useInView(ref, { once: true, margin: "-100px" });
const fadeInUp = {
hidden: { opacity: 0, y: 50 },
visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }
};
const staggerContainer = {
visible: { transition: { staggerChildren: 0.3 } }
};
return (
<section ref={ref} className="section-padding bg-dark-gradient">
<motion.div
className="w-full"
initial="hidden"
animate={isInView ? "visible" : "hidden"}
variants={staggerContainer}
>
{/* Section Header */}
<div className="container-width text-center mb-16">
<motion.h2
className="text-4xl md:text-5xl font-bold text-white mb-8"
variants={fadeInUp}
>
Referral Program
</motion.h2>
<motion.p
className="text-lg md:text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto"
variants={fadeInUp}
>
Mycelium Society grows through its members. As a paid Digital Resident, you can invite others to join and help expand the community while earning rewards for successful referrals.
</motion.p>
</div>
{/* Referral Image */}
<motion.div variants={fadeInUp} className="container-width flex justify-center mb-16">
<img src={referralImage} alt="Referral Program" className="max-w-3xl mx-auto h-auto" />
</motion.div>
{/* Referral Details Block */}
<motion.div variants={fadeInUp} className="container-width max-w-4xl mx-auto bg-gray-800 p-8 rounded-lg shadow-lg border border-gray-700">
<div className="space-y-8">
<motion.div variants={fadeInUp} className="border-l-2 border-bright-cyan pl-6 py-4">
<p className="text-lg text-gray-300 leading-relaxed">
<span className="text-teal-400 mr-2"></span> Digital Residents receive $20 credited to their resident wallet for each new member they invite who upgrades to paid membership.
</p>
</motion.div>
<motion.div variants={fadeInUp} className="border-l-2 border-bright-cyan pl-6 py-4">
<p className="text-lg text-gray-300 leading-relaxed">
<span className="text-teal-400 mr-2"></span> Rewards are capped at 20 referrals per resident (maximum $400).
</p>
</motion.div>
<motion.div variants={fadeInUp} className="border-l-2 border-bright-cyan pl-6 py-4">
<p className="text-lg text-gray-300 leading-relaxed">
<span className="text-teal-400 mr-2"></span> Referral credits are applied once new members complete their paid residency registration.
</p>
</motion.div>
</div>
</motion.div>
</motion.div>
</section>
);
};
export default Referral;