feat(image): 마이페이지 DownsampledKFImage 적용

- 최근 들은 콘텐츠 수평 리스트 HStack → LazyHStack으로 교체해 프리로딩/메모리 개선
This commit is contained in:
Yu Sung
2025-10-23 19:14:46 +09:00
parent d9fcdff7a2
commit 43d73058d6

View File

@@ -257,11 +257,11 @@ struct ProfileSectionView: View {
VStack(spacing: 16) { VStack(spacing: 16) {
HStack(spacing: 20) { HStack(spacing: 20) {
// Profile Image Placeholder // Profile Image Placeholder
KFImage(URL(string: profileUrl)) DownsampledKFImage(
.cancelOnDisappear(true) url: URL(string: profileUrl),
.resizable() size: CGSize(width: 64, height: 64)
.frame(width: 64, height: 64) )
.clipShape(Circle()) .clipShape(Circle())
VStack(alignment: .leading) { VStack(alignment: .leading) {
Text("\(nickname)") Text("\(nickname)")
@@ -481,7 +481,7 @@ struct RecentContentSection: View {
.padding(.horizontal, 24) .padding(.horizontal, 24)
ScrollView(.horizontal, showsIndicators: false) { ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 16) { LazyHStack(spacing: 16) {
ForEach(0..<recentContents.count, id: \.self) { index in ForEach(0..<recentContents.count, id: \.self) { index in
RecentItemView(content: recentContents[index]) RecentItemView(content: recentContents[index])
} }
@@ -499,12 +499,11 @@ struct RecentItemView: View {
var body: some View { var body: some View {
VStack(spacing: 8) { VStack(spacing: 8) {
VStack(alignment: .leading, spacing: 0) { VStack(alignment: .leading, spacing: 0) {
KFImage(URL(string: content.coverImageUrl)) DownsampledKFImage(
.cancelOnDisappear(true) url: URL(string: content.coverImageUrl),
.resizable() size: CGSize(width: 160, height: 160)
.scaledToFill() )
.frame(width: 160, height: 160, alignment: .top) .cornerRadius(16)
.cornerRadius(16)
Text(content.title) Text(content.title)
.font(.custom(Font.preRegular.rawValue, size: 18)) .font(.custom(Font.preRegular.rawValue, size: 18))