Commit Graph

277 Commits

Author SHA1 Message Date
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
fe92418dbb 🎨 Modularize and refactor CSS: restructure styles into theme.css, base.css, utilities.css, and component-specific files (flux-overrides.css, custom.css, leaflet.css) to improve maintainability and align with the Einundzwanzig Design System. 2026-01-23 23:16:09 +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
HolgerHatGarKeineNode
578e4f13fc 🧹 Migrate Yarn registry URLs to npm registry: update yarn.lock dependencies for consistency and clean up unused entries. 2026-01-23 20:02:21 +01:00
HolgerHatGarKeineNode
a2bce07520 ✏️ Simplify NIP-05 verified handles text: update messaging in benefits and profile views for clarity and consistency. 2026-01-23 17:14:23 +01:00
HolgerHatGarKeineNode
4b9ad0f6ab Refactor NIP-05 verification: extract handle-fetching logic into reusable NostrFetcherTrait and enhance UI to display all verified handles with improved feedback. 2026-01-23 17:09:00 +01:00
HolgerHatGarKeineNode
dfb1c3fa0f Add membership benefits page: implement Nostr Relay, NIP-05 verification, and Lightning Watchtower features with interactive UI and backend logic. 2026-01-23 16:51:31 +01:00
HolgerHatGarKeineNode
0a9498676c Add Lightning Watchtower feature: introduce Watchtower details, usage instructions, and clipboard copying functionality in association profile.
♻️ Update authentication buttons: replace `flux:navbar.item` and `flux:sidebar.item` with `flux:button` for improved UX and consistency.
🗑️ Update `.gitignore`: include additional configuration files (`.opencode`, `.switch-omo-config*`).
2026-01-23 15:52:52 +01:00
HolgerHatGarKeineNode
2995063f6c remove: unused Livewire component EinundzwanzigPlebTable (0 references in codebase, pre-existing broken test unrelated) 2026-01-23 01:44:49 +01:00
HolgerHatGarKeineNode
b280376376 remove: unused method NostrAuth::pleb() (0 usages in codebase) 2026-01-23 01:30:58 +01:00
HolgerHatGarKeineNode
acd3b3c395 remove: unused Livewire component MeetupTable (0 references in codebase) 2026-01-23 01:25:35 +01:00
HolgerHatGarKeineNode
29d83e9af7 remove: unused Livewire component NotificationForm (0 references in codebase) 2026-01-23 01:11:35 +01:00
HolgerHatGarKeineNode
91ea859c72 🗑️ Remove Sisyphus configuration files: delete .sisyphus/boulder.json and related unused plans from the repository. 2026-01-23 01:07:10 +01:00
HolgerHatGarKeineNode
15ac675407 remove: unused Livewire component VoteForm (0 references in codebase) 2026-01-23 01:05:06 +01:00
HolgerHatGarKeineNode
d3a75d656b Fix namespace usage in profile Blade template: qualify AssociationStatus with its full path for consistent referencing. 2026-01-21 11:41:58 +01:00
HolgerHatGarKeineNode
ec9b5a0d29 🎨 Enhance profile app cards layout: improve grid responsiveness, adjust card structure, and refine badge styles. Add screenshots gallery with responsive design and hover effects for better visual presentation. 🖼️ Include new assets for gallery. 2026-01-20 19:37:56 +01:00
HolgerHatGarKeineNode
b2f8811e59 Add laravel-boost configuration to MCP: enable boost:mcp Artisan command execution via Sail 2026-01-20 19:18:18 +01:00
HolgerHatGarKeineNode
d053a2c901 Update project card component: use flux:link for submitter's Nostr profile links and remove redundant link 2026-01-20 17:27:53 +01:00
HolgerHatGarKeineNode
7372b7f54f ✏️ Fix typo in project card component: correct "Anstragssteller" to "Antragssteller". 2026-01-20 17:24:46 +01:00
HolgerHatGarKeineNode
ad09b3804a Update project card component: simplify link styles, add applicant link, and improve badge usage 2026-01-20 17:22:22 +01:00
HolgerHatGarKeineNode
63ca98d258 Add conditional check for premium relay access: ensure relay instructions only display for eligible users. 2026-01-20 17:04:21 +01:00
HolgerHatGarKeineNode
b2987e201d 🎨 Improve text wrapping in profile view: add line break for better handle display readability. 2026-01-20 17:01:09 +01:00
HolgerHatGarKeineNode
e585721157 Add copyRelayUrl method: enable copying relay URL to clipboard and enhance profile benefits section with detailed relay instructions. 2026-01-20 17:00:16 +01:00
HolgerHatGarKeineNode
631e19b64a 🎨 Refactor project card component: adjust responsive layout, enhance button grouping, improve badge usage, and streamline footer structure for better readability and consistency. 2026-01-20 16:51:48 +01:00
HolgerHatGarKeineNode
8b78a85646 🎨 Refactor Blade template: improve formatting, standardize indentation, enhance grid layouts, and apply break-all for better text wrapping. 🛠️ Adjust conditional logic spacing for code consistency. 2026-01-20 16:34:18 +01:00
HolgerHatGarKeineNode
5e5e211244 Add file upload support: enable image uploads, implement file validation, and integrate media handling in project-support forms. 🛠 Update Blade templates and Livewire components for improved UX. 2026-01-20 15:57:13 +01:00
HolgerHatGarKeineNode
4a425da923 🎨 Update color palette: replace gray with zinc across Blade templates for improved design consistency and accessibility.
🛠 Refactor forms: rename NostrAuth method for clarity and enhance Flux button usage for cleaner and reusable components.
 Add `WithNostrAuth` trait: refactor `show` template logic, streamline project-support handling, and improve layout readability.
2026-01-20 14:58:02 +01:00
HolgerHatGarKeineNode
34f8d949d5 Add NIP-05 handle management: Introduce migration, API route, and Livewire updates to support NIP-05 handle verification.
 Enhance Nostr fetcher: Refactor profile data merging logic for improved efficiency and accuracy.
🛠
2026-01-20 13:56:50 +01:00