Improvements & changes

This commit is contained in:
Ichitux
2026-03-12 01:14:45 +01:00
parent 8dc7353554
commit eab4e7df71
4 changed files with 29 additions and 28 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View File

@@ -10,17 +10,15 @@ const roleBadgeClass: Record<string, string> = {
}; };
const StaffSection = () => ( const StaffSection = () => (
<section id="staff" className="section-padding relative overflow-hidden"> <section id="staff" className="section-padding bg-background">
{/* subtle radial background to match site accents */} <div className="container mx-auto">
<div className="pointer-events-none absolute inset-0 bg-gradient-to-b from-background to-background/60" />
<div className="relative container mx-auto w-[90%]">
<motion.div <motion.div
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }} whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }} viewport={{ once: true }}
className="text-center mb-12" className="text-center mb-12"
> >
<h2 className="font-display text-4xl md:text-5xl font-bold bg-gradient-to-r from-primary via-secondary to-accent bg-clip-text text-transparent mb-4"> <h2 className="font-display text-4xl md:text-5xl font-bold text-gradient mb-4">
Staff del Evento Staff del Evento
</h2> </h2>
<p className="text-muted-foreground max-w-2xl mx-auto"> <p className="text-muted-foreground max-w-2xl mx-auto">
@@ -28,50 +26,53 @@ const StaffSection = () => (
</p> </p>
</motion.div> </motion.div>
<div className="mx-auto grid sm:grid-cols-2 lg:grid-cols-3 gap-6"> <div className="grid sm:grid-cols-2 lg:grid-cols-4 gap-6">
{STAFF.slice(0, 1).map((member, i) => ( {STAFF.map((member, i) => (
<motion.div <motion.div
key={member.id} key={member.id}
initial={{ opacity: 0, y: 30 }} initial={{ opacity: 0, y: 30 }}
whileInView={{ opacity: 1, y: 0 }} whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }} viewport={{ once: true }}
transition={{ delay: i * 0.1 }} transition={{ delay: i * 0.1 }}
className="group rounded-2xl border border-border/50 bg-card/80 backdrop-blur supports-[backdrop-filter]:bg-card/60 shadow-sm hover:shadow-xl transition-all duration-300 mx-auto w-full max-w-xl p-5" className="bg-card rounded-2xl overflow-hidden shadow-card hover:shadow-elevated transition-shadow group"
> >
{/* Foto */} {/* Foto */}
<div className="relative aspect-square rounded-xl overflow-hidden bg-muted"> <div className="aspect-square bg-muted flex items-center justify-center overflow-hidden">
{member.image ? ( {member.image ? (
<img <img
src={member.image} src={member.image}
alt={member.name} alt={member.name}
className="w-full h-full object-cover transition-transform duration-500 group-hover:scale-105" className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"
/> />
) : ( ) : (
<div className="w-full h-full flex items-center justify-center"> <User className="w-16 h-16 text-muted-foreground/40" />
<User className="w-16 h-16 text-muted-foreground" />
</div>
)} )}
{/* top gradient sheen */}
<div className="pointer-events-none absolute inset-x-0 top-0 h-24 bg-gradient-to-b from-background/40 to-transparent" />
</div> </div>
<div className="text-center mt-5">
<div className="mb-2 flex items-center justify-center gap-2"> <div className="p-5">
<span className={`inline-flex items-center rounded-full px-3 py-1 text-xs font-medium ${roleBadgeClass[member.role] ?? "bg-muted text-muted-foreground"}`}> {/* Badge de rol */}
{member.role} <span
</span> className={`inline-block text-xs font-semibold px-3 py-1 rounded-full mb-3 ${
</div> roleBadgeClass[member.role] || "bg-muted text-muted-foreground"
<h3 className="text-xl font-semibold text-foreground mb-1 tracking-tight"> }`}
>
{member.role}
</span>
<h3 className="font-display text-lg font-bold text-foreground mb-2">
{member.name} {member.name}
</h3> </h3>
<p className="text-sm text-muted-foreground mb-4"> <p className="text-sm text-muted-foreground mb-4">
{member.subtitle ?? ""} {member.description}
</p> </p>
{member.instagram && (
{/* Redes sociales */}
{member.socials?.instagram && (
<a <a
href={member.instagram} href={member.socials.instagram}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm text-foreground/90 hover:text-foreground hover:border-primary/50 hover:bg-primary/5 transition-colors" className="inline-flex items-center gap-1.5 text-sm text-primary hover:text-primary/80 transition-colors"
> >
<Instagram className="w-4 h-4" /> <Instagram className="w-4 h-4" />
Instagram Instagram

View File

@@ -24,7 +24,7 @@ export default {
background: "hsl(var(--background))", background: "hsl(var(--background))",
foreground: "hsl(var(--foreground))", foreground: "hsl(var(--foreground))",
primary: { primary: {
DEFAULT: "hsl(var(--primary))", DEFAULT: "hsl(230.5, 57.6%, 74.1%);",
foreground: "hsl(var(--primary-foreground))", foreground: "hsl(var(--primary-foreground))",
}, },
secondary: { secondary: {

View File

@@ -6,7 +6,7 @@ import { componentTagger } from "lovable-tagger";
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({ export default defineConfig(({ mode }) => ({
server: { server: {
origin: "http://0.0.0.0:8080", host: "0.0.0.0",
port: 8080, port: 8080,
hmr: { hmr: {
overlay: false, overlay: false,