AcaMate_iOS/AcaMate/1. View/12. Main/121. Home/CalendarBoxView.swift
2025-02-12 16:56:14 +09:00

73 lines
2.2 KiB
Swift

//
// CalendarBoxView.swift
// AcaMate
//
// Created by TAnine on 2/10/25.
//
import SwiftUI
struct CalendarBoxView: View {
@State var summaryCalDataList: [SummaryCalendar]
var body: some View {
DashBoardView(image: Image(.Icon.calendar), title: "최근 일정") {
if summaryCalDataList.isEmpty {
EmptyBoxView(title: "최근 일정이 없습니다.")
} else {
VStack(spacing: 12) {
ForEach(Array(summaryCalDataList.enumerated()), id: \.offset) { index, data in
CalCellView(summaryCalData: data)
}
}
}
} moreAction: {
printLog("최근일정의 더보기")
}
}
}
struct CalCellView: View {
var summaryCalData: SummaryCalendar
var body: some View {
VStack(spacing: 8) {
HStack (spacing: 12) {
Image(.Icon.clock)
.resizable()
.frame(width: 24, height: 24, alignment: .center)
Text("\(summaryCalData.date)")
.font(.nps(size: 20))
.foregroundStyle(Color(.Text.detail))
Spacer(minLength: 1)
}
HStack(spacing: 0) {
Spacer(minLength: 1)
Text("\(summaryCalData.summary)")
.font(.nps(size: 20))
.foregroundStyle(Color(.Text.black))
.lineLimit(1)
.minimumScaleFactor(0.5)
.truncationMode(.tail)
}
}
.padding(12)
.background {
RoundedRectangle(cornerRadius: 4)
.stroke(Color(.Second.normal), lineWidth: 2)
.fill(Color(.Second.light))
}
.onTapGesture {
printLog("캘린더 내부 셀 클릭")
// MARK: TO-DO
// Summary
// SummaryCalendar' id
//
}
}
}