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() {
</div>
{/* Logo Column (New) */}
<div className="md:col-span-1 flex flex-col items-center justify-center"> {/* Centering logo */}
<div className="relative mb-4">
<div className="md:col-span-1 flex flex-col items-center justify-center"> {/* This centers the block below */}
<div className="relative mb-4 flex justify-center"> {/* This ensures the image within this block is centered */}
<Image
src="/images/parvagues/logo.png"
alt="ParVagues Logo"
......
......@@ -33,22 +33,22 @@ export default function ParVaguesHeader({ eventName = null, title = null }) {
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}`}>
<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 */}
<Link href="/parvagues" className="flex items-center group">
<div className="h-10 w-10 relative flex-shrink-0"> {/* Ensure logo size is controlled */}
<Link href="/parvagues" className="flex items-center group flex-shrink-0"> {/* Added flex-shrink-0 */}
<div className="h-10 w-10 relative"> {/* Simplified logo div */}
<Image
src="/images/parvagues/logo.png"
alt="ParVagues Logo"
width={40} // Adjusted size
height={40} // Adjusted size
width={40}
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)]"
/>
</div>
<div className="overflow-hidden ml-3"> {/* Increased margin slightly */}
<div className="overflow-hidden ml-3">
<span
className={`text-white font-bold transition-all duration-500 ${
showInHeader || !isHome ? 'opacity-100 translate-y-0' : 'opacity-0 -translate-y-full' // Adjusted animation
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'
}`}
style={{
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 }) {
</Link>
{/* Navigation Links */}
<nav className="flex-grow flex justify-center items-center space-x-6 text-sm tracking-wider">
<Link href="/parvagues#music" className={`${styles.navLink} text-gray-300 hover:text-[#ff3d7b] transition-colors`}>
{/* Ensure this nav doesn't cause overflow issues on very small screens - links might need to wrap or hide */}
<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
</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
</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
</Link>
</nav>
......@@ -76,9 +77,9 @@ export default function ParVaguesHeader({ eventName = null, title = null }) {
{/* CTA button */}
<Link
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>
</Link>
</div>
......
......@@ -168,13 +168,14 @@
box-shadow: 0 10px 20px rgba(217, 0, 255, 0.3);
}
/* This is the .outlineButton style used by the header's Book button */
.outlineButton {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 1rem 2rem;
border-radius: 0.5rem;
font-weight: 600;
/* padding is controlled by Tailwind classes in the component (py-2 px-3 sm:px-4) */
border-radius: 0.375rem; /* Tailwind's rounded-md */
font-weight: 500; /* Tailwind's font-medium equivalent */
text-decoration: none;
color: white;
border: 1px solid rgba(217, 0, 255, 0.5);
......@@ -188,8 +189,8 @@
background: rgba(217, 0, 255, 0.2);
border-color: var(--neon-high);
color: var(--neon-high);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(217, 0, 255, 0.2);
transform: translateY(-1px); /* Subtle lift */
box-shadow: 0 3px 10px rgba(217, 0, 255, 0.2); /* Subtle shadow */
}
.sectionContainer {
......@@ -572,11 +573,14 @@ img.live-gallery-image {
display: flex;
margin-left: -1rem; /* gutter size offset */
width: auto;
position: relative; /* Added for Masonry to correctly position its items */
}
.galleryGridColumn {
padding-left: 1rem; /* gutter size */
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 {
......@@ -641,21 +645,24 @@ img.live-gallery-image {
}
/* Styles for the updated ParVaguesHeader */
/* Styles for the ParVaguesHeader */
.headerContainer {
/* Ensuring vertical alignment for items if needed, though Tailwind's `items-center` on the child div should handle this. */
/* Example: display: flex; align-items: center; */
/* Height is controlled by Tailwind's h-16 class in the component */
/* This class is applied to the <header> element. */
/* Tailwind classes already handle sticky, z-index, background, border. */
/* No specific additional styles needed here for the new layout. */
}
.navLink {
/* Individual styling for nav links if required beyond Tailwind classes */
/* Example: padding: 0.5rem 1rem; */
/* The space-x-6 on the parent nav element in JSX handles spacing between links */
/* This class is applied to individual navigation Links (<a> tags). */
/* Tailwind classes handle text color, hover, transition, padding. */
/* 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 {
/* Specific adjustments for the book button if necessary */
/* Example: ensure it aligns well with the new header height */
/* padding-top: 0.5rem; padding-bottom: 0.5rem; /* Adjust if default py-2 is too large */
/* Tailwind classes handle padding, font size, flex items, whitespace. */
/* No specific additional styles needed here for the new layout. */
}
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