diff --git a/apps/ios/Sources/Litter/Extensions.swift b/apps/ios/Sources/Litter/Extensions.swift index aaa6e458b..0e922204e 100644 --- a/apps/ios/Sources/Litter/Extensions.swift +++ b/apps/ios/Sources/Litter/Extensions.swift @@ -595,3 +595,12 @@ extension View { } } } + +extension Array { + func chunked(into size: Int) -> [[Element]] { + guard size > 0 else { return [self] } + return stride(from: 0, to: count, by: size).map { + Array(self[$0.. some View { + if let request = UserBubble.imageRequest(for: img) { + LazyImage(request: request) { state in + if let image = state.image { + let thumb = image + .resizable() + .scaledToFill() + .frame(width: 100, height: 100) + .clipShape(RoundedRectangle(cornerRadius: 12)) + if let ui = state.imageContainer?.image { + thumb.draggable(Image(uiImage: ui)) { + Image(uiImage: ui) + .resizable() + .scaledToFit() + .frame(width: 120) + } + } else { + thumb + } + } + } + } + } + private var visibleText: String { guard shouldLimitText, !expandedLongText else { return text