From 44e7a2ce80bfded4ac42fe087fe74c4da55ed55e Mon Sep 17 00:00:00 2001 From: SamuelmdLow Date: Wed, 21 Aug 2024 23:36:23 +0000 Subject: [PATCH] Fix mobile version of events page --- events/views.py | 2 +- .../src/js/components/Events/calendar.jsx | 90 +++++++++++++------ .../src/styles/components/events/_base.scss | 32 +++++-- 3 files changed, 89 insertions(+), 35 deletions(-) diff --git a/events/views.py b/events/views.py index 1255517d9..9bf086f5c 100644 --- a/events/views.py +++ b/events/views.py @@ -503,7 +503,7 @@ class Meta: class EventsViewSet(viewsets.ModelViewSet): serializer_class = EventsSerializer - queryset = Event.objects.filter(hidden=False) + queryset = Event.objects.filter(hidden=False).order_by("start_time") filter_backends = [filters.SearchFilter, DjangoFilterBackend] filterset_fields = { 'start_time': ['gte', 'lte'], diff --git a/ubyssey/static_src/src/js/components/Events/calendar.jsx b/ubyssey/static_src/src/js/components/Events/calendar.jsx index 98d15ce83..6cdcd9415 100644 --- a/ubyssey/static_src/src/js/components/Events/calendar.jsx +++ b/ubyssey/static_src/src/js/components/Events/calendar.jsx @@ -447,13 +447,7 @@ function EventsCalendar({events}) { } function EventInfo({events}) { - - function shortenUrl(url) { - var a = document.createElement("a"); - a.href= url; - return a.host; - } - + let [searchParams, setSearchParams] = useSearchParams(); let query = useQuery(); var event = false; if (query.get("event") != null){ @@ -466,33 +460,71 @@ function EventInfo({events}) { } } + React.useEffect(()=>{ + console.log(document.getElementById('event-dialog')); + if(document.getElementById('event-dialog')) { + document.getElementById('event-dialog').showModal(); + document.body.style.overflow = 'hidden'; + } else { + document.body.style.overflow = 'auto'; + } + }) + + function exitEvent(searchParams, setSearchParams) { + searchParams.delete("event"); + setSearchParams(searchParams); + } + return (
{event && -
-
-

- {displayEventTime(event.start_time, event.end_time)} -

-
-

- {event.location != "" &&

Location: {event.location}

} -

" + (event.description ? event.host : "Hosted by " + event.host) + " " : "") + event.description.replace(/(?:\r\n|\r|\n)/g, '
')} - }> -

-

- {shortenUrl(event.event_url)} - {document.getElementById('calendar').getAttribute("authenticated")=="True" && - edit - } -

+ <> + {screen.width <= 759 ? + <> + +
exitEvent(searchParams, setSearchParams)}>
+ + +
+ + : +
+
-
-
+ } + }
); +} + +function EventInfoBox({event}) { + function shortenUrl(url) { + var a = document.createElement("a"); + a.href= url; + return a.host; + } + return ( +
+

+ {displayEventTime(event.start_time, event.end_time)} +

+
+

+ {event.location != "" &&

Location: {event.location}

} +

" + (event.description ? event.host : "Hosted by " + event.host) + " " : "") + event.description.replace(/(?:\r\n|\r|\n)/g, '
')} + }> +

+

+ {shortenUrl(event.event_url)} + {document.getElementById('calendar').getAttribute("authenticated")=="True" && + edit + } +

+
+
+ ); } \ No newline at end of file diff --git a/ubyssey/static_src/src/styles/components/events/_base.scss b/ubyssey/static_src/src/styles/components/events/_base.scss index 3fef9ea0d..b0a418c7b 100644 --- a/ubyssey/static_src/src/styles/components/events/_base.scss +++ b/ubyssey/static_src/src/styles/components/events/_base.scss @@ -384,16 +384,38 @@ header.events{ } main.events-page .events-flex .events-info-container { width: 100%; + height: 0; position: fixed; + dialog { + display: block; + .events-info-shadow { + left: 0; + right: 0; + top: 0; + bottom: 0; + position: fixed; + background-color: #0000008a; + z-index: -1; + } + button { + position: absolute; + right: 1em; + top: 1em; + background: none; + border: none; + color: black; + } + .events-info { + margin: 5em auto auto auto; + } + } .events-info-container--div { - width: 100%; - padding: 1em; position: fixed; box-sizing: border-box; - background-color: #0000008a; - height: 100%; + min-height: 0; + height: 0; .events-info { - margin: auto; + margin: 3em auto auto auto; } } }