Skip to content

Commit d02cabd

Browse files
Added scroll progress indicator
Added a scroll progress bar component to the layout. X-Lovable-Edit-ID: edt-551c5629-a7f6-4e84-9e90-ffc798828dd5 Co-authored-by: Alien69Flow <111972684+Alien69Flow@users.noreply.github.com>
2 parents b7f0c58 + f81184d commit d02cabd

10 files changed

Lines changed: 464 additions & 211 deletions

File tree

.lovable/plan.md

Lines changed: 1 addition & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,2 @@
11

2-
3-
# UI/UX Improvements: Professional DAO-Grade Design
4-
5-
After reviewing the entire codebase, here are the key improvements inspired by top-tier DAOs (Uniswap, Aave, Lido, MakerDAO) and Web3 platforms.
6-
7-
## Priority 1: Homepage Upgrades
8-
9-
### 1.1 Hero Section Enhancement (`src/components/Hero.tsx`)
10-
- Add animated gradient orbs behind the logo (like Uniswap's homepage)
11-
- Add a live "pulse" ring around the logo similar to Lido's staking interface
12-
- Improve CTA button hierarchy: primary button with gradient glow effect, secondary with outline
13-
- Add a subtle animated particle/star field that responds to scroll
14-
15-
### 1.2 Stats Section Revival (`src/components/StatsSection.tsx`)
16-
- Currently returns `null` — restore with animated counter stats (like Aave's dashboard)
17-
- Show: Total Members, Countries, TVL, Proposals Passed
18-
- Use `framer-motion` number counter animation on scroll into view
19-
- Place between Hero and FinancialFreedom sections
20-
21-
### 1.3 Explore Spaces Cards (`src/components/ExploreSpacesSection.tsx`)
22-
- Add glassmorphism hover effect with gradient border animation (like MakerDAO cards)
23-
- Add subtle icon animations on hover
24-
- Add a "badge" showing number of partners per space
25-
26-
## Priority 2: Global UI Polish
27-
28-
### 2.1 Page Transition Animations (`src/App.tsx`)
29-
- Wrap `<Outlet>` with `framer-motion` `AnimatePresence` for smooth page transitions (fade + slide)
30-
- Reference: Uniswap's smooth route transitions
31-
32-
### 2.2 Footer Redesign (`src/components/Footer.tsx`)
33-
- Add a "Powered By" tech stack row (Polygon, Aragon, IPFS icons)
34-
- Add gradient separator line at top (gold → green)
35-
- Improve social icons with hover tooltip labels
36-
37-
### 2.3 Scroll Progress Indicator
38-
- Add a thin gradient progress bar at the very top of the viewport (gold → green)
39-
- Shows how far the user has scrolled — common in premium sites (Medium, Linear)
40-
- New component: `src/components/ScrollProgress.tsx`
41-
42-
## Priority 3: Page-Specific Improvements
43-
44-
### 3.1 About Page (`src/pages/About.tsx`)
45-
- Add a "Team/DAO Structure" visual section with connected nodes diagram (like constellation)
46-
- Improve the Web technologies section with a horizontal timeline instead of stacked cards
47-
48-
### 3.2 Clubs Page (`src/pages/Clubs.tsx`)
49-
- Add a search/filter bar at the top to filter clubs by category
50-
- Add member count animation on scroll
51-
- Add "Coming Soon" badge for clubs under development
52-
53-
### 3.3 CoNetWorKing Page (`src/pages/CoNetWorKing.tsx`)
54-
- Add an interactive network graph visualization header (nodes connecting = partners)
55-
- Currently uses `font-[Atomic Age]` which may not be loaded — standardize to Nasalization
56-
57-
## Summary of Changes
58-
59-
| File | Change |
60-
|------|--------|
61-
| `src/components/Hero.tsx` | Gradient orbs, pulse ring, improved CTAs |
62-
| `src/components/StatsSection.tsx` | Animated counter stats section |
63-
| `src/components/ExploreSpacesSection.tsx` | Glassmorphism cards, badges |
64-
| `src/components/ScrollProgress.tsx` | New scroll progress bar component |
65-
| `src/components/Layout.tsx` | Add ScrollProgress + page transitions |
66-
| `src/components/Footer.tsx` | Tech stack row, gradient separator |
67-
| `src/pages/About.tsx` | Timeline layout for tech sections |
68-
| `src/pages/Clubs.tsx` | Search/filter bar, member animations |
69-
| `src/pages/CoNetWorKing.tsx` | Font fix, header visual improvement |
70-
| `src/App.tsx` | AnimatePresence page transitions |
71-
72-
Total: ~10 files modified, 1 new component. All improvements use existing dependencies (framer-motion, Tailwind, Lucide).
73-
2+
Aquí tienes el plan de acción corregido y ultra-detallado. He inyectado tus instrucciones de jerarquía, la nueva categoría estratégica CashFlow, el orden alfabético y la restauración estética del día 23.Copia este texto y pégalo directamente en el botón "Edit Plan" de Lovable antes de darle a "Approve".Academy Page Redesign Plan: Quantum Restoration & Strategic Expansion1. Hero Header: 23rd Jan RestorationPriority: Restore the high-tech visual identity exactly as it was on January 23rd.Circular Logo Frame: Restore the double-ring circular frame with depth shadows and the "Quantum Glow" (pulsating animation).Typography: Reset title to 'Nasalization' font with the original green/gold gradient and drop-shadow.Subtitle/Quote: Restore the italicized, wide-spaced subtitle with the original golden-muted color palette.Spacing: Do not over-compact. Maintain the original vertical breathing room that felt premium.2. Partners: Logical & Institutional RestructuringOrganize all partners ALPHABETICALLY within these specific categories:CategoryIncluded PartnersACADEMY PARTNERSAcademia, AulaFacil, Coursera, Cursa, edX, GrowGoogle, Hotmart, MasterClass, Mooc, SkillShare, Udacity, UNED.CASHFLOWAzrael Codex (Bitget), Predik.HEALTHFLOWMeslo Ltd, Motus DAO, My DNA Bank, Proton, Yazio.DATAFLOWAlchemy, HackMD, HackerRank.ECOFLOWClimateReanalyzer, OEGlobal, OpenUpEd.GAMEFLOWExplore, Unity Learn.SPACEFLOWESA, KAGRA, LIGO, LSC, NASA, UNESCO, UNSSC, Virgo.3. Asset & Logo IntegrityPriority 1: Use all files from /lovable-uploads/Academy/ (matching the GitHub repository).Priority 2: For missing official logos (NASA, Coursera, Proton, etc.), use high-resolution official Wiki/External URLs as previously implemented.Visuals: Maintain the grayscale to color filter on hover.Links: Ensure every partner has its functional external link.4. UI/UX Polish (Contact Us & Global)Contact Page: Fix the H1 separator by adding horizontal gradient lines (transparent -> alien-green -> transparent) to the sides of the center dot.Chat Bubble: Add the triangular "comic-style" pointer to the message bubble in the Contact section to make it look like a real chat.Interactions: Ensure all cards use the scale-[1.01] transition with a 300ms duration.5. Technical ImplementationUpdate src/pages/Academy.tsx as a single, clean file.Ensure the partnerCategories constant reflects the alphabetical order and the new CashFlow category.6. Proactive ExpansionIntegrate 2 or 3 additional high-prestige institutions in SpaceFlow or HealthFlow (e.g., SpaceX, CERN, or major BioTech labs) if high-quality logos are available, to enhance institutional weight.

src/components/ExploreSpacesSection.tsx

Lines changed: 86 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,69 +2,101 @@ import React from 'react';
22
import { motion } from 'framer-motion';
33
import { Link } from 'react-router-dom';
44
import { Button } from './ui/button';
5-
const spaces = [{
6-
id: 'academy',
7-
title: 'Academy',
8-
description: 'Unlock cosmic knowledge through comprehensive educational resources, courses, and tutorials in blockchain, finance, and sustainability.',
9-
icon: <img src="/lovable-uploads/AcademyLogo.png" alt="Academy" className="h-10 w-10 object-contain" />,
10-
link: '/academy'
11-
}, {
12-
id: 'clubs',
13-
title: 'Clubs',
14-
description: 'Join specialized communities focused on specific interests, technologies, and missions within the AlienFlowSpace ecosystem.',
15-
icon: <img src="/lovable-uploads/ClubLogo.png" alt="Clubs" className="h-10 w-10 object-contain" />,
16-
link: '/clubs'
17-
}, {
18-
id: 'conetworking',
19-
title: 'CoNetWorKing',
20-
description: 'Connect with like-minded individuals, projects, and initiatives across the multiverse to expand your network and opportunities.',
21-
icon: <img src="/lovable-uploads/CoNetWorKingLogo.png" alt="CoNetWorKing" className="h-10 w-10 object-contain" />,
22-
link: '/conetworking'
23-
}];
5+
6+
const spaces = [
7+
{
8+
id: 'academy',
9+
title: 'Academy',
10+
description: 'Unlock cosmic knowledge through comprehensive educational resources, courses, and tutorials in blockchain, finance, and sustainability.',
11+
icon: <img src="/lovable-uploads/AcademyLogo.png" alt="Academy" className="h-10 w-10 object-contain" />,
12+
link: '/academy',
13+
partners: 30,
14+
},
15+
{
16+
id: 'clubs',
17+
title: 'Clubs',
18+
description: 'Join specialized communities focused on specific interests, technologies, and missions within the AlienFlowSpace ecosystem.',
19+
icon: <img src="/lovable-uploads/ClubLogo.png" alt="Clubs" className="h-10 w-10 object-contain" />,
20+
link: '/clubs',
21+
partners: 18,
22+
},
23+
{
24+
id: 'conetworking',
25+
title: 'CoNetWorKing',
26+
description: 'Connect with like-minded individuals, projects, and initiatives across the multiverse to expand your network and opportunities.',
27+
icon: <img src="/lovable-uploads/CoNetWorKingLogo.png" alt="CoNetWorKing" className="h-10 w-10 object-contain" />,
28+
link: '/conetworking',
29+
partners: 80,
30+
},
31+
];
32+
2433
const ExploreSpacesSection = () => {
25-
return <section className="py-24 relative overflow-hidden" data-section="explore-spaces">
34+
return (
35+
<section className="py-24 relative overflow-hidden" data-section="explore-spaces">
2636
<div className="container mx-auto px-4">
27-
<motion.div initial={{
28-
opacity: 0
29-
}} whileInView={{
30-
opacity: 1
31-
}} transition={{
32-
duration: 0.8
33-
}} viewport={{
34-
once: true
35-
}} className="text-center mb-16">
36-
<h2 className="text-4xl mb-4 text-alien-green drop-shadow-[0_0_30px_rgba(3,255,25,0.6)] font-nasalization font-extrabold">Explore Spaces</h2>
37+
<motion.div
38+
initial={{ opacity: 0 }}
39+
whileInView={{ opacity: 1 }}
40+
transition={{ duration: 0.8 }}
41+
viewport={{ once: true }}
42+
className="text-center mb-16"
43+
>
44+
<h2 className="text-4xl mb-4 text-alien-green drop-shadow-[0_0_30px_rgba(3,255,25,0.6)] font-nasalization font-extrabold">
45+
Explore Spaces
46+
</h2>
3747
<p className="max-w-3xl mx-auto font-bold text-alien-gold text-xl">
3848
Discover specialized environments designed to enhance your journey through the cosmos
3949
</p>
4050
</motion.div>
4151

4252
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
43-
{spaces.map((space, index) => <motion.div key={space.id} initial={{
44-
opacity: 0,
45-
y: 20
46-
}} whileInView={{
47-
opacity: 1,
48-
y: 0
49-
}} transition={{
50-
duration: 0.5,
51-
delay: index * 0.2
52-
}} viewport={{
53-
once: true
54-
}} className="card-border p-8 flex flex-col items-center text-center h-full">
55-
<div className="mb-6 p-4 bg-alien-space-dark rounded-full">
56-
{space.icon}
53+
{spaces.map((space, index) => (
54+
<motion.div
55+
key={space.id}
56+
initial={{ opacity: 0, y: 20 }}
57+
whileInView={{ opacity: 1, y: 0 }}
58+
transition={{ duration: 0.5, delay: index * 0.2 }}
59+
viewport={{ once: true }}
60+
className="group relative"
61+
>
62+
{/* Glassmorphism card */}
63+
<div className="relative p-8 flex flex-col items-center text-center h-full rounded-xl bg-alien-space-dark/60 backdrop-blur-xl border border-alien-gold/20 overflow-hidden transition-all duration-500 hover:border-alien-gold/50 hover:shadow-[0_0_40px_rgba(240,216,130,0.1)]">
64+
{/* Animated gradient border on hover */}
65+
<div className="absolute inset-0 rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none"
66+
style={{
67+
background: 'linear-gradient(145deg, rgba(240,216,130,0.1), rgba(34,197,94,0.1))',
68+
}}
69+
/>
70+
71+
{/* Partner badge */}
72+
<div className="absolute top-4 right-4 bg-alien-green/20 text-alien-green text-xs font-nasalization px-2.5 py-1 rounded-full border border-alien-green/30 backdrop-blur-sm">
73+
{space.partners}+ partners
74+
</div>
75+
76+
<motion.div
77+
className="mb-6 p-4 bg-alien-space-dark rounded-full border border-alien-gold/20 relative z-10"
78+
whileHover={{ scale: 1.1, rotate: 5 }}
79+
transition={{ duration: 0.3 }}
80+
>
81+
{space.icon}
82+
</motion.div>
83+
84+
<h3 className="text-2xl font-bold mb-4 text-alien-gold font-nasalization relative z-10">
85+
{space.title}
86+
</h3>
87+
<p className="text-gray-300 mb-8 flex-grow relative z-10">{space.description}</p>
88+
<Link to={space.link} className="relative z-10">
89+
<Button className="bg-gradient-to-r from-alien-green to-alien-green-light text-alien-space-dark font-extrabold font-nasalization rounded-full px-6 hover:shadow-[0_0_20px_rgba(34,197,94,0.3)] transition-all duration-300">
90+
Enter {space.title}
91+
</Button>
92+
</Link>
5793
</div>
58-
<h3 className="text-2xl font-bold mb-4 text-alien-gold font-nasalization">{space.title}</h3>
59-
<p className="text-gray-300 mb-8 flex-grow">{space.description}</p>
60-
<Link to={space.link}>
61-
<Button className="bg-alien-green hover:bg-alien-green-light text-alien-space-dark font-extrabold text-[alien-gold-dark] text-inherit">
62-
Enter {space.title}
63-
</Button>
64-
</Link>
65-
</motion.div>)}
94+
</motion.div>
95+
))}
6696
</div>
6797
</div>
68-
</section>;
98+
</section>
99+
);
69100
};
70-
export default ExploreSpacesSection;
101+
102+
export default ExploreSpacesSection;

src/components/Footer.tsx

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import React from 'react';
22
import { X, Facebook, Instagram, Mail, Disc, Send, Github, Linkedin, MessageSquare, BookOpen } from 'lucide-react';
33
import { Link } from 'react-router-dom';
44
import { getCurrentChineseYear } from '@/lib/chineseCalendar';
5+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './ui/tooltip';
56

67
const Footer = () => {
78
const chineseYear = getCurrentChineseYear();
89
const currentYear = new Date().getFullYear();
910

10-
// 1. Redes Sociales Ordenadas Alfabéticamente
1111
const socialLinks = [
1212
{ href: "https://discord.gg/alienflowspace", icon: Disc, label: "Discord", color: "#5865F2" },
1313
{ href: "mailto:info@alienflow.space", icon: Mail, label: "Email", color: "#F0D882" },
@@ -21,7 +21,6 @@ const Footer = () => {
2121
{ href: "https://x.com/alien69flow", icon: X, label: "X (Twitter)", color: "#1DA1F2" }
2222
].sort((a, b) => a.label.localeCompare(b.label));
2323

24-
// 2. Navegación Ordenada Alfabéticamente (Sin duplicar Home si no quieres)
2524
const navLinks = [
2625
{ to: "/about", label: "About" },
2726
{ to: "/academy", label: "Academy" },
@@ -32,8 +31,18 @@ const Footer = () => {
3231
{ to: "/", label: "Home" }
3332
].sort((a, b) => a.label.localeCompare(b.label));
3433

34+
const poweredBy = [
35+
{ name: 'Polygon', logo: 'https://cryptologos.cc/logos/polygon-matic-logo.svg', url: 'https://polygon.technology/' },
36+
{ name: 'Aragon', logo: '/lovable-uploads/AragonDAOLogo.svg', url: 'https://aragon.org/' },
37+
{ name: 'Ethereum', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.svg', url: 'https://ethereum.org/' },
38+
{ name: 'IPFS', logo: 'https://upload.wikimedia.org/wikipedia/commons/1/18/Ipfs-logo-1024-ice-text.png', url: 'https://ipfs.tech/' },
39+
];
40+
3541
return (
36-
<footer className="bg-gradient-to-br from-alien-space-dark/95 to-alien-space/90 backdrop-blur-md border-t-2 border-alien-gold/30 py-8 mt-auto relative z-30">
42+
<footer className="relative bg-gradient-to-br from-alien-space-dark/95 to-alien-space/90 backdrop-blur-md border-t-0 py-8 mt-auto z-30">
43+
{/* Gradient separator */}
44+
<div className="absolute top-0 left-0 right-0 h-[2px] bg-gradient-to-r from-transparent via-alien-gold to-alien-green opacity-60" />
45+
3746
<div className="container mx-auto px-4">
3847
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
3948

@@ -46,13 +55,22 @@ const Footer = () => {
4655
Uniting diverse blockchain domains under a cosmic governance structure.
4756
Building the future of decentralized finance across the multiverse.
4857
</p>
49-
<div className="flex gap-2 pt-2 flex-wrap">
50-
{socialLinks.map((social, i) => (
51-
<a key={i} href={social.href} target="_blank" rel="noopener noreferrer" className="p-2 transition-all hover:scale-110 border border-alien-gold/20 rounded-lg bg-black/20" style={{ color: social.color }}>
52-
<social.icon size={18} />
53-
</a>
54-
))}
55-
</div>
58+
<TooltipProvider delayDuration={200}>
59+
<div className="flex gap-2 pt-2 flex-wrap">
60+
{socialLinks.map((social, i) => (
61+
<Tooltip key={i}>
62+
<TooltipTrigger asChild>
63+
<a href={social.href} target="_blank" rel="noopener noreferrer" className="p-2 transition-all hover:scale-110 border border-alien-gold/20 rounded-lg bg-black/20 hover:bg-black/40" style={{ color: social.color }}>
64+
<social.icon size={18} />
65+
</a>
66+
</TooltipTrigger>
67+
<TooltipContent side="top" className="bg-alien-space-dark border-alien-gold/30 text-alien-gold text-xs">
68+
{social.label}
69+
</TooltipContent>
70+
</Tooltip>
71+
))}
72+
</div>
73+
</TooltipProvider>
5674
</div>
5775

5876
<div>
@@ -78,7 +96,26 @@ const Footer = () => {
7896
</div>
7997
</div>
8098

81-
<div className="border-t border-alien-gold/20 mt-8 pt-6 flex flex-col lg:flex-row justify-between items-center gap-4">
99+
{/* Powered By row */}
100+
<div className="mt-8 pt-6 border-t border-alien-gold/10">
101+
<p className="text-center text-xs text-muted-foreground font-nasalization mb-4 uppercase tracking-widest">Powered By</p>
102+
<div className="flex justify-center items-center gap-6 flex-wrap">
103+
{poweredBy.map((tech) => (
104+
<a
105+
key={tech.name}
106+
href={tech.url}
107+
target="_blank"
108+
rel="noopener noreferrer"
109+
className="flex items-center gap-2 opacity-50 hover:opacity-100 transition-opacity duration-300"
110+
>
111+
<img src={tech.logo} alt={tech.name} className="h-6 w-6 object-contain" />
112+
<span className="text-xs text-muted-foreground font-nasalization hidden sm:inline">{tech.name}</span>
113+
</a>
114+
))}
115+
</div>
116+
</div>
117+
118+
<div className="border-t border-alien-gold/10 mt-6 pt-6 flex flex-col lg:flex-row justify-between items-center gap-4">
82119
<p className="text-[10px] font-nasalization text-alien-green/50 uppercase tracking-widest">
83120
© {currentYear} AlienFlowSpace DAO • Cosmic Governance Enabled
84121
</p>

0 commit comments

Comments
 (0)