2
2
mirror of https://github.com/mastodon/mastodon-ios synced 2025-04-11 22:58:02 +02:00
mastodon-ios/MastodonSDK/Sources/MastodonUI/View/TableViewCell/TimelineMiddleLoaderTableViewCell+ViewModel.swift
2024-01-08 11:17:40 +01:00

46 lines
1009 B
Swift

//
// TimelineMiddleLoaderTableViewCell+ViewModel.swift
// Mastodon
//
// Created by MainasuK on 2022-1-17.
//
import UIKit
import Combine
import MastodonSDK
extension TimelineMiddleLoaderTableViewCell {
public class ViewModel {
var disposeBag = Set<AnyCancellable>()
@Published var isFetching = false
}
}
extension TimelineMiddleLoaderTableViewCell.ViewModel {
public func bind(cell: TimelineMiddleLoaderTableViewCell) {
$isFetching
.sink { isFetching in
if isFetching {
cell.startAnimating()
} else {
cell.stopAnimating()
}
}
.store(in: &disposeBag)
}
}
extension TimelineMiddleLoaderTableViewCell {
public func configure(
feed: MastodonFeed,
delegate: TimelineMiddleLoaderTableViewCellDelegate?
) {
self.viewModel.isFetching = feed.isLoadingMore
self.delegate = delegate
}
}