//
//  NoticeBoxView.swift
//  AcaMate
//
//  Created by TAnine on 2/11/25.
//

import SwiftUI

struct NoticeBoxView: View {
    @State var noticeList: [SummaryNotice]
    
    var body: some View {
        DashBoardView(image: Image(.Icon.notice), title: "공지사항") {
            if noticeList.isEmpty {
                EmptyBoxView(title: "공지가 없습니다.")
            } else {
                VStack(spacing: 12) {
                    ForEach(Array(noticeList.enumerated()), id: \.offset) { index, notice in
                        if index < 3 {
                            NotiCellView(summaryNoti: notice)
                        }
                    }
                }
            }
            
            
        } moreAction: {
            // MARK: TO-DO
            // 공지사항 전체 페이지 이동 로직 추가
            printLog("공지사항의 더보기")
            
        }
    }
}

struct NotiCellView: View {
    var summaryNoti: SummaryNotice
    
    var body: some View {
        VStack(spacing: 8) {
            HStack(spacing: 12) {
                Image(summaryNoti.new ? .Icon.noticeNew : .Icon.noticeOld)
                    .resizable()
                    .frame(width: 24, height: 24, alignment: .center)
                Text("\(summaryNoti.title)")
                    .font(.nps(size: 20))
                    .foregroundStyle(Color(.Text.title))
                Spacer(minLength: 1)
            }
            HStack(spacing: 4) {
                Spacer(minLength: 1)
                Text("날짜 :")
                    .font(.nps(size: 12))
                    .foregroundStyle(Color(.Text.detail))
                Text("\(summaryNoti.date)")
                    .font(.nps(size: 12))
                    .frame(width: 80)
                    .foregroundStyle(Color(.Text.detail))
            }
        }
        .padding(12)
        .background {
            RoundedRectangle(cornerRadius: 4)
                .stroke(Color(.Second.normal), lineWidth: 2)
                .fill(Color(.Second.light))
        }
        .onTapGesture {
            printLog("공지사항 내부 셀 클릭")
              // MARK: TO-DO
                      }
    }
}
