Commit Graph

87 Commits

Author SHA1 Message Date
b1rdmania dc1126bdc8 Add fallback for iOS share when copy fails
When clipboard copy fails, shows a text input with the share link
so users can manually select and copy it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:37:06 +00:00
b1rdmania 7dcc233445 Add immediate visual feedback on search click
Status updates to "Starting search..." immediately when button clicked,
before async operations. This will help diagnose if JS handler is running.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:35:14 +00:00
b1rdmania cb9ea7bcc9 Add debugging logs and error handling for iOS issue
Wraps app initialization in try/catch to display errors.
Adds console.log at key points to trace what's happening.
Catches and displays errors from search handler.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:33:46 +00:00
b1rdmania 602b36fc7a Add feedback when search clicked with empty input
Previously clicking Search with no input silently did nothing.
Now shows "Enter a song name to search." and focuses the input.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:32:07 +00:00
b1rdmania 8406966928 Update status message to be clearer and more concise
Changed from "Ready. Enter a song to run it through our Wario 16-Bit Engine and make a new version." to "Ready. Search any song to make a Game Boy version."

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:27:17 +00:00
b1rdmania 4bf1a971a0 Update status message copy
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:24:24 +00:00
b1rdmania fc272f3b58 Remove share link text box - just show Copied/Failed feedback
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:22:10 +00:00
b1rdmania 6ea3fa49fc Improve iOS copy link with execCommand fallback
- Try modern Clipboard API first
- Fall back to execCommand('copy') with textarea trick
- Uses setSelectionRange for iOS compatibility
- Only show manual text box if both methods fail

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:20:20 +00:00
b1rdmania 8938257d50 Remove unused formatDuration function (fixes build)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 16:14:17 +00:00
b1rdmania 2d97d5eea6 Fix iOS audio on shared play page
- Call unlockAudio() synchronously at start of click handler
- In audioUnlock: fire resume() immediately without await
- Play silent buffer synchronously before any async work
- Then await resume() again to ensure it completes

iOS requires audio interaction in synchronous user gesture context

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:26:42 +00:00
b1rdmania a6d0358469 Remove inaccurate Length column from results table
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:21:23 +00:00
b1rdmania 04efceee9b Consolidate info into status box, remove chooser helper
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:16:16 +00:00
b1rdmania c3e30ca491 Simplify selected card UI
- Remove "Choose a different source" link
- Remove Details toggle
- Simplify meta to just show source (remove length/notes)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:08:11 +00:00
b1rdmania 6fddb140cc Remove redundant info box from selected card
Consolidated messaging - the chooser helper already explains MIDI selection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:05:50 +00:00
b1rdmania 0e6a08852f Fix Share to X on mobile, update helper text
- Open window immediately before async fetch to preserve user gesture
- Update MIDI selection helper text per feedback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:05:04 +00:00
b1rdmania b13923a1eb Remove duplicate FAQ from footer, show New Search only after generation
- FAQ button now only in hero header (removed from footer)
- New Search button hidden by default, shown only after generating

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 15:02:29 +00:00
b1rdmania 5db9aceaf5 Update X share: 16-Bit Midi Wario Synth by @b1rdmania
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:58:42 +00:00
b1rdmania 3acf4301f0 Update X share tweet format
"I made [title] Game Boy version.

Made in Wario Synth by @b1rdmania
[link]"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:57:23 +00:00
b1rdmania e485335a26 Remove @b1rdmania from OG share copy, strip mid/midi from song titles
- OG description no longer includes "by @b1rdmania" (only X share has it)
- Song titles now strip standalone "mid" and "midi" words

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:53:28 +00:00
b1rdmania 2df84d9679 Move version history to bottom, add FAQ to hero with v1.3 tag
- Hero now shows "WARIO SYNTH v1.3" with FAQ button
- Version history moved to bottom of page
- Added Wario Synthesis Engine explanation to FAQ
- Bigger Wario sprite (192px)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:49:10 +00:00
b1rdmania f0acf96514 Fix audio on shared play page - add iOS audio unlock
Shared links weren't playing audio on iOS because unlockAudio() wasn't being called

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:35:06 +00:00
b1rdmania eb3f61b63a Add Share to X button with proper tweet text
- Added "Share to X" button next to "Copy link"
- Tweet text: "I made [song] game boy version. Click to listen or generate your own, made in Wario Synth by @b1rdmania"
- Updated Twitter cards to summary_large_image
- Dynamic OG description includes song title

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:32:34 +00:00
b1rdmania 469212aa3c Fix share button: copy to clipboard on desktop, text box fallback on iOS
- Try navigator.clipboard.writeText first
- Show "Copied!" feedback on success
- Only show text box fallback if clipboard fails (iOS)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:28:32 +00:00
b1rdmania c5a65e0f19 Keep search results visible after generation
Users can now pick a different MIDI source even after generating

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 13:56:35 +00:00
b1rdmania 3d85a8e981 Fix scroll during generate, restore Claude Code easter egg
- Preserve scroll position when clicking Generate
- Add back "Ps. Built with Claude Code" in FAQ

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 13:41:46 +00:00
b1rdmania 79601a78ba Fix iOS FAQ modal, host font locally, cleanup
- Fix FAQ modal scrolling/sizing on iOS with max-height and flexbox
- Host Press Start 2P font locally to avoid content blocker issues
- Remove FAQ button from top bar (keep footer button)
- Shorten MIDI selection tips text

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 13:36:15 +00:00
b1rdmania 1041be46f3 Add short links with song title in OG preview
- Re-enable /api/share for short links (/s/abc123)
- Title shows as "Song Name - WARIO SYNTH"
- Description: "I made this in WARIO SYNTH"
- Falls back to long URL if short link fails

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 13:25:27 +00:00
b1rdmania 7a8f6d6517 Include song title in share URL 2025-12-29 13:21:07 +00:00
b1rdmania cbb808b968 Remove unused clipboard functions 2025-12-29 13:10:47 +00:00
b1rdmania 31310a6ea3 Replace copy button with text box for sharing
Simple solution: show the link in a selectable text box
Works everywhere without clipboard API issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:59:34 +00:00
b1rdmania 56e280fe33 Simplify share: use native share sheet on mobile
- Remove async fetch before share (was breaking iOS gesture chain)
- Use navigator.share() on mobile for native share sheet
- Simple clipboard.writeText() on desktop
- No complicated fallbacks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:56:55 +00:00
b1rdmania 1eef11acbe Fix iOS clipboard with contentEditable approach
- Try modern clipboard API first
- For iOS: use contentEditable + special range selection
- Set font-size 16px to prevent zoom on iOS
- Properly throw error on failure for user feedback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:53:55 +00:00
b1rdmania aac5d9d95b Fix iOS clipboard, update FAQ style, rename button text
- Fix iOS Safari clipboard by using textarea with proper selection
- Add visible "Link copied!" confirmation next to Copy link button
- Update FAQ modal styling to match Game Boy light palette
- Change "Use this →" to "Use" in search results

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:48:51 +00:00
b1rdmania 71762c07f8 Switch to light Game Boy palette and fix search/results UX
- Flip from dark to light authentic Game Boy LCD palette
- Update both main app (index.html) and share page (play.html)
- Light background (#C8D8B0) with dark text (#1D2A1D)
- Keep results interactive after selecting a song
- Remove search locking so users can always search or pick different results

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:38:37 +00:00
b1rdmania b582446269 Remove volume slider and description text from player
Cleaner UI - metadata already tells the story.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:13:31 +00:00
b1rdmania 9d38a9a83a Fix pause/play audio muting + tidy share page UX
- Fix SynthesisEngine to not cleanup layers on stop, preventing
  audio from going silent after pause/resume
- Remove "Reimagined as classic game-console music" line
- Remove procedural playback meta block
- Move "Generate your own" CTA inside player card
- Update footer with Birdmania credit and Twitter link

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 11:00:27 +00:00
b1rdmania 6e61aef35a Redesign UI with Game Boy retro aesthetic
- Add classic LCD green color palette (#9BBC0F, #8BAC0F, #306230, #0F380F)
- Switch to Press Start 2P pixel font
- Add scanline overlay effect for CRT feel
- Style buttons with chunky 4px borders and inset shadows
- Remove all border-radius for pixel-perfect look
- Update hero, controls, results table, and player sections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 10:49:04 +00:00
b1rdmania b48fb4b7de Add MP3 download to UX test page.
Installs lamejs and adds an MP3 downloader that records the Motif synth output in real time via an output tap, then encodes and downloads as .mp3.
2025-12-29 09:59:56 +00:00
b1rdmania 134867cf93 Allow scrolling back to search after generation.
Keeps the search UI visible in generated mode (so you can scroll up), but locks it to prevent changing choices until tapping New search.
2025-12-26 21:29:17 +00:00
b1rdmania 9c6a47ab4e Add New search reset after generation.
Keeps the generated artifact view intact but provides a footer New search button that stops audio, resets state, scrolls to top, and focuses the search input.
2025-12-26 21:26:23 +00:00
b1rdmania 7cbf582fa1 Enable Copy link after generation and style it.
Refresh generated state after successful playback starts so Copy link becomes clickable, and boost its visual prominence without competing with Play.
2025-12-26 21:20:21 +00:00
b1rdmania 63618ec4fa Split selected vs generated UI on main page.
After generation starts, hide preview/source-changing/search affordances and switch to an artifact view: title, Wario transformation line, Play/Pause, timeline, volume, and Copy link.
2025-12-26 21:14:30 +00:00
b1rdmania fd422aa084 Make results a chooser and move preview to selected card.
Removes preview controls from search results, adds a 'Choosing a MIDI source' helper block, introduces selected/generated states, and keeps Preview original MIDI as a secondary action inside the selected source card.
2025-12-26 20:38:15 +00:00
b1rdmania 839d40447f Restore FAQ button at top-right.
Adds a top-right FAQ button in the hero while keeping a footer FAQ button, both opening the same modal.
2025-12-26 20:28:23 +00:00
b1rdmania b0c1b49d2a Remove volume controls and play at 100%.
Eliminates volume sliders on main and share pages and hard-sets preview + Motif playback volume to 1.0 across the app.
2025-12-26 20:25:38 +00:00
b1rdmania d5434025c8 Polish share page hierarchy and styling.
Align /play colors with main (green accents), simplify copy and metadata, reduce timestamp prominence, and improve title cleaning to avoid filename-like artifacts with optional artist subline.
2025-12-26 20:21:14 +00:00
b1rdmania 9ad1b00b4e Scroll to synthesis controls after selecting a source.
After clicking 'Use this' and loading the MIDI, auto-scrolls to the selected source card so Generate is immediately visible.
2025-12-26 19:34:47 +00:00
b1rdmania 5e90b9e5d5 Fix share page progress bar updates.
Track playback position locally so the /play progress slider and time display advance reliably, including pause/resume, scrubbing, and end-of-track behavior.
2025-12-26 19:32:55 +00:00
b1rdmania 7deb7bd4d9 Move MIDI preview controls into results table.
Adds per-row Play/Stop preview toggles, moves preview volume to the results header, and removes preview controls from the selected source card.
2025-12-26 19:27:16 +00:00
b1rdmania 9fc636a558 Refocus main page around search → select → generate.
Cleans result titles, adds a 'Use this' action, promotes a selected source card with Preview/Generate, collapses results after selection, and hides debug-ish metadata behind Details.
2025-12-26 19:21:28 +00:00