mirror of
https://github.com/metabolist/metatext.git
synced 2024-11-22 00:01:00 +00:00
Improve reply indicator logic
This commit is contained in:
parent
8ad01a6ecf
commit
3a1d8d4470
1 changed files with 15 additions and 5 deletions
|
@ -28,16 +28,26 @@ extension ContextItemsInfo {
|
|||
section.filtered(regularExpression: regularExpression)
|
||||
.enumerated()
|
||||
.map { index, statusInfo in
|
||||
let isReplyInContext = index > 0
|
||||
&& section[index - 1].record.id == statusInfo.record.inReplyToId
|
||||
let hasReplyFollowing = section.count > index + 1
|
||||
&& section[index + 1].record.inReplyToId == statusInfo.record.id
|
||||
let isContextParent = statusInfo.record.id == parent.record.id
|
||||
let isReplyInContext: Bool
|
||||
|
||||
if isContextParent {
|
||||
isReplyInContext = !ancestors.isEmpty
|
||||
&& statusInfo.record.inReplyToId == ancestors.last?.record.id
|
||||
} else {
|
||||
isReplyInContext = index > 0
|
||||
&& section[index - 1].record.id == statusInfo.record.inReplyToId
|
||||
}
|
||||
|
||||
let hasReplyFollowing = (section.count > index + 1
|
||||
&& section[index + 1].record.inReplyToId == statusInfo.record.id)
|
||||
|| (statusInfo == ancestors.last && parent.record.inReplyToId == statusInfo.record.id)
|
||||
|
||||
return .status(
|
||||
.init(info: statusInfo),
|
||||
.init(showContentToggled: statusInfo.showContentToggled,
|
||||
showAttachmentsToggled: statusInfo.showAttachmentsToggled,
|
||||
isContextParent: statusInfo.record.id == parent.record.id,
|
||||
isContextParent: isContextParent,
|
||||
isReplyInContext: isReplyInContext,
|
||||
hasReplyFollowing: hasReplyFollowing))
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue