ersanq/imagekit
**Cached, asynchronous image loading with premium SwiftUI effects — no boilerplate required.**
✨ Features
- Smart Caching: In-memory caching using
NSCacheto avoid redundant network requests. - Async/Await: Built on modern Swift concurrency for high performance.
- Skeleton Loading: Integrated with
SkeletonUIto 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