feat(content): 랭킹 탭을 추가한다
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import SwiftUI
|
||||
|
||||
struct MainContentRankChangeBadge: View {
|
||||
let showRankChange: Bool
|
||||
let rankChange: Int?
|
||||
let isNew: Bool
|
||||
|
||||
var body: some View {
|
||||
if showRankChange {
|
||||
if isNew {
|
||||
Image("ic_rank_new")
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 28, height: 12)
|
||||
} else if let rankChange {
|
||||
HStack(spacing: 2) {
|
||||
switch rankChange {
|
||||
case let value where value > 0:
|
||||
rankChangeText(abs(value))
|
||||
rankChangeIcon("ic_rank_caret_increase")
|
||||
case let value where value < 0:
|
||||
rankChangeText(abs(value))
|
||||
rankChangeIcon("ic_rank_caret_decrease")
|
||||
default:
|
||||
rankChangeIcon("ic_rank_caret_stay")
|
||||
}
|
||||
}
|
||||
.padding(.horizontal, 4)
|
||||
.background(Color.gray900)
|
||||
.cornerRadius(4)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func rankChangeText(_ value: Int) -> some View {
|
||||
Text("\(value)")
|
||||
.appFont(.caption2)
|
||||
.foregroundColor(Color.gray400)
|
||||
.lineLimit(1)
|
||||
}
|
||||
|
||||
private func rankChangeIcon(_ name: String) -> some View {
|
||||
Image(name)
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 8, height: 8)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user