package com.sp365.calendar import androidx.compose.runtime.Composable import com.sp365.calendar.components.CalendarWithTaskScreen import com.sp365.calendar.model.EventDayItem import com.sp365.calendar.model.EventNative import com.sp365.calendar.model.Job import com.sp365.calendar.model.JobList import com.sp365.calendar.model.Priority import com.sp365.calendar.model.Property import com.sp365.calendar.model.User import com.sp365.calendar.model.ViewType import java.time.LocalDate import java.time.format.DateTimeFormatter @Composable fun CalendarComponent(initDate: LocalDate, viewType: ViewType, events: MutableList) { val jobs = mutableListOf() for (i in 0 until events.size) { val eventDay = events[i]; val jobList: MutableList = mutableListOf(); for (j in 0 until eventDay.events.size) { val event = events[i].events[j]; val startTime = if (event.isAllDay) "00:00" else event.start.format(DateTimeFormatter.ofPattern("HH:mm")) val endTime = if (event.isAllDay) "00:00" else event.start.plusMinutes(event.duration.toLong()).toString() val jobDayList = EventNative( date = eventDay.date.toString(), Duration = if (event.isAllDay) 24.0 else event.duration / 60.0, startTime = startTime, endTime = endTime, id = 0, ListTasks = null, title = event.name, Author = User( Email = "", LookupId = 0, LookupValue = "" ), Editor = User ( Email = "", LookupId = 0, LookupValue = "" ), Fields = "", Status = "", Location = "", MetaData = "", Modified = "", priority = when (event.priority){ Priority.None -> 0 Priority.Low -> 1 Priority.Medium -> 10 Priority.High -> 20 Priority.Urgent -> 30 }, BKPermissionEditAnDelete = "", Property = Property( LookupValue = "", LookupId = 0 ), BK_Note = "", BKGroup = 0, Eventid = "a", Meeting = false, FilesLink = "", SetupNoti = "", PurposeTitle = "", UsersFollower = null, BK_Content = "", Department = null, Permission = null, StatusCode = 200, Description = "", MetaDataRaw = "", MettingData = "", UserManager = null, PurposeDescription = "", PersonInCharge = null ); jobs += jobDayList; } } CalendarWithTaskScreen(job = jobs); }