Skip to content

Commit

Permalink
feat: #72 일일 기록에 따른 텍스트 수정
Browse files Browse the repository at this point in the history
feat: #72 일일 기록에 따른 텍스트 수정

feat: #72 일일 기록에 따른 텍스트 수정 푸쉬 전

feat: #72 일일 기록에 따른 텍스트 수정 코드 단순화_함수변경

feat: #72  불필요 코드 삭제

feat: #72  커밋메시지수정
  • Loading branch information
hyeonheebee committed Nov 20, 2024
1 parent c873d98 commit e0442a3
Showing 1 changed file with 29 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,32 @@ struct WeeklyReadingProgressView: View {
@Query(filter: #Predicate<UserBook> { $0.isCompleted == false })
private var currentlyReadingBooks: [UserBook] // 현재 읽고 있는 책을 가져오는 쿼리

// 텍스트 변경을 위한 추가 필요데이터
let today = Date()

var body: some View {
// 텍스트 변경 기능을 위한 추가 코드
// 현재 읽는 책을 가져옵니다
if let currentReadingBook = currentlyReadingBooks.first {
// getTodayRedcrodedPage함수를 통해 오늘 기록을 가져옵니다
let todayRecords = getTodayRecordedPage(for: currentReadingBook, from: today)
VStack(alignment: .leading, spacing: 17) {

VStack(alignment: .leading, spacing: 8) {
Text("\(currentReadingBook.nonZeroReadingDaysCount())일 째 도전중!")
.font(.system(size: 17, weight: .semibold))
.foregroundColor(.black)

// 텍스트 변경을 위한 추가 코드
// todayRecords이 nil이 아니면 todayRecords가 할당
if let todayRecords = todayRecords {
// 오늘 페이지를 읽어서 기록이 되면 타겟페이지와 같아지고 hasCompleteToday는 true 할당
let hasCompletedToday = todayRecords.pagesRead == todayRecords.targetPages
Text(hasCompletedToday ? "오늘도 성공이에요! 화이팅🤩" : "오늘은 \(todayRecords.targetPages)쪽 까지 읽어야해요!")
.font(.system(size: 17, weight: .semibold))
.foregroundColor(.black)
}
Text("매일 방문하고 기록을 남겨보세요")
.font(.system(size: 14, weight: .medium))
.foregroundColor(.gray)
}
.padding(.top, 22)
.padding(.horizontal, 24)

WeeklyPageCalendarView(currentReadingBook: currentReadingBook)
.padding(.horizontal, 15)
.padding(.bottom, 21)
Expand Down Expand Up @@ -67,6 +77,19 @@ struct WeeklyReadingProgressView: View {
.shadow(color: Color(red: 0.84, green: 0.84, blue: 0.84).opacity(0.25), radius: 2, x: 0, y: 4)
}
}
// 텍스트 변경을 위한 추가함수
// 현재 날짜를 기준으로 오늘의 타겟페이지와 읽은 페이지를 가져오는 함수
private func getTodayRecordedPage(for userBook: UserBook, from today: Date) -> ReadingRecord? {
let dateKey = toYearMonthDayString(today) // 오늘 날짜를 문자열로 변환
return userBook.readingRecords[dateKey] // 오늘 독서기록을 반환(타겟페이지, 읽은페이지)
}

private func toYearMonthDayString(_ date: Date) -> String {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
formatter.timeZone = TimeZone.current
return formatter.string(from: date)
}
}

#Preview {
Expand Down

0 comments on commit e0442a3

Please sign in to comment.