Install WidgetSystemKit
dependencies: [
.package(url: "https://github.com/dimzfresh/WidgetSystemKit.git", from: "1.0.0")
]
Create a Widget
struct TextWidget: AnyWidget {
@Published var state: TextWidgetState
var body: some View {
Text(state.text)
.font(.system(size: state.fontSize))
.onTapGesture {
sendWidgetEvent(.didTap)
}
}
}
Use in Your App
struct HomeView: View {
@StateObject private var viewModel = HomeViewModel()
var body: some View {
ForEach(viewModel.widgets) { widget in
WidgetItemContainer(widget: widget) {
$0.view()
}
}
}
}