History UI improvements
This commit is contained in:
@@ -10,8 +10,8 @@ import UIKit
|
||||
|
||||
@MainActor
|
||||
class HistoryBrowserViewController: UIHostingController<HistoryView> {
|
||||
public init() {
|
||||
super.init(rootView: HistoryView(viewModel: BrowserHistory.shared.viewModel(limit: 500)))
|
||||
public init(onSelectItem: @escaping (URL) -> Void) {
|
||||
super.init(rootView: HistoryView(viewModel: BrowserHistory.shared.viewModel(limit: 500), onSelectItem: onSelectItem))
|
||||
}
|
||||
|
||||
required dynamic init?(coder aDecoder: NSCoder) {
|
||||
|
||||
@@ -11,6 +11,7 @@ import UniformTypeIdentifiers
|
||||
struct HistoryView: View {
|
||||
@StateObject public var viewModel: BrowserHistory.ViewModel
|
||||
@State public var selectedItems = Set<HistoryItem.ID>()
|
||||
public var onSelectItem: (URL) -> Void
|
||||
|
||||
private let dateFormatter = DateFormatter() .. {
|
||||
$0.locale = Locale.current
|
||||
@@ -55,8 +56,7 @@ struct HistoryView: View {
|
||||
}
|
||||
}, primaryAction: { items in
|
||||
items.compactMap({ viewModel.item(forIdentifier: $0) }).forEach { item in
|
||||
UIApplication.shared.open(item.url)
|
||||
dismissAction()
|
||||
onSelectItem(item.url)
|
||||
}
|
||||
})
|
||||
.searchable(text: $viewModel.searchQuery)
|
||||
@@ -65,7 +65,7 @@ struct HistoryView: View {
|
||||
|
||||
struct HistoryViewPreviewProvider: PreviewProvider {
|
||||
static var previews: some View {
|
||||
HistoryView(viewModel: BrowserHistory.shared.viewModel())
|
||||
HistoryView(viewModel: BrowserHistory.shared.viewModel(), onSelectItem: { _ in })
|
||||
.previewLayout(.fixed(width: 480.0, height: 800.0))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user