diff --git a/Management.Web/Shared/Semester/Day.razor b/Management.Web/Shared/Semester/Day.razor
new file mode 100644
index 0000000..cf5aca8
--- /dev/null
+++ b/Management.Web/Shared/Semester/Day.razor
@@ -0,0 +1,78 @@
+@inject AssignmentDragContainer dragContainer
+
+@code
+{
+ [Parameter, EditorRequired]
+ public DateTime? date { get; set; } =
+ default!;
+
+ [Parameter, EditorRequired]
+ public SemesterPlanner Semester { get; set; } = default!;
+
+ private bool isWeekDay {
+ get => date?.DayOfWeek != null;
+ }
+ private bool dragging {get; set;} = false;
+ private string calculatedClass
+ {
+ get
+ {
+ var baseClasses = "col border rounded rounded-3 p-2 pb-4 m-1 ";
+ if(dragging)
+ return baseClasses + " bg-secondary text-light ";
+
+ if (isWeekDay)
+ {
+ DayOfWeek? weekDay = date?.DayOfWeek;
+ DayOfWeek notNullDay = weekDay ?? default;
+ var dayInSemester =
+ Semester.Days.Contains(notNullDay)
+ && date < Semester.LastDay
+ && date > Semester.FirstDay;
+
+ var totalClasses = dayInSemester ? $"bg-light {baseClasses}" : baseClasses;
+
+ return totalClasses;
+ }
+ else
+ {
+ return baseClasses;
+ }
+ }
+ }
+ void OnDragStart()
+ {
+ Console.WriteLine("on drag start");
+ }
+
+ async Task OnDrop()
+ {
+ Console.WriteLine("on drop");
+ dragging = false;
+ if(dragContainer.AssignmentBeingDragged == null){
+ System.Console.WriteLine("no assignment in drop event");
+ return;
+ }
+
+ Console.WriteLine(JsonSerializer.Serialize(dragContainer.AssignmentBeingDragged));
+ dragContainer.AssignmentBeingDragged = null;
+ }
+
+ async Task OnDragEnter() {
+ dragging = true;
+ }
+ async Task OnDragLeave() {
+ dragging = false;
+ }
+}
+
+
OnDrop())"
+ @ondragenter="OnDragEnter"
+ @ondragleave="OnDragLeave"
+ ondragover="event.preventDefault();"
+ ondragstart="event.dataTransfer.setData('', event.target.id);"
+>
+ @(isWeekDay ? date?.Day : "")
+
\ No newline at end of file
diff --git a/Management.Web/Shared/Semester/MonthDetail.razor b/Management.Web/Shared/Semester/MonthDetail.razor
index ac598c3..e7f673e 100644
--- a/Management.Web/Shared/Semester/MonthDetail.razor
+++ b/Management.Web/Shared/Semester/MonthDetail.razor
@@ -28,7 +28,7 @@
@foreach (var day in week)
{
- var baseClasses = "col border rounded rounded-3 pb-5 m-1";
+ @* var baseClasses = "col border rounded rounded-3 pb-5 m-1";
DayOfWeek? weekDay = day?.DayOfWeek;
if (weekDay != null)
{
@@ -40,7 +40,8 @@
else
{
- }
+ } *@
+
}