Page Loading Overlay

Fullscreen loading overlay with blur background, customizable message, optional icon with pulse animation, and progress indicator

Free
Free with a ShipSwift account.

Copies a short instruction with your private download link. Paste it into your agent: it downloads the whole skill (the source code, the setup steps and the mistakes we already made for you) and builds the screen.

Works with

+70

What it does

Page-level fullscreen loading overlay with blur material background, customizable message text, optional SF Symbol icon with pulse animation, and a progress indicator. Each page has independent loading state managed through the SWLoadingPage enum.

What you get

  • ✓139 lines of source code, ready to paste
  • ✓Source Code
  • ✓Usage
componentfeedbackloadingoverlayprogressSwiftUI

Usage

// 1. Register your pages by editing the SWLoadingPage enum inside SWLoading.swift
//    (change it in place; do not declare a second SWLoadingPage elsewhere):
enum SWLoadingPage: String {
    case home
    case settings
    case profile
}

// 2. Attach the modifier to the view:
var body: some View {
    MyPageContent()
        .swPageLoading(.home)
}

// 3. Show / update / hide from anywhere via the singleton:
SWLoadingManager.shared.show(page: .home)
SWLoadingManager.shared.show(page: .home, message: "Syncing data...", systemImage: "arrow.triangle.2.circlepath")
SWLoadingManager.shared.updateMessage(page: .home, message: "Almost done...")
SWLoadingManager.shared.hide(page: .home)