From 45c4f4985e4a21a9a1d09af8d73ef444bb2e56c3 Mon Sep 17 00:00:00 2001 From: Mahmoud-Emad Date: Wed, 28 May 2025 16:59:24 +0300 Subject: [PATCH] feat: Enhance calendar display and event management - Improve event display: Show only the first two events for each day in the calendar, with a "+X more" link to show the rest. - Add event details modal: Allows viewing and deleting events. - Enhance event creation modal: Improve user experience and add color selection for events. - Improve year view: Show the number of events for each month. - Improve day view: Display all day events separately. - Improve styling and layout: Enhance the visual appeal and responsiveness of the calendar. --- actix_mvc_app/src/views/calendar/index.html | 669 +++++++++++++++----- 1 file changed, 506 insertions(+), 163 deletions(-) diff --git a/actix_mvc_app/src/views/calendar/index.html b/actix_mvc_app/src/views/calendar/index.html index 1bc8aed..d8c0b0c 100644 --- a/actix_mvc_app/src/views/calendar/index.html +++ b/actix_mvc_app/src/views/calendar/index.html @@ -92,8 +92,9 @@ {% for day_idx in range(start=0, end=7) %} {% set idx = week * 7 + day_idx %} - @@ -111,214 +112,310 @@ {% if day.events|length > 0 %}
{% for event in day.events %} - {% if loop.index <= 2 %}
+
{{ event.title }} +
+ {% endfor %} + {% if day.events|length > 2 %} + + {% endif %}
{% endif %} - {% endfor %} - {% if day.events|length > 2 %} -
+{{ day.events|length - 2 }} more
{% endif %} + {% endif %} + + {% endfor %} + + {% endfor %} + +
- {% endif %} - {% endif %} - {% endif %} - - {% endfor %} - - {% endfor %} - - - -{% elif view_mode == "year" %} - -
-
-

- Year {{ current_year }} -

-
-
-
- {% for month in months %} -
-
-
-
{{ month.name }}
-
-
- {% if month.events|length > 0 %} -
- {{ month.events|length }} + {% elif view_mode == "year" %} + +
+
+

+ Year {{ current_year }} +

+
+
+
+ {% for month in months %} +
+
+
+
{{ month.name }}
-

- {% if month.events|length == 1 %} - 1 event +

+ {% if month.events|length > 0 %} +
+ {{ month.events|length }} +
+

+ {% if month.events|length == 1 %} + 1 event + {% else %} + {{ month.events|length }} events + {% endif %} +

+ {% else %} - {{ month.events|length }} events +
+ +

No events

+
{% endif %} -

- - {% else %} -
- -

No events

-
- {% endif %}
-
- {% endfor %} -
-
-
-{% elif view_mode == "day" %} -

Day View: {{ current_date }}

- -
-
- All Day Events -
-
- {% if events is defined and events|length > 0 %} - {% for event in events %} - {% if event.all_day %} -
-
{{ event.title }}
-

{{ event.description }}

-
- {% endif %} - {% endfor %} - {% else %} -

No all-day events

- {% endif %} -
-
- -
- {% for hour in range(start=0, end=24) %} -
-
-
- {{ hour|format_hour }}:00 -
-
- {% if events is defined and events|length > 0 %} - {% for event in events %} - {% if not event.all_day %} - {% set start_hour = event.start_time|extract_hour %} - {% if start_hour == hour|string %} -
-
{{ event.title }}
-

{{ event.start_time|format_time }} - {{ event.end_time|format_time }}

-

{{ event.description }}

-
- {% endif %} - {% endif %} {% endfor %} - {% endif %}
- {% endfor %} -
-{% endif %} + {% elif view_mode == "day" %} +

Day View: {{ current_date }}

- -