membership
This commit is contained in:
BIN
src/assets/free.png
Normal file
BIN
src/assets/free.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 502 KiB |
@@ -1,9 +1,11 @@
|
||||
import { useState } from 'react';
|
||||
import { motion } from 'framer-motion';
|
||||
import { Wallet, Database, Users, Cloud, Eye, X, Scale, MessageSquare, Bot, Lock, Check } from 'lucide-react';
|
||||
import SocietyTerminal from './SocietyTerminal';
|
||||
|
||||
const MembershipOptions = () => {
|
||||
const [selectedPlan, setSelectedPlan] = useState('explorer');
|
||||
const [selectedPlan, setSelectedPlan] = useState('resident');
|
||||
const [showSocietyTerminal, setShowSocietyTerminal] = useState(false);
|
||||
|
||||
const fadeInUp = {
|
||||
hidden: { opacity: 0, y: 30 },
|
||||
@@ -16,7 +18,7 @@ const MembershipOptions = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<section className="min-h-screen bg-black text-white py-16 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">
|
||||
{/* Toggle Pills - Centered */}
|
||||
<motion.div
|
||||
@@ -28,20 +30,20 @@ const MembershipOptions = () => {
|
||||
<div className="inline-flex bg-zinc-900 rounded-full p-1">
|
||||
<button
|
||||
onClick={() => setSelectedPlan('explorer')}
|
||||
className={`px-6 py-2 rounded-full text-sm font-medium transition-all duration-200 min-w-[120px] ${
|
||||
selectedPlan === 'explorer'
|
||||
? 'bg-gray-300 text-black'
|
||||
: 'text-gray-500 hover:text-gray-300'
|
||||
className={`btn-primary animate-pulse-glow text-sm px-4 py-2 transition-all duration-200 ${
|
||||
selectedPlan === 'explorer'
|
||||
? 'btn-primary-selected'
|
||||
: ''
|
||||
}`}
|
||||
>
|
||||
EXPLORER
|
||||
</button>
|
||||
<button
|
||||
onClick={() => setSelectedPlan('resident')}
|
||||
className={`px-6 py-2 rounded-full text-sm font-medium transition-all duration-200 min-w-[120px] ${
|
||||
selectedPlan === 'resident'
|
||||
? 'bg-gray-300 text-black'
|
||||
: 'text-gray-500 hover:text-gray-300'
|
||||
className={`btn-primary animate-pulse-glow text-sm px-4 py-2 transition-all duration-200 ${
|
||||
selectedPlan === 'resident'
|
||||
? 'btn-primary-selected'
|
||||
: ''
|
||||
}`}
|
||||
>
|
||||
RESIDENT
|
||||
@@ -66,23 +68,12 @@ const MembershipOptions = () => {
|
||||
}}>
|
||||
<div className="flex items-center justify-between gap-12">
|
||||
<div className="flex-1">
|
||||
<h1 className="text-4xl lg:text-5xl font-bold mb-4">Explorer Tier</h1>
|
||||
<h1 className="text-4xl lg:text-5xl font-bold mb-3">Explorer Tier</h1>
|
||||
<div className="mb-3">
|
||||
<span className="text-4xl font-bold">0€</span>
|
||||
<span className="text-gray-400 text-lg">/month</span>
|
||||
</div>
|
||||
<p className="text-gray-400 text-base">Mycelium Network Entry Point</p>
|
||||
</div>
|
||||
|
||||
{/* Mascot/Character Placeholder */}
|
||||
<div className="hidden lg:flex flex-shrink-0 items-center justify-center">
|
||||
<div className="w-64 h-52 flex items-center justify-center">
|
||||
<div className="w-36 h-36 rounded-full flex items-center justify-center" style={{
|
||||
background: 'radial-gradient(circle, rgba(34, 211, 238, 0.3), rgba(6, 182, 212, 0.1))'
|
||||
}}>
|
||||
<span className="text-gray-500 text-sm">Network Mascot</span>
|
||||
</div>
|
||||
<span className="text-4xl font-bold">Free</span>
|
||||
</div>
|
||||
<span className="text-cyan-400 text-sm font-semibold">Mycelium Network Entry Point</span>
|
||||
<p className="text-gray-400 text-sm">No access to full suite</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -93,12 +84,15 @@ const MembershipOptions = () => {
|
||||
Everything you're getting with Explorer Tier
|
||||
</h2>
|
||||
|
||||
<div className="max-w-4xl mx-auto" style={{
|
||||
background: 'linear-gradient(to bottom, #1a1a1a, #0a0a0a)',
|
||||
border: '1px solid rgba(34, 211, 238, 0.25)',
|
||||
padding: '48px 56px',
|
||||
borderRadius: '24px'
|
||||
}}>
|
||||
<div
|
||||
className="mb-12"
|
||||
style={{
|
||||
background: 'linear-gradient(to bottom, #1a1a1a, #0a0a0a)',
|
||||
border: '1px solid rgba(34, 211, 238, 0.35)',
|
||||
padding: '48px 56px',
|
||||
borderRadius: '24px'
|
||||
}}
|
||||
>
|
||||
<div className="space-y-6">
|
||||
{/* Feature 1 */}
|
||||
<div className="flex items-start gap-4">
|
||||
@@ -192,6 +186,16 @@ const MembershipOptions = () => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* CTA Button for Explorer Tier */}
|
||||
<div className="flex justify-center">
|
||||
<motion.button
|
||||
className="w-full btn-primary animate-pulse-glow whitespace-nowrap font-mono"
|
||||
onClick={() => setShowSocietyTerminal(true)}
|
||||
>
|
||||
Explore the Network
|
||||
</motion.button>
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
|
||||
@@ -213,25 +217,12 @@ const MembershipOptions = () => {
|
||||
<div className="flex items-center justify-between gap-12">
|
||||
<div className="flex-1">
|
||||
<h1 className="text-4xl lg:text-5xl font-bold mb-3">Digital Resident</h1>
|
||||
<span className="text-cyan-400 text-sm font-semibold">with legal standing</span>
|
||||
<div className="mt-5 mb-3">
|
||||
<span className="text-4xl font-bold">10$</span>
|
||||
<span className="text-gray-400 text-lg">/month*</span>
|
||||
</div>
|
||||
<p className="text-gray-400 text-sm">120$ for 2 years*</p>
|
||||
<p className="text-gray-400 text-sm">only for Early Adopters - limited</p>
|
||||
</div>
|
||||
|
||||
{/* Mascot/Character Placeholder */}
|
||||
<div className="hidden lg:flex flex-shrink-0 items-center justify-center">
|
||||
<div className="w-64 h-52 flex items-center justify-center">
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<div className="w-20 h-20 rounded-2xl" style={{backgroundColor: 'rgba(22, 163, 74, 0.3)'}}></div>
|
||||
<div className="w-20 h-20 rounded-2xl" style={{backgroundColor: 'rgba(34, 211, 238, 0.3)'}}></div>
|
||||
<div className="w-20 h-20 rounded-2xl" style={{backgroundColor: 'rgba(147, 51, 234, 0.3)'}}></div>
|
||||
<div className="w-20 h-20 rounded-2xl" style={{backgroundColor: 'rgba(234, 88, 12, 0.3)'}}></div>
|
||||
</div>
|
||||
<span className="text-gray-400 text-lg">/month</span>
|
||||
</div>
|
||||
<span className="text-cyan-400 text-sm font-semibold">120$ for 2 year</span>
|
||||
<p className="text-gray-400 text-sm">for limited time for Early Adopters</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -250,12 +241,15 @@ const MembershipOptions = () => {
|
||||
What You Get as a Digital Resident
|
||||
</h2>
|
||||
|
||||
<div style={{
|
||||
background: 'linear-gradient(to bottom, #1a1a1a, #0a0a0a)',
|
||||
border: '1px solid rgba(34, 211, 238, 0.35)',
|
||||
padding: '48px 56px',
|
||||
borderRadius: '24px'
|
||||
}}>
|
||||
<div
|
||||
className="mb-12"
|
||||
style={{
|
||||
background: 'linear-gradient(to bottom, #1a1a1a, #0a0a0a)',
|
||||
border: '1px solid rgba(34, 211, 238, 0.35)',
|
||||
padding: '48px 56px',
|
||||
borderRadius: '24px'
|
||||
}}
|
||||
>
|
||||
<div className="space-y-6">
|
||||
{/* Feature 1 - Legal & Financial */}
|
||||
<div className="flex items-start gap-4">
|
||||
@@ -350,15 +344,10 @@ const MembershipOptions = () => {
|
||||
</div>
|
||||
|
||||
{/* CTA Button */}
|
||||
<div className="mt-8">
|
||||
<div className="flex justify-center">
|
||||
<motion.button
|
||||
className="w-full py-4 text-black text-base font-bold transition-all duration-300"
|
||||
style={{
|
||||
background: 'linear-gradient(to right, rgb(6, 182, 212), rgb(34, 211, 238))',
|
||||
borderRadius: '16px'
|
||||
}}
|
||||
whileHover={{ scale: 1.02 }}
|
||||
whileTap={{ scale: 0.98 }}
|
||||
className="w-full btn-primary animate-pulse-glow whitespace-nowrap font-mono"
|
||||
onClick={() => setShowSocietyTerminal(true)}
|
||||
>
|
||||
Become a Digital Resident
|
||||
</motion.button>
|
||||
@@ -366,9 +355,13 @@ const MembershipOptions = () => {
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
|
||||
{showSocietyTerminal && (
|
||||
<SocietyTerminal showTerminal={showSocietyTerminal} setShowTerminal={setShowSocietyTerminal} />
|
||||
)}
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
export default MembershipOptions;
|
||||
export default MembershipOptions;
|
||||
|
@@ -5,7 +5,6 @@ import nomadImg from '../assets/nomad.png';
|
||||
import creatorImg from '../assets/creator.png';
|
||||
import developerImg from '../assets/developer.png';
|
||||
import communityImg from '../assets/community.png';
|
||||
import mushroomImg from '../assets/mushroom.png';
|
||||
|
||||
const ScrollingCards = () => {
|
||||
const cards = [
|
||||
|
@@ -133,6 +133,12 @@ button {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.btn-primary-selected {
|
||||
background: #00d9ff;
|
||||
color: #000000;
|
||||
border: 2px solid #00d9ff;
|
||||
}
|
||||
|
||||
/* Container widths */
|
||||
.container-width {
|
||||
max-width: 56rem;
|
||||
|
Reference in New Issue
Block a user