Commit Graph

25 Commits

Author SHA1 Message Date
HolgerHatGarKeineNode
364fb201b8 📱 Add PortalPresentationMobile composition for mobile (1080x1920)
- Create PortalPresentationMobile.tsx for portrait mobile resolution
- Register PortalPresentationMobile composition in Root.tsx
- Add comprehensive tests for the mobile composition
- Reuse existing portal scenes which adapt via useVideoConfig()
- Mobile version has same scene structure and timing as desktop

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:57:59 +01:00
HolgerHatGarKeineNode
634c63cfa2 🧪 Add comprehensive tests for PortalPresentation audio integration
- Add test suite for PortalPresentation main composition
- Verify PortalAudioManager renders with background music
- Test all 9 scene sequences are rendered in correct order
- Verify scene timing totals 90 seconds (2700 frames at 30fps)
- Test audio integration including loop and volume settings
- Confirm premountFor is set correctly for all scenes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:53:58 +01:00
HolgerHatGarKeineNode
57322a9556 🎵 Add PortalAudioManager component for background music
- Add PortalAudioManager.tsx with background music fade in/out
  - 1 second fade-in at the beginning
  - 3 second fade-out at the end
  - Base volume at 0.25 (25%)
- Integrate PortalAudioManager into PortalPresentation
- Add PortalOutroScene to PortalPresentation (was using placeholder)
- Add comprehensive tests for PortalAudioManager (13 tests)
  - Tests for volume at various frames
  - Tests for fade-in/fade-out behavior
  - Integration tests

Scene-specific SFX remain in individual scene components for
better timing accuracy and maintainability.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:49:15 +01:00
HolgerHatGarKeineNode
5fe779b1dc 🎬 Add PortalOutroScene component for Outro (Scene 9)
- Implement 12-second outro scene with wallpaper background
- Add horizontal EINUNDZWANZIG logo with glow pulse effect
- Include BitcoinEffect particles throughout the scene
- Add "EINUNDZWANZIG" title and subtitle animations
- Include final-chime audio effect at logo appearance
- Add final 2-second fade out for smooth ending
- Include comprehensive test suite with 21 tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:45:02 +01:00
HolgerHatGarKeineNode
5adabf5fd0 🎬 Add CallToActionScene component for Call to Action (Scene 8)
Implements Scene 8 of the Portal Presentation video:
- Dashboard blur and zoom out animation
- Glassmorphism overlay with spring entrance
- "Werde Teil der Community" title with bounce animation
- URL typing animation: portal.einundzwanzig.space
- Orange pulsing glow effect on URL after typing completes
- EINUNDZWANZIG logo with animated glow
- Audio: success-fanfare, typing, url-emphasis, logo-reveal

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:40:53 +01:00
HolgerHatGarKeineNode
eebd1e84b5 🎬 Add ActivityFeedScene component for Activity Feed (Scene 7)
Implements the Activity Feed scene for the Einundzwanzig Portal
presentation video. Features include:

- 3D perspective entrance animation with smooth transitions
- "Aktivitäten" header with pulsing LIVE indicator
- 4 activity items with staggered slide-in animations:
  - EINUNDZWANZIG Kempten (vor 13 Stunden)
  - EINUNDZWANZIG Darmstadt (vor 21 Stunden)
  - EINUNDZWANZIG Vulkaneifel (vor 2 Tagen)
  - BitcoinWalk Würzburg (vor 2 Tagen)
- "Neuer Termin" badge with bounce animation
- Audio: button-click.mp3 per item, slide-in.mp3 for entrance
- Uses existing ActivityItem component for consistent styling
- Comprehensive test suite with 24 tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:37:16 +01:00
HolgerHatGarKeineNode
861c0e9245 🎬 Add TopMeetupsScene component for Top Meetups (Scene 6)
Implements Scene 6 of the Portal presentation video, showcasing the top 5
most active Einundzwanzig meetups with animated rankings, sparkline charts,
and progress bars. Features 3D perspective entrance, staggered item animations,
and audio cues.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:34:01 +01:00
HolgerHatGarKeineNode
e9b55b60aa 🎬 Add CountryStatsScene component for Top Länder (Scene 5)
Implements the Country Statistics scene which visualizes the geographic
reach of the Bitcoin community across German-speaking countries with
animated country bars, sparkline charts, and user counts.

Features:
- 3D perspective entrance animation for smooth scene transition
- Sequential country reveals with staggered timing (12 frame delay)
- CountryBar components with animated progress bars and user counts
- SparklineChart components showing growth trends for each country
- Total users badge with globe icon
- Audio: success-chime per country, slide-in for section entrance
- Countries displayed: Germany, Austria, Switzerland, Luxembourg,
  Bulgaria, and Spain

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:29:49 +01:00
HolgerHatGarKeineNode
2058140439 🎬 Add MeetupShowcaseScene component for Meine Meetups (Scene 4)
Implements the meetup showcase scene with:
- Featured meetup card with 3D perspective and shadow effects
- Date/time display with calendar and clock icons
- Upcoming meetups list (Memmingen, Friedrichshafen)
- Action buttons for calendar integration
- Staggered animations with spring physics
- Audio cues for slide-in and badge appearances

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:26:26 +01:00
HolgerHatGarKeineNode
41acbc9324 🎬 Add DashboardOverviewScene component for Dashboard Overview (Scene 3)
Implements the 12-second Dashboard Overview scene featuring:
- 3D perspective entrance animation (rotateX 30° → 0°, scale 0.85 → 1.0)
- DashboardSidebar with staggered navigation items
- Three StatsCounter cards (Meetups: 204, Users: 1247, Events: 89)
- SparklineCharts showing trend data for each metric
- Activity feed section with recent meetup activities
- Quick stats section with country and user metrics
- Audio: card-slide.mp3 and ui-appear.mp3 sound effects
- Vignette overlay and dark theme styling

Includes 23 comprehensive tests covering all components and animations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:20:56 +01:00
HolgerHatGarKeineNode
74e1bb8742 🎬 Add PortalTitleScene component for Title Card (Scene 2)
Implements the Title Card scene with:
- Typing animation for "EINUNDZWANZIG PORTAL" title
- Blinking cursor during typing effect
- Subtitle fade-in animation after title completes
- Audio integration with typing and ui-appear sounds
- Background glow and vignette effects

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:16:05 +01:00
HolgerHatGarKeineNode
04ccf917f0 🎬 Add PortalIntroScene component for Logo Reveal (Scene 1)
Implement the first scene of the Portal presentation video (6 seconds):
- AnimatedLogo scales from 0 to 100% with spring animation
- Wallpaper background with zoom effect (1.2 → 1.0 scale)
- Bitcoin particle effects in the background
- Pulsing glow effect around the logo
- Audio integration: logo-whoosh at start, logo-reveal when logo appears
- Title "EINUNDZWANZIG" and subtitle "Das Portal" with staggered entrance
- Vignette overlay for cinematic depth

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:12:45 +01:00
HolgerHatGarKeineNode
68e4ea1743 🧭 Add DashboardSidebar component for portal navigation sidebar
Adds a fully animated sidebar component for the portal dashboard with:
- Slide-in animation from left with spring physics
- Animated logo section with scale entrance
- Navigation items with staggered reveal animations
- Badge counters with bounce animation and glow effects
- Support for section headers and nested items with indentation
- Active state highlighting with accent color border
- SVG icons for all navigation types (dashboard, nostr, meetups, etc.)
- Customizable dimensions, accent color, and animation timing

Includes comprehensive test suite with 28 tests covering:
- Rendering and layout
- Navigation item display
- Badge count display
- Section headers and nested items
- Custom styling and accent colors
- Icon rendering for all icon types

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:07:54 +01:00
HolgerHatGarKeineNode
fb9da68451 🎬 Add ActivityItem component for displaying activity feed entries
- Implements animated activity item with slide-in from right animation
- Badge with bounce effect ("Neuer Termin" default)
- Event name with fade/slide animation
- Timestamp with clock icon and monospace font
- Configurable props: eventName, timestamp, badgeText, showBadge, delay, width, accentColor
- Follows established component patterns with spring animations and glow effects
- Includes comprehensive test suite with 21 tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:04:43 +01:00
HolgerHatGarKeineNode
5475b9ee34 🌍 Add CountryBar component for displaying country information
Add a new CountryBar component that displays:
- Country flag emoji with scale animation
- Country name with slide-in animation
- Animated user count with tabular numbers
- Progress bar that fills based on user count ratio

The component follows existing patterns from StatsCounter and
MeetupCard, using Remotion's spring animations and interpolation
for smooth entrance effects and a subtle glow pulse.

Includes comprehensive test suite with 30 tests covering:
- Basic rendering and props
- Custom styling and colors
- Bar rendering and animation
- Real-world country data scenarios

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 13:01:30 +01:00
HolgerHatGarKeineNode
55feaeeb21 🃏 Add MeetupCard component for displaying meetup information
Animated card component with logo, name, and location for showcasing
Bitcoin meetups. Features spring-based entrance animations, location
pin icon, and customizable styling with Bitcoin orange accent color.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:58:07 +01:00
HolgerHatGarKeineNode
6a8578494b 📈 Add SparklineChart component with animated SVG line drawing
Implement SparklineChart for visualizing data trends with animated line
drawing using stroke-dasharray/dashoffset technique. Features include
configurable dimensions, spring animations, optional fill gradient,
glow effects, and support for delay/duration parameters.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:55:01 +01:00
HolgerHatGarKeineNode
d7966580f5 🎯 Add StatsCounter component with animated number counting
Implement reusable animated statistics counter component for Remotion videos
that smoothly animates from 0 to a target number (default: 204).

Features:
- Spring-based or linear animation modes
- Configurable delay, duration, and decimal places
- Support for prefix/suffix (e.g., "$", "%", "+")
- Customizable colors and font sizes
- Glow effect that pulses with counting progress
- Optional label display below the number

Includes comprehensive test suite with 12 passing tests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:51:11 +01:00
HolgerHatGarKeineNode
b7740a9750 🧪 Add Vitest testing framework with basic composition test
Set up testing infrastructure using Vitest and React Testing Library.
Add test verifying empty MyComposition renders without errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:48:10 +01:00
HolgerHatGarKeineNode
4022fbde83 📂 Organize compositions with Folders: group NIP-05 tutorials and Portal presentation into logical Folder structures for better Remotion studio sidebar organization.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:44:37 +01:00
HolgerHatGarKeineNode
ffbf1b1f32 🎬 Add PortalPresentation skeleton composition: implement main composition structure with 9 scene sequences for the 90-second cinematic Portal presentation video.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:42:01 +01:00
HolgerHatGarKeineNode
7b728b56af 📁 Add portal components directory structure: create src/components/portal/ for upcoming Portal Presentation video components.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:37:52 +01:00
HolgerHatGarKeineNode
0f0c8fcbb1 📁 Add portal scenes directory structure: create src/scenes/portal/ for upcoming Portal Presentation video scenes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:36:36 +01:00
HolgerHatGarKeineNode
756c9d4c70 🗑️ Remove unused assets: delete obsolete SVGs, MP3 files, README documentation, and public assets from the videos/ directory. 2026-01-24 12:34:56 +01:00
HolgerHatGarKeineNode
b30fec150c 🎨 Add new Flux icons: implement multiple reusable icon components (e.g., hand-raised, hand-thumb-up, heart, hashtag, home) with variant support for improved UI consistency. 2026-01-23 23:00:02 +01:00