Improvements & changes
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 150 KiB |
@@ -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 */}
|
||||||
|
<span
|
||||||
|
className={`inline-block text-xs font-semibold px-3 py-1 rounded-full mb-3 ${
|
||||||
|
roleBadgeClass[member.role] || "bg-muted text-muted-foreground"
|
||||||
|
}`}
|
||||||
|
>
|
||||||
{member.role}
|
{member.role}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
|
||||||
<h3 className="text-xl font-semibold text-foreground mb-1 tracking-tight">
|
<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
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user