Update gallery with optimized community photos (no captions)
BIN
client/public/photos/FullSizeRender 2.jpg
Normal file
|
After Width: | Height: | Size: 670 KiB |
BIN
client/public/photos/IMG_1615(1).jpg
Normal file
|
After Width: | Height: | Size: 923 KiB |
BIN
client/public/photos/IMG_1615.jpg
Normal file
|
After Width: | Height: | Size: 923 KiB |
BIN
client/public/photos/IMG_2166.jpg
Normal file
|
After Width: | Height: | Size: 619 KiB |
BIN
client/public/photos/IMG_6067.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
client/public/photos/IMG_6069.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
client/public/photos/IMG_6079.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
client/public/photos/IMG_6080.jpg
Normal file
|
After Width: | Height: | Size: 989 KiB |
BIN
client/public/photos/IMG_6084.jpg
Normal file
|
After Width: | Height: | Size: 879 KiB |
BIN
client/public/photos/IMG_7655.jpg
Normal file
|
After Width: | Height: | Size: 762 KiB |
BIN
client/public/photos/IMG_7657.jpg
Normal file
|
After Width: | Height: | Size: 696 KiB |
|
|
@ -4,47 +4,60 @@ import { motion, AnimatePresence } from 'framer-motion';
|
|||
interface GalleryItem {
|
||||
id: number;
|
||||
imageUrl: string;
|
||||
caption: string;
|
||||
alt: string;
|
||||
}
|
||||
|
||||
// Placeholder data using board member headshots
|
||||
// Gallery photos from community events
|
||||
const galleryData: GalleryItem[] = [
|
||||
{
|
||||
id: 1,
|
||||
imageUrl: '/headshots/tessa.jpg',
|
||||
caption: 'Tessa Williams - President',
|
||||
alt: 'Tessa Williams headshot',
|
||||
imageUrl: '/photos/FullSizeRender 2.jpg',
|
||||
alt: 'MCDi community gathering',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
imageUrl: '/headshots/rita.jpg',
|
||||
caption: 'Rita Sommers-Flanagan - Vice President',
|
||||
alt: 'Rita Sommers-Flanagan headshot',
|
||||
imageUrl: '/photos/IMG_1615.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
imageUrl: '/headshots/aubz.jpg',
|
||||
caption: 'Aubz Orr - Secretary',
|
||||
alt: 'Aubz Orr headshot',
|
||||
imageUrl: '/photos/IMG_2166.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
imageUrl: '/headshots/eliza.jpg',
|
||||
caption: 'Eliza Gutierrez - Treasurer',
|
||||
alt: 'Eliza Gutierrez headshot',
|
||||
imageUrl: '/photos/IMG_6067.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
imageUrl: '/headshots/skyla.jpg',
|
||||
caption: 'Skyla Heaton - Board Member',
|
||||
alt: 'Skyla Heaton headshot',
|
||||
imageUrl: '/photos/IMG_6069.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
imageUrl: '/headshots/kevin.jpg',
|
||||
caption: 'Kevin Wolff - Board Member',
|
||||
alt: 'Kevin Wolff headshot',
|
||||
imageUrl: '/photos/IMG_6079.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
imageUrl: '/photos/IMG_6080.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
imageUrl: '/photos/IMG_6084.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
imageUrl: '/photos/IMG_7655.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
imageUrl: '/photos/IMG_7657.jpg',
|
||||
alt: 'MCDi community event photo',
|
||||
},
|
||||
];
|
||||
|
||||
|
|
@ -88,11 +101,6 @@ const Gallery: React.FC = () => {
|
|||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
<div className="p-3 bg-[#6B1631]">
|
||||
<p className="text-yellow-400 text-sm font-semibold text-center truncate">
|
||||
{item.caption}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
))}
|
||||
|
|
@ -140,20 +148,13 @@ const Gallery: React.FC = () => {
|
|||
</button>
|
||||
|
||||
{/* Image Container */}
|
||||
<div className="bg-white rounded-t-lg overflow-hidden shadow-2xl">
|
||||
<div className="bg-white rounded-lg overflow-hidden shadow-2xl">
|
||||
<img
|
||||
src={selectedImage.imageUrl}
|
||||
alt={selectedImage.alt}
|
||||
className="max-w-full max-h-[70vh] w-auto h-auto mx-auto object-contain"
|
||||
className="max-w-full max-h-[80vh] w-auto h-auto mx-auto object-contain"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Caption */}
|
||||
<div className="bg-[#6B1631] rounded-b-lg p-4 border-2 border-black shadow-2xl">
|
||||
<p className="text-yellow-400 text-xl font-bold text-center">
|
||||
{selectedImage.caption}
|
||||
</p>
|
||||
</div>
|
||||
</motion.div>
|
||||
</motion.div>
|
||||
)}
|
||||
|
|
|
|||