IceCubesApp/Packages/Status/Sources/Status/List/StatusesFetcher.swift
Thomas Ricouard 4189a59cf6
iOS 17+ only support + migrating to Observation framework (#1571)
* Initial iOS 17 + Observable migration

* More Observation

* More observation

* Checkpoint

* Checkpoint

* Bump version to 1.8.0

* SwiftFormat

* Fix home timeline switch on login

* Fix sidebar routerPath

* Fixes on detail view

* Remove print changes

* Simply detail view

* More opt

* Migrate DisplaySettingsLocalValues

* Better post detail transition

* Status detail animation finally right

* Cleanup
2023-09-18 07:01:23 +02:00

24 lines
526 B
Swift

import Combine
import Models
import Observation
import SwiftUI
public enum StatusesState {
public enum PagingState {
case hasNextPage, loadingNextPage, none
}
case loading
case display(statuses: [Status], nextPageState: StatusesState.PagingState)
case error(error: Error)
}
@MainActor
public protocol StatusesFetcher {
var statusesState: StatusesState { get }
func fetchNewestStatuses() async
func fetchNextPage() async
func statusDidAppear(status: Status)
func statusDidDisappear(status: Status)
}