Repository navigation
Replace campaign emoji with SVGs and improve mobile scrolling - #314
Merged
Merged
Conversation
Contributor
|
🚀 Preview deployed to Cloudflare Pages
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The teaser and Learn more page now use matching inline SVG icons instead of emoji and font symbols, so iOS cannot substitute colored emoji for the coffee, starbursts, or other marks. Arrows, checks, replay controls, hearts, and FAQ disclosures use the same rounded line style. The approval demo preserves the SVG when its label changes.
The teaser also stops forcing every touch device through JavaScript-driven slide transforms. Supported browsers now drive the horizontal motion through a native scroll timeline with automatic duration and an explicit pixel endpoint. An idle check compares the actual track position against document scroll and permanently falls back if the browser stalls the animation. Horizontal snapping, toolbar-resize protection, and the reduced-motion fallback remain.
Validation: production build, plain coverage, site integrity, targeted TypeScript, and scroll regressions pass. Regression coverage includes native touch/desktop movement, no computed-transform reads during scrolling, stalled timeline recovery, subsequent fallback gestures, resizing and reduced motion. Both built pages contain no emoji text. At 375×667 in Chrome responsive mode, visually checked SVGs, approval/replay, slide advancement and the final CTA; the DOM confirmed native mode remained active. Physical iPhone frame rate is not verified.