Skip to content

Commit 282473f

Browse files
Improve UI UX and chat
- Remove duplicate AI button in ConnectButton - Enhance AI chat UI: responsive sizing, rename to AI Tor, improved header and overlay - Darken global background and add glow/overlay effects - Add layout overlays for dynamic backgrounds and adjust hero breakpoints - Update color tokens and responsive utilities in Tailwind config and CSS X-Lovable-Edit-ID: edt-8a5bfe3a-eb97-44ce-930e-e69549c83886
2 parents adacca8 + 02b5070 commit 282473f

File tree

6 files changed

+88
-48
lines changed

6 files changed

+88
-48
lines changed

src/components/AIChatbot.tsx

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,39 @@ const AIChatbot = () => {
99
const handleOpen = () => {
1010
setIsOpen(true);
1111
toast.info('AI Assistant Loading', {
12-
description: 'Opening Aitor AI Assistant...'
12+
description: 'Opening AI Tor Assistant...'
1313
});
1414
};
1515

1616
return (
1717
<>
18+
{/* Dark overlay for mobile when chat is open */}
19+
<AnimatePresence>
20+
{isOpen && (
21+
<motion.div
22+
initial={{ opacity: 0 }}
23+
animate={{ opacity: 1 }}
24+
exit={{ opacity: 0 }}
25+
onClick={() => setIsOpen(false)}
26+
className="fixed inset-0 z-40 bg-black/60 backdrop-blur-sm sm:hidden"
27+
/>
28+
)}
29+
</AnimatePresence>
30+
1831
{/* Floating Button */}
1932
<motion.button
2033
initial={{ opacity: 0, scale: 0.5 }}
2134
animate={{ opacity: 1, scale: 1 }}
2235
transition={{ delay: 0.5 }}
2336
onClick={handleOpen}
24-
className="fixed bottom-24 right-8 z-40 p-4 bg-gradient-to-br from-alien-gold to-alien-gold-dark backdrop-blur-md border-2 border-alien-gold-light rounded-full text-alien-space-dark hover:scale-110 transition-all duration-300 shadow-2xl hover:shadow-alien-gold/50"
37+
className="fixed bottom-20 right-4 sm:bottom-24 sm:right-8 z-40 p-3 sm:p-4
38+
bg-gradient-to-br from-alien-gold to-alien-gold-dark backdrop-blur-md
39+
border-2 border-alien-gold-light rounded-full text-alien-space-dark
40+
hover:scale-110 transition-all duration-300
41+
shadow-2xl hover:shadow-alien-gold/50 ai-button-pulse"
2542
aria-label="Open AI Assistant"
2643
>
27-
<Brain className="h-7 w-7" />
44+
<Brain className="h-6 w-6 sm:h-7 sm:w-7" />
2845
</motion.button>
2946

3047
{/* Chat Window */}
@@ -35,19 +52,31 @@ const AIChatbot = () => {
3552
animate={{ opacity: 1, y: 0, scale: 1 }}
3653
exit={{ opacity: 0, y: 100, scale: 0.8 }}
3754
transition={{ duration: 0.3 }}
38-
className="fixed bottom-24 right-8 z-50 w-[400px] h-[600px] max-w-[calc(100vw-2rem)] max-h-[calc(100vh-8rem)] bg-alien-space-dark/95 backdrop-blur-xl border-2 border-alien-gold/50 rounded-2xl shadow-2xl overflow-hidden"
55+
className="fixed bottom-4 right-4 sm:bottom-24 sm:right-8 z-50
56+
w-[calc(100vw-2rem)] sm:w-[380px] md:w-[420px]
57+
h-[calc(100vh-6rem)] sm:h-[550px] md:h-[600px]
58+
max-w-[420px] max-h-[calc(100vh-4rem)] sm:max-h-[calc(100vh-8rem)]
59+
bg-alien-space-dark/98 backdrop-blur-xl
60+
border-2 border-alien-gold/40 rounded-2xl
61+
shadow-2xl overflow-hidden chat-glow"
3962
>
4063
{/* Header */}
41-
<div className="bg-gradient-to-r from-alien-gold/20 to-alien-gold-dark/20 border-b border-alien-gold/30 p-4 flex items-center justify-between">
64+
<div className="bg-gradient-to-r from-alien-space-dark via-alien-space/90 to-alien-space-dark
65+
border-b border-alien-gold/30 p-3 sm:p-4 flex items-center justify-between">
4266
<div className="flex items-center gap-3">
43-
<div className="p-2 bg-alien-gold/30 rounded-full">
67+
<div className="p-2 bg-gradient-to-br from-alien-gold/30 to-alien-green/20 rounded-full">
4468
<Brain className="h-5 w-5 text-alien-gold" />
4569
</div>
4670
<div>
47-
<h3 className="text-alien-gold font-bold font-nasalization">
71+
<h3 className="text-alien-gold font-bold font-nasalization text-sm sm:text-base">
4872
AI Assistant
4973
</h3>
50-
<p className="text-xs text-gray-400 font-[Exo]">Aitor AI</p>
74+
<p className="text-xs text-alien-green font-exo">AI Tor</p>
75+
</div>
76+
{/* Status indicator */}
77+
<div className="flex items-center gap-1.5 ml-2">
78+
<span className="w-2 h-2 bg-alien-green rounded-full animate-pulse" />
79+
<span className="text-xs text-muted-foreground hidden sm:inline">Online</span>
5180
</div>
5281
</div>
5382
<button
@@ -62,8 +91,8 @@ const AIChatbot = () => {
6291
{/* iframe Content */}
6392
<iframe
6493
src="https://aitor.lovable.app/"
65-
className="w-full h-[calc(100%-4rem)] border-none"
66-
title="Aitor AI Assistant"
94+
className="w-full h-[calc(100%-3.5rem)] sm:h-[calc(100%-4rem)] border-none bg-alien-space-dark"
95+
title="AI Tor Assistant"
6796
allow="microphone; camera"
6897
onError={() => {
6998
toast.error('AI Assistant Error', {

src/components/Header/ConnectButton.tsx

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -42,29 +42,6 @@ const ConnectButton = () => {
4242

4343
return (
4444
<div className="flex flex-wrap items-center gap-3">
45-
{/* AI Button */}
46-
<a
47-
href="https://aitor.lovable.app/"
48-
target="_blank"
49-
rel="noopener noreferrer"
50-
className="no-underline"
51-
title="AI Assistant"
52-
aria-label="AI Assistant"
53-
tabIndex={-1}
54-
>
55-
<Button
56-
className="
57-
bg-alien-green hover:bg-alien-green-light text-alien-gold rounded-full
58-
flex items-center justify-center p-2 sm:p-3
59-
transition-all duration-200 ease-in-out
60-
hover:shadow-lg hover:scale-110 active:scale-95 focus-visible:ring-2 focus-visible:ring-alien-gold
61-
"
62-
type="button"
63-
>
64-
<Brain className={ICON_SIZE} />
65-
</Button>
66-
</a>
67-
6845
{isConnected && address ? (
6946
<>
7047
<div className="flex flex-col gap-2">

src/components/Hero.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const Hero: React.FC = () => {
4949
initial={{ opacity: 0, y: -20 }}
5050
animate={{ opacity: 1, y: 0 }}
5151
transition={{ duration: 1, ease: 'easeOut' }}
52-
className="text-2xl sm:text-4xl md:text-5xl lg:text-6xl font-nasalization font-extrabold leading-tight text-center hero-title mb-8 sm:mb-12 hero-title"
52+
className="text-xl xs:text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-nasalization font-extrabold leading-tight text-center hero-title mb-6 sm:mb-8 md:mb-12 tracking-tight sm:tracking-normal"
5353
>
5454
<span className="text-alien-green">Δlieπ</span>
5555
<span className="text-alien-gold">FlΦw</span>

src/components/Layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const Layout: React.FC = () => {
4040
className="fixed inset-0 -z-30 pointer-events-none bg-cover bg-center bg-no-repeat bg-fixed"
4141
style={{ backgroundImage: `url('${bgImage}')` }}
4242
/>
43+
{/* Dark overlay for better contrast and readability */}
44+
<div className="fixed inset-0 -z-20 pointer-events-none bg-alien-space-dark/75" />
4345

4446
<div id="google_translate_element" className="hidden" aria-hidden="true"></div>
4547
<Header />

src/index.css

Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,34 +15,35 @@
1515

1616
@layer base {
1717
:root {
18-
--background: 240 33% 5%;
18+
--background: 240 35% 3%;
1919
--foreground: 0 0% 98%;
20-
--card: 240 33% 8%;
20+
--card: 240 35% 6%;
2121
--card-foreground: 0 0% 98%;
22-
--popover: 240 33% 5%;
22+
--popover: 240 35% 4%;
2323
--popover-foreground: 0 0% 98%;
2424
--primary: 48 83% 72%;
2525
--primary-foreground: 240 33% 10%;
2626
--secondary: 142 67% 45%;
2727
--secondary-foreground: 0 0% 98%;
28-
--muted: 240 20% 20%;
29-
--muted-foreground: 240 10% 80%;
28+
--muted: 240 25% 15%;
29+
--muted-foreground: 240 10% 75%;
3030
--accent: 48 83% 72%;
3131
--accent-foreground: 240 33% 10%;
3232
--destructive: 0 84.2% 60.2%;
3333
--destructive-foreground: 0 0% 98%;
34-
--border: 240 20% 16%;
35-
--input: 240 20% 16%;
34+
--border: 240 25% 14%;
35+
--input: 240 25% 14%;
3636
--ring: 48 83% 72%;
3737
--radius: 0.5rem;
38-
--sidebar-background: 240 33% 5%;
38+
--sidebar-background: 240 35% 3%;
3939
--sidebar-foreground: 0 0% 98%;
4040
--sidebar-primary: 48 83% 72%;
4141
--sidebar-primary-foreground: 240 33% 10%;
4242
--sidebar-accent: 142 67% 45%;
4343
--sidebar-accent-foreground: 0 0% 98%;
44-
--sidebar-border: 240 20% 16%;
44+
--sidebar-border: 240 25% 14%;
4545
--sidebar-ring: 48 83% 72%;
46+
--overlay: 240 35% 2%;
4647
}
4748

4849
/* REGLAS CORREGIDAS CON MAYOR ESPECIFICIDAD */
@@ -103,8 +104,9 @@
103104

104105
.readable-glow {
105106
text-shadow:
106-
0 2px 6px hsl(var(--background) / 0.85),
107-
0 0 24px hsl(var(--background) / 0.65);
107+
0 2px 8px rgba(0, 0, 0, 0.95),
108+
0 0 30px rgba(0, 0, 0, 0.8),
109+
0 4px 16px rgba(0, 0, 0, 0.7);
108110
}
109111

110112
.green-glow {
@@ -217,8 +219,8 @@ main {
217219
.card-border {
218220
position: relative;
219221
border-radius: 0.5rem;
220-
background: rgba(17, 17, 25, 0.7);
221-
backdrop-filter: blur(12px);
222+
background: rgba(8, 8, 18, 0.88);
223+
backdrop-filter: blur(16px);
222224
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
223225
}
224226
.card-border::before {
@@ -237,3 +239,31 @@ main {
237239
.card-border:hover::before {
238240
background: linear-gradient(145deg, hsl(142, 67%, 45%), hsl(48, 83%, 72%));
239241
}
242+
243+
/* Chat window glow effect */
244+
.chat-glow {
245+
box-shadow:
246+
0 0 20px rgba(240, 216, 130, 0.12),
247+
0 0 40px rgba(34, 197, 94, 0.08),
248+
0 25px 50px rgba(0, 0, 0, 0.6),
249+
inset 0 1px 0 rgba(240, 216, 130, 0.1);
250+
}
251+
252+
/* AI button pulse animation */
253+
.ai-button-pulse {
254+
animation: ai-pulse 2.5s ease-in-out infinite;
255+
}
256+
257+
@keyframes ai-pulse {
258+
0%, 100% { box-shadow: 0 0 0 0 rgba(240, 216, 130, 0.5), 0 8px 25px rgba(0,0,0,0.4); }
259+
50% { box-shadow: 0 0 0 10px rgba(240, 216, 130, 0), 0 8px 25px rgba(0,0,0,0.4); }
260+
}
261+
262+
/* Dark overlay for sections */
263+
.dark-overlay {
264+
background: linear-gradient(
265+
180deg,
266+
rgba(3, 3, 10, 0.85) 0%,
267+
rgba(3, 3, 10, 0.7) 100%
268+
);
269+
}

tailwind.config.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ export default {
7676
'space': '#0C0C1D',
7777
'space-light': '#1A1A3A',
7878
'space-dark': '#050510',
79-
}
79+
'space-darker': '#030308',
80+
},
81+
overlay: 'rgba(3, 3, 10, 0.8)'
8082
},
8183
borderRadius: {
8284
lg: 'var(--radius)',

0 commit comments

Comments
 (0)