Contents

ersanq/imagekit

**Cached, asynchronous image loading with premium SwiftUI effects — no boilerplate required.**

✨ Features

  • Smart Caching: In-memory caching using NSCache to avoid redundant network requests.
  • Async/Await: Built on modern Swift concurrency for high performance.
  • Skeleton Loading: Integrated with SkeletonUI to provide beautiful shimmering placeholders.
  • Haptic Feedback: Subtle vibration on successful load using HapticKit.
  • Zero Boilerplate: Use the .ersanImage() modifier for effortless integration.

🚀 Quick Start

Simple Image Loading

import ImageKit

struct ProfileView: View {
    var body: some View {
        VStack {
            // One-line image loading
            AsyncImage(url: URL(string: "https://example.com/photo.jpg"))
                .ersanImage(contentMode: .fill)
                .frame(width: 200, height: 200)
        }
    }
}

Advanced Usage (ErsanAsyncImage)

ErsanAsyncImage(
    url: URL(string: "https://ersanq.com/logo.png"),
    contentMode: .fit,
    showSkeleton: true,
    useHaptics: true
)
.frame(height: 300)

🛠️ Installation

Add this to your Package.swift:

.package(url: "https://github.com/ErsanQ/ImageKit", from: "1.0.0")

📄 License

MIT License.

Package Metadata

Repository: ersanq/imagekit

Default branch: main

README: README.md