homeview patch
This commit is contained in:
parent
f7c8c1c0a0
commit
efc7773c04
@ -11,6 +11,10 @@ struct NewHomeTab: View {
|
||||
viewModel.posts.enumerated().filter { $0.offset % 2 != 0 }.map { $0.element }
|
||||
}
|
||||
|
||||
// Рассчитываем ширину колонки на основе ширины экрана.
|
||||
// Отступы: 4 слева + 4 справа + 6 между колонками = 14.
|
||||
private let columnWidth = (UIScreen.main.bounds.width - 14) / 2
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
if viewModel.isLoading {
|
||||
@ -22,12 +26,12 @@ struct NewHomeTab: View {
|
||||
HStack(alignment: .top, spacing: 6) {
|
||||
LazyVStack(spacing: 6) {
|
||||
ForEach(column1Posts) { post in
|
||||
PostGridItem(post: post)
|
||||
PostGridItem(post: post, width: columnWidth)
|
||||
}
|
||||
}
|
||||
LazyVStack(spacing: 6) {
|
||||
ForEach(column2Posts) { post in
|
||||
PostGridItem(post: post)
|
||||
PostGridItem(post: post, width: columnWidth)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -44,19 +48,17 @@ struct NewHomeTab: View {
|
||||
|
||||
struct PostGridItem: View {
|
||||
let post: Post
|
||||
let width: CGFloat // Ширина элемента
|
||||
|
||||
private var randomHeight: CGFloat {
|
||||
CGFloat.random(in: 150...300)
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 0) { // Убираем отступ между картинкой и текстом
|
||||
// 1. Медиа контент
|
||||
if let _ = post.media.first {
|
||||
Image("placeholderPhoto")
|
||||
.resizable()
|
||||
.aspectRatio(contentMode: .fill)
|
||||
.frame(height: randomHeight)
|
||||
.scaledToFill() // Заполняем кадр, сохраняя пропорции
|
||||
.frame(width: width, height: width) // Устанавливаем жесткий размер
|
||||
.clipped() // Обрезаем лишнее
|
||||
}
|
||||
|
||||
// Контейнер для текста, который создает эффект "расширения"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user