Organisms
Organisms are complex UI sections that combine molecules and atoms to create significant portions of a page. They represent complete, functional sections that can work independently.Overview
The/components/organisms directory contains 40+ complex components organized by function:
Navigation
Navigation, Desktop/Mobile variants, FloatingMenuButton
Forms & Modals
SevaSubmissionForm, EventDetailsModal, PhotoAlbumModal
Media & Content
VideoSection, ImageMarquee, Carousels, Galleries
Navigation Components
Navigation
Main navigation bar with responsive menu system and admin access control. Features:- Dynamic menu items with icons and gradients
- Supabase authentication for admin access
- Tubelight navbar integration
- Responsive logo display
- Sub-menu support (e.g., Seva dropdown)
- Available inline width calculation
components/organisms/navigation.tsx
components/organisms/navigation.tsx
StickyFooter
Persistent footer with social links and temple information. Features:- Responsive desktop/mobile layouts
- Social media links (YouTube, Instagram)
- Temple address and contact
- Maninagar logo
- Privacy/Contact/About links
- Backdrop blur effect
components/organisms/sticky-footer.tsx
FloatingMenuButton
Mobile floating action button with expandable menu. Features:- Fixed position overlay
- Animated menu expansion
- Icon-based navigation
- Background blur
- Touch-optimized
DesktopNavigation
Desktop-specific navigation variant. Usage:TubelightNavigation
Special tubelight-styled navigation wrapper. Usage:components/organisms/tubelight-navigation.tsx
Form Components
SevaSubmissionForm
Comprehensive seva (spiritual service) submission form with validation. Features:- Multi-field personal information
- Country/Mandal selection with auto-population
- International phone input
- Multiple seva type selection (Malas, Dhyan, Pradakshinas, etc.)
- Dynamic field visibility
- react-hook-form integration
- Zod validation
- Toast notifications
- Loading states
components/organisms/seva-submission-form.tsx
components/organisms/seva-submission-form.tsx
Media Components
VideoSection
Video display section with custom controls and YouTube embed support. Usage:ImageMarquee
Dual-row infinite scrolling image gallery. Props Interface:components/organisms/image-marquee.tsx
- Bidirectional scrolling (first row left-to-right, second row right-to-left)
- Responsive duration based on device type
- Image preloading
- Intersection observer for performance
- Infinite loop animation
ImageCarouselModal
Full-screen modal for image gallery browsing. Usage:ResponsiveImageGallery
Responsive masonry-style image grid. Usage:components/organisms/responsive-image-gallery.tsx
AashirwadVideoPlayer
Custom video player for Aashirwad (blessing) videos. Usage:Content Sections
AnimatedTextSection
Text section with GSAP scroll animations. Usage:BentoInitiatives
Bento-grid layout for displaying initiatives. Usage:PathOfServiceStory
Narrative section about seva (service) path. Usage:StandardPageHeader
Consistent page header component. Usage:components/organisms/standard-page-header.tsx
Carousel Components
GuruCarousel
Carousel for displaying guru images. Usage:MobileSectionCarousel
Mobile-optimized section carousel. Usage:Timeline Components
MobileTimeline
Mobile-optimized timeline view. Props Interface:components/organisms/MobileTimeline.tsx
Modal Components
EventDetailsModal
Detailed event information modal. Usage:PhotoAlbumModal
Photo album viewer with navigation. Usage:Special Effect Components
ShaderBackground
WebGL shader background effect. Usage:components/organisms/shader-background.tsx
ParallaxDivider
Parallax scroll effect divider. Usage:ParallaxQuote
Parallax quote section. Usage:Event Components
EventsGrid
Grid layout for event cards. Usage:EventsFilterBar
Filter controls for events. Usage:Landing Page Components
Landing Page (TitleSection)
Main landing page hero section. Usage:IntroVideoReveal
Video reveal animation on scroll. Usage:Complex Integration Examples
Full Event Page Structure
Form with Toast Notifications
Performance Considerations
Lazy Loading
Lazy Loading
Many organisms support lazy loading for heavy components:
Intersection Observer
Intersection Observer
Use intersection observer for scroll-triggered content:
Image Optimization
Image Optimization
Always use Cloudflare CDN helpers:
Best Practices
Next Steps
UI Components
Explore shadcn/ui components and custom effects
Molecules
Review the building blocks used in organisms
