fix(parvagues): Address UI regressions and outstanding issues

This commit provides fixes for issues identified in your feedback following the initial ParVagues subsite UI/UX enhancements.

Key corrections include:

1.  **Header Rewrite:**
    *   The header component (`ParVaguesHeader.js`) was further refined to ensure a strict single-row layout.
    *   Logo is fixed to the top-left, navigation links are spaced out in the center, and the "Book" button is fixed to the top-right.
    *   Header height and element spacing were adjusted for a thinner appearance.

2.  **"Potentiel / Composition / Performance" Interactivity:**
    *   I verified that the highlighting of the section heading (Potentiel, Composition, Performance) correctly corresponds to the active section and displayed image carousel.
    *   I confirmed that the entire clickable block for each section (title and description) correctly displays a link pointer cursor on hover. (I confirmed no code changes were needed here, the existing implementation was correct).

3.  **Event Page Image Gallery:**
    *   I corrected a critical positioning issue where gallery images were rendering outside the page flow. I added `position: relative` to the gallery container (`galleryGrid`) to properly scope absolutely positioned child elements (masonry items).
    *   I verified that images render as fixed-size cards within the gallery section and that modal functionality (on-click, close button, Esc key) is working as intended.

4.  **Footer Logo Centering Regression:**
    *   The footer logo is now correctly centered within its designated middle column. I added `flex justify-center` to the logo's immediate wrapper `div` to ensure horizontal centering.

These changes address the specific points you raised in the feedback, aiming to deliver the intended UI behavior and visual presentation for the ParVagues subsite.
parent 8d346c90
...@@ -34,8 +34,8 @@ export default function ParVaguesFooter() { ...@@ -34,8 +34,8 @@ export default function ParVaguesFooter() {
</div> </div>
{/* Logo Column (New) */} {/* Logo Column (New) */}
<div className="md:col-span-1 flex flex-col items-center justify-center"> {/* Centering logo */} <div className="md:col-span-1 flex flex-col items-center justify-center"> {/* This centers the block below */}
<div className="relative mb-4"> <div className="relative mb-4 flex justify-center"> {/* This ensures the image within this block is centered */}
<Image <Image
src="/images/parvagues/logo.png" src="/images/parvagues/logo.png"
alt="ParVagues Logo" alt="ParVagues Logo"
......
...@@ -33,22 +33,22 @@ export default function ParVaguesHeader({ eventName = null, title = null }) { ...@@ -33,22 +33,22 @@ export default function ParVaguesHeader({ eventName = null, title = null }) {
return ( return (
<header className={`sticky top-0 left-0 w-full z-50 bg-black/80 backdrop-blur-md border-b border-[#d900ff]/20 ${styles.headerContainer}`}> <header className={`sticky top-0 left-0 w-full z-50 bg-black/80 backdrop-blur-md border-b border-[#d900ff]/20 ${styles.headerContainer}`}>
<div className={`${styles.neonGradient} opacity-5 absolute inset-0`}></div> <div className={`${styles.neonGradient} opacity-5 absolute inset-0`}></div>
<div className="max-w-full mx-auto px-4 flex items-center justify-between h-16"> {/* Reduced height here, e.g. h-16 for 4rem */} <div className="max-w-full mx-auto px-4 sm:px-6 flex items-center justify-between h-16"> {/* Adjusted padding for responsiveness */}
{/* Logo and Title */} {/* Logo and Title */}
<Link href="/parvagues" className="flex items-center group"> <Link href="/parvagues" className="flex items-center group flex-shrink-0"> {/* Added flex-shrink-0 */}
<div className="h-10 w-10 relative flex-shrink-0"> {/* Ensure logo size is controlled */} <div className="h-10 w-10 relative"> {/* Simplified logo div */}
<Image <Image
src="/images/parvagues/logo.png" src="/images/parvagues/logo.png"
alt="ParVagues Logo" alt="ParVagues Logo"
width={40} // Adjusted size width={40}
height={40} // Adjusted size height={40}
className="object-contain transition-all duration-300 group-hover:filter group-hover:drop-shadow-[0_0_8px_rgba(217,0,255,0.7)]" className="object-contain transition-all duration-300 group-hover:filter group-hover:drop-shadow-[0_0_8px_rgba(217,0,255,0.7)]"
/> />
</div> </div>
<div className="overflow-hidden ml-3"> {/* Increased margin slightly */} <div className="overflow-hidden ml-3">
<span <span
className={`text-white font-bold transition-all duration-500 ${ className={`text-white font-bold transition-all duration-500 whitespace-nowrap ${ /* Added whitespace-nowrap */
showInHeader || !isHome ? 'opacity-100 translate-y-0' : 'opacity-0 -translate-y-full' // Adjusted animation showInHeader || !isHome ? 'opacity-100 translate-y-0' : 'opacity-0 -translate-y-full'
}`} }`}
style={{ style={{
textShadow: '0 0 5px rgba(217, 0, 255, 0.7), 0 0 10px rgba(217, 0, 255, 0.5)', textShadow: '0 0 5px rgba(217, 0, 255, 0.7), 0 0 10px rgba(217, 0, 255, 0.5)',
...@@ -61,14 +61,15 @@ export default function ParVaguesHeader({ eventName = null, title = null }) { ...@@ -61,14 +61,15 @@ export default function ParVaguesHeader({ eventName = null, title = null }) {
</Link> </Link>
{/* Navigation Links */} {/* Navigation Links */}
<nav className="flex-grow flex justify-center items-center space-x-6 text-sm tracking-wider"> {/* Ensure this nav doesn't cause overflow issues on very small screens - links might need to wrap or hide */}
<Link href="/parvagues#music" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors`}> <nav className="flex-grow flex justify-center items-center space-x-4 md:space-x-6 text-sm tracking-wider mx-2 sm:mx-4"> {/* Added horizontal margin */}
<Link href="/parvagues#music" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors px-2 py-1 sm:px-3`}> {/* Added padding for touch targets */}
Music Music
</Link> </Link>
<Link href="/parvagues#performances" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors`}> <Link href="/parvagues#performances" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors px-2 py-1 sm:px-3`}>
Performances Performances
</Link> </Link>
<Link href="/parvagues#about" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors`}> <Link href="/parvagues#about" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors px-2 py-1 sm:px-3`}>
About About
</Link> </Link>
</nav> </nav>
...@@ -76,9 +77,9 @@ export default function ParVaguesHeader({ eventName = null, title = null }) { ...@@ -76,9 +77,9 @@ export default function ParVaguesHeader({ eventName = null, title = null }) {
{/* CTA button */} {/* CTA button */}
<Link <Link
href="/book" href="/book"
className={`${styles.outlineButton} ${styles.bookButton} py-2 px-4 text-sm flex items-center whitespace-nowrap`} // Added custom class for specific styling if needed className={`${styles.outlineButton} ${styles.bookButton} py-2 px-3 sm:px-4 text-xs sm:text-sm flex items-center whitespace-nowrap flex-shrink-0`} /* Adjusted padding, font size, added flex-shrink-0 */
> >
<FaEnvelope className="mr-2 flex-shrink-0" /> <FaEnvelope className="mr-1 sm:mr-2 h-3 w-3 sm:h-4 sm:w-4" /> {/* Responsive icon size */}
<span>Book</span> <span>Book</span>
</Link> </Link>
</div> </div>
......
...@@ -168,13 +168,14 @@ ...@@ -168,13 +168,14 @@
box-shadow: 0 10px 20px rgba(217, 0, 255, 0.3); box-shadow: 0 10px 20px rgba(217, 0, 255, 0.3);
} }
/* This is the .outlineButton style used by the header's Book button */
.outlineButton { .outlineButton {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 1rem 2rem; /* padding is controlled by Tailwind classes in the component (py-2 px-3 sm:px-4) */
border-radius: 0.5rem; border-radius: 0.375rem; /* Tailwind's rounded-md */
font-weight: 600; font-weight: 500; /* Tailwind's font-medium equivalent */
text-decoration: none; text-decoration: none;
color: white; color: white;
border: 1px solid rgba(217, 0, 255, 0.5); border: 1px solid rgba(217, 0, 255, 0.5);
...@@ -188,8 +189,8 @@ ...@@ -188,8 +189,8 @@
background: rgba(217, 0, 255, 0.2); background: rgba(217, 0, 255, 0.2);
border-color: var(--neon-high); border-color: var(--neon-high);
color: var(--neon-high); color: var(--neon-high);
transform: translateY(-2px); transform: translateY(-1px); /* Subtle lift */
box-shadow: 0 5px 15px rgba(217, 0, 255, 0.2); box-shadow: 0 3px 10px rgba(217, 0, 255, 0.2); /* Subtle shadow */
} }
.sectionContainer { .sectionContainer {
...@@ -572,11 +573,14 @@ img.live-gallery-image { ...@@ -572,11 +573,14 @@ img.live-gallery-image {
display: flex; display: flex;
margin-left: -1rem; /* gutter size offset */ margin-left: -1rem; /* gutter size offset */
width: auto; width: auto;
position: relative; /* Added for Masonry to correctly position its items */
} }
.galleryGridColumn { .galleryGridColumn {
padding-left: 1rem; /* gutter size */ padding-left: 1rem; /* gutter size */
background-clip: padding-box; background-clip: padding-box;
/* Ensure columns establish a formatting context for their children if needed */
/* display: block; /* This is default for divs, but can be explicit */
} }
.galleryCard { .galleryCard {
...@@ -641,21 +645,24 @@ img.live-gallery-image { ...@@ -641,21 +645,24 @@ img.live-gallery-image {
} }
/* Styles for the updated ParVaguesHeader */ /* Styles for the ParVaguesHeader */
.headerContainer { .headerContainer {
/* Ensuring vertical alignment for items if needed, though Tailwind's `items-center` on the child div should handle this. */ /* This class is applied to the <header> element. */
/* Example: display: flex; align-items: center; */ /* Tailwind classes already handle sticky, z-index, background, border. */
/* Height is controlled by Tailwind's h-16 class in the component */ /* No specific additional styles needed here for the new layout. */
} }
.navLink { .navLink {
/* Individual styling for nav links if required beyond Tailwind classes */ /* This class is applied to individual navigation Links (<a> tags). */
/* Example: padding: 0.5rem 1rem; */ /* Tailwind classes handle text color, hover, transition, padding. */
/* The space-x-6 on the parent nav element in JSX handles spacing between links */ /* No specific additional styles needed here unless further customization is desired. */
/* e.g., text-decoration: none; (though Next/Link handles this) */
} }
/* .bookButton is a supplementary class for the CTA Link. */
/* It's used alongside .outlineButton. */
/* .outlineButton provides the base style, .bookButton can be for specific tweaks. */
.bookButton { .bookButton {
/* Specific adjustments for the book button if necessary */ /* Tailwind classes handle padding, font size, flex items, whitespace. */
/* Example: ensure it aligns well with the new header height */ /* No specific additional styles needed here for the new layout. */
/* padding-top: 0.5rem; padding-bottom: 0.5rem; /* Adjust if default py-2 is too large */
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment