Skip to content

Feature/better splash#6

Merged
Redth merged 2 commits into
mainfrom
feature/better-splash
Feb 3, 2026
Merged

Feature/better splash#6
Redth merged 2 commits into
mainfrom
feature/better-splash

Conversation

@Redth

@Redth Redth commented Feb 3, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a new coordinated splash screen system that synchronizes the splash experience between the MAUI and Blazor layers of the application. The splash overlay is now implemented natively in MAUI, and its visibility is controlled via a shared service that signals when Blazor is ready. This replaces the previous HTML/CSS/JS-based splash screen, resulting in a more seamless and robust user experience.

Splash Screen Coordination and Implementation:

  • Introduced the ISplashService interface and its implementation SplashService to facilitate communication between MAUI and Blazor regarding splash screen visibility. This service tracks Blazor readiness and exposes an event for MAUI to react accordingly. (src/MauiSherpa.Core/Interfaces.cs [1] src/MauiSherpa/Services/SplashService.cs [2] src/MauiSherpa/MauiProgram.cs [3]
  • Refactored MainPage to display a native MAUI splash overlay layered above the BlazorWebView. The overlay features branding, a loading indicator, and fade-out animation. It is hidden either when Blazor signals readiness or after a 15-second timeout. (src/MauiSherpa/MainPage.cs [1] [2]
  • Modified the app initialization to inject and use the new splash service, ensuring that the splash overlay is available and coordinated from app startup. (src/MauiSherpa/App.cs src/MauiSherpa/App.csR1-R20)

Blazor Integration:

  • Updated MainLayout.razor to notify the splash service when Blazor rendering is complete, triggering the splash overlay to hide. (src/MauiSherpa/Components/MainLayout.razor [1] [2]

Removal of Old Splash Implementation:

  • Removed the previous HTML/CSS/JS-based splash screen from index.html, including its styling and JavaScript logic, as it is now fully handled natively in MAUI. (src/MauiSherpa/wwwroot/index.html [1] [2]

Redth added 2 commits February 3, 2026 16:55
Introduce a coordinated splash-screen system between MAUI and Blazor. Added ISplashService to Core.Interfaces and a concrete SplashService implementation (Services/SplashService.cs) and registered it as a singleton in MauiProgram. App now receives IServiceProvider and passes the ISplashService to MainPage. MainLayout.razor notifies the splash service when Blazor first renders. MainPage builds a layered Grid with a new splash overlay (logo, title, subtitle, loading indicator, gradient) and listens for the OnBlazorReady event to fade and hide the overlay; a 15-second safety timeout is also added. Included new logo asset (Resources/Images/sherpalogo.png) and removed the default "Loading..." text from wwwroot/index.html.
@Redth
Redth merged commit 0a9dc35 into main Feb 3, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant