Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ let package = Package(
name: "Roadmap",
platforms: [
.iOS(.v17),
.macOS(.v14),
.macOS(.v12),
.visionOS(.v1)
],
products: [
Expand Down
2 changes: 2 additions & 0 deletions Sources/Roadmap/RoadmapFeatureView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import SwiftUI

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
struct RoadmapFeatureView: View {
@Environment(\.dynamicTypeSize) var typeSize
@State var viewModel: RoadmapFeatureViewModel
Expand Down Expand Up @@ -110,6 +111,7 @@ struct RoadmapFeatureView: View {
}
}

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
#Preview {
RoadmapFeatureView(viewModel: .init(feature: .sample(), configuration: .sampleURL()))
}
1 change: 1 addition & 0 deletions Sources/Roadmap/RoadmapFeatureViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import Foundation
import SwiftUI

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
@MainActor
@Observable
final class RoadmapFeatureViewModel {
Expand Down
14 changes: 9 additions & 5 deletions Sources/Roadmap/RoadmapView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import SwiftUI

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
public struct RoadmapView<Header: View, Footer: View>: View {
@State var viewModel: RoadmapViewModel
let header: Header
Expand Down Expand Up @@ -37,7 +38,7 @@ public struct RoadmapView<Header: View, Footer: View>: View {
.listStyle(.plain)
.conditionalSearchable(if: viewModel.allowSearching, text: $viewModel.searchText)
}

var featuresList: some View {
VStack {
if viewModel.allowsFilterByStatus {
Expand Down Expand Up @@ -76,32 +77,35 @@ public struct RoadmapView<Header: View, Footer: View>: View {
}
}

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
public extension RoadmapView where Header == EmptyView, Footer == EmptyView {
init(configuration: RoadmapConfiguration) {
self.init(viewModel: .init(configuration: configuration), header: EmptyView(), footer: EmptyView(), selectedFilter: RoadmapViewModel.allStatusFilter)
}
}

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
public extension RoadmapView where Header: View, Footer == EmptyView {
init(configuration: RoadmapConfiguration, @ViewBuilder header: () -> Header) {
self.init(viewModel: .init(configuration: configuration), header: header(), footer: EmptyView(), selectedFilter: RoadmapViewModel.allStatusFilter)
}
}

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
public extension RoadmapView where Header == EmptyView, Footer: View {
init(configuration: RoadmapConfiguration, @ViewBuilder footer: () -> Footer) {
self.init(viewModel: .init(configuration: configuration), header: EmptyView(), footer: footer(), selectedFilter: RoadmapViewModel.allStatusFilter)
}
}

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
public extension RoadmapView where Header: View, Footer: View {
init(configuration: RoadmapConfiguration, @ViewBuilder header: () -> Header, @ViewBuilder footer: () -> Footer) {
self.init(viewModel: .init(configuration: configuration), header: header(), footer: footer(), selectedFilter: RoadmapViewModel.allStatusFilter)
}
}

struct RoadmapView_Previews: PreviewProvider {
static var previews: some View {
RoadmapView(configuration: .sampleURL())
}
@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
#Preview {
RoadmapView(configuration: .sampleURL())
}
1 change: 1 addition & 0 deletions Sources/Roadmap/RoadmapViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import Foundation

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
@MainActor
@Observable
final class RoadmapViewModel {
Expand Down
1 change: 1 addition & 0 deletions Sources/Roadmap/RoadmapVoteButton.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import SwiftUI

@available(macOS 14.0, iOS 17.0, visionOS 1.0, *)
struct RoadmapVoteButton: View {
@State var viewModel: RoadmapFeatureViewModel
@Environment(\.dynamicTypeSize) private var typeSize
Expand Down