diff --git a/src/lib/components/Feedback.svelte b/src/lib/components/Feedback.svelte index 53b57f9..58f3eb3 100644 --- a/src/lib/components/Feedback.svelte +++ b/src/lib/components/Feedback.svelte @@ -80,7 +80,7 @@ }} class="feedbackContainer" > -

Submit Feedback

+

Update Tags

diff --git a/src/lib/components/SpaceCard.svelte b/src/lib/components/SpaceCard.svelte index aa14527..56bd89d 100644 --- a/src/lib/components/SpaceCard.svelte +++ b/src/lib/components/SpaceCard.svelte @@ -114,7 +114,7 @@ .compulsoryContainer { display: grid; - grid-template-columns: repeat(auto-fit, minmax(3.75rem, 1fr)); + grid-template-columns: repeat(auto-fit, minmax(3.7rem, 1fr)); gap: 0.3rem; font-size: 0.8rem; } diff --git a/src/lib/index.ts b/src/lib/index.ts index 41d52c4..d8d8d52 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -18,7 +18,7 @@ export const availableStudySpaceTags = [ "Air conditioned", "Cold", "PCs", - "Cringe" + "Rodent-ridden" ]; export const volumeTags = ["Silent", "Some Noise", "Loud"]; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5f0100f..d0ef663 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -99,6 +99,33 @@ }) ); + const sortedByOpenNow = $derived( + filteredStudySpaces.toSorted((a, b) => { + const now = new Date(); + const time = now.toTimeString().slice(0, 5); + const today = now.getDay(); + let openUntil = [0, 0] as number[]; + for (const [index, day] of [a, b].entries()) { + const timingsPerDay = collectTimings(day.study_space_hours); + for (const timing of timingsPerDay[today]) { + if (timing.open_today_status === true) { + openUntil[index] = 24 * 60; + break; + } else if (timing.open_today_status === false) { + break; + } else { + const opensFor = timeUntilClosing(timing.opens_at, timing.closes_at, time); + if (opensFor) { + openUntil[index] = opensFor; + break; + } + } + } + } + return openUntil[1] - openUntil[0]; + }) + ); + const sortedStudySpaces = $derived( sortNear ? filteredStudySpaces.toSorted((a, b) => { @@ -122,7 +149,7 @@ ); return aDistance - bDistance; }) - : filteredStudySpaces + : sortedByOpenNow ); // Open now @@ -170,10 +197,18 @@ new + {/if} + {#if adminMode} + + + + {/if} + {#if session} {/if} +
-
- {/if} {#each sortedStudySpaces as studySpace (studySpace.id)} {@const imgUrl = studySpace.study_space_images.length > 0 @@ -256,7 +286,8 @@ grid-column: 1 / -1; display: flex; flex-direction: column; - font-size: 1.2rem; + font-size: 1rem; + margin-left: 0.5rem; } .fav-button { diff --git a/src/routes/filter/+page.svelte b/src/routes/filter/+page.svelte index 8f37090..36576e6 100644 --- a/src/routes/filter/+page.svelte +++ b/src/routes/filter/+page.svelte @@ -68,8 +68,8 @@ const { Map } = await loader.importLibrary("maps"); const { AdvancedMarkerElement } = await loader.importLibrary("marker"); const map = new Map(sortMapElem, { - center: { lat: 53.6, lng: -1.56 }, - zoom: 5, + center: { lat: 51.5087393, lng: -0.1667442 }, + zoom: 10, mapId: "9f4993cd3fb1504d495821a5" }); marker = new AdvancedMarkerElement({ diff --git a/src/routes/space/[id]/+page.svelte b/src/routes/space/[id]/+page.svelte index 233b18c..0bf4b78 100644 --- a/src/routes/space/[id]/+page.svelte +++ b/src/routes/space/[id]/+page.svelte @@ -187,7 +187,7 @@ isFeedbackPromptVisible = true; }} > - Help categorise this space + Update Tags