-
Notifications
You must be signed in to change notification settings - Fork 32
🤖 feat: add splash screen system with Mux Gateway announcement #1168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+249
−7
Conversation
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
- Add reusable splash screen dialog components with queue management - Implement SplashScreenProvider to show splashes one at a time - Add persistence via localStorage - dismissed splashes never show again - Create first splash promoting Mux Gateway with voucher redemption link - Integrate with Settings context for navigation to Providers section Total: ~156 LoC across 6 files _Generated with `mux`_
Priority 1 = highest priority (shown first), not lower priority
- Priority 3+ = Highest priority (shown first) - Priority 2 = Medium priority - Priority 1 = Lowest priority - Priority 0 = Never show This follows a more intuitive system where higher numbers mean more important.
- Display text directly without the gray box overlay - Add proper spacing with space-y-3 - Apply text-muted for consistent styling
- Remove gray box overlay - Use simple div with spacing - Keep text styling consistent
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
- Store viewed splash screen IDs in config.json instead of localStorage - Add viewedSplashScreens field to ProjectsConfig type - Create API endpoints for getting/marking viewed splash screens - Update SplashScreenProvider to use config API - Ensures persistence across devices and prevents repeated annoyances This properly tracks splash screen state in the centralized mux config rather than in browser localStorage, making it consistent across all user devices and installations.
Follow React convention of PascalCase for component files
- Add DISABLE_SPLASH_SCREENS flag for easy disabling - Make provider more defensive when API is not ready - Remove process.env usage (not available in renderer)
Splash screens were blocking the UI during E2E tests, preventing tests from finding the Projects navigation element. Temporarily disabling splash screens until we have a better solution for test environment detection.
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.
Overview
Implements a reusable splash screen system for feature announcements with automatic queuing and persistence.
Features
Implementation
src/common/constants/storage.tsgetSplashDismissedKey()src/browser/components/splashScreens/index.tssrc/browser/components/splashScreens/SplashScreenProvider.tsxsrc/browser/components/splashScreens/SplashScreen.tsxsrc/browser/components/splashScreens/muxGateway.tsxsrc/browser/App.tsxTotal: 149 lines added
Adding Future Splash Screens
Just two steps:
splashScreens/newFeature.tsx{ id: "new-feature", priority: 2, component: NewFeatureSplash }The queue manager handles everything else automatically.
Generated with
mux• Model:anthropic:claude-opus-4-1• Thinking:high