refactor: remove dead code, DRY calendar navigation and helpers
- Fix Jalali calendar weekday offset in buildCalendarMonth - Remove unused gregorianDateKey function and PairCount field - Replace inline export month title with formatMonthTitle - Extract navMonth helper for prev/next month navigation - Extract sendOrEdit helper for send-vs-edit message pattern - Extract monthGregorianRange helper to simplify editCalendar 3-way switch - Replace export displayDate conversion with formatDateForCalendar
This commit is contained in:
@@ -211,9 +211,12 @@ func buildCalendarMonth(cal string, year, month int) calMonth {
|
||||
|
||||
gy, gm, gd := jalaliToGregorian(year, month, 1)
|
||||
dow := dayOfWeekGregorian(gy, gm, gd)
|
||||
_ = dow
|
||||
startOffset := (dow + 1) % 7
|
||||
|
||||
var days []calDay
|
||||
for i := 0; i < startOffset; i++ {
|
||||
days = append(days, calDay{dayNum: 0, date: ""})
|
||||
}
|
||||
for d := 1; d <= totalDays; d++ {
|
||||
gy, gm, gd = jalaliToGregorian(year, month, d)
|
||||
days = append(days, calDay{
|
||||
@@ -267,10 +270,6 @@ func buildCalendarMonth(cal string, year, month int) calMonth {
|
||||
return calMonth{title: title, weekDays: weekDays, days: days}
|
||||
}
|
||||
|
||||
func gregorianDateKey(year, month, day int) string {
|
||||
return fmt.Sprintf("%04d-%02d-%02d", year, month, day)
|
||||
}
|
||||
|
||||
func parseGregorianDateKey(key string) (int, int, int) {
|
||||
var y, m, d int
|
||||
fmt.Sscanf(key, "%04d-%02d-%02d", &y, &m, &d)
|
||||
@@ -290,3 +289,27 @@ func formatDateForCalendar(date, calType string) string {
|
||||
return date
|
||||
}
|
||||
}
|
||||
|
||||
// monthGregorianRange returns the Gregorian start and end date strings
|
||||
// for a given calendar month (cal=gregorian|jalali|hijri).
|
||||
func monthGregorianRange(cal string, year, month int) (start, end string) {
|
||||
switch cal {
|
||||
case "jalali":
|
||||
gy, gm, gd := jalaliToGregorian(year, month, 1)
|
||||
start = fmt.Sprintf("%04d-%02d-%02d", gy, gm, gd)
|
||||
lastDay := monthLenJalali(year, month)
|
||||
gy, gm, gd = jalaliToGregorian(year, month, lastDay)
|
||||
end = fmt.Sprintf("%04d-%02d-%02d", gy, gm, gd)
|
||||
case "hijri":
|
||||
gy, gm, gd := hijriToGregorian(year, month, 1)
|
||||
start = fmt.Sprintf("%04d-%02d-%02d", gy, gm, gd)
|
||||
lastDay := monthLenHijri(year, month)
|
||||
gy, gm, gd = hijriToGregorian(year, month, lastDay)
|
||||
end = fmt.Sprintf("%04d-%02d-%02d", gy, gm, gd)
|
||||
default:
|
||||
start = fmt.Sprintf("%04d-%02d-%02d", year, month, 1)
|
||||
lastDay := monthLenGreg(year, month)
|
||||
end = fmt.Sprintf("%04d-%02d-%02d", year, month, lastDay)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user