diff --git a/src/app/earthquakes/page.tsx b/src/app/earthquakes/page.tsx
index 4e8cf30..5632ba1 100644
--- a/src/app/earthquakes/page.tsx
+++ b/src/app/earthquakes/page.tsx
@@ -8,6 +8,7 @@ import Sidebar from "@components/Sidebar";
import { createPoster } from "@utils/axiosHelpers";
import { Earthquake } from "@prismaclient";
import { getRelativeDate } from "@utils/formatters";
+import GeologicalEvent from "@appTypes/Event";
export default function Earthquakes() {
const [selectedEventId, setSelectedEventId] = useState("");
@@ -18,14 +19,20 @@ export default function Earthquakes() {
const earthquakeEvents = useMemo(
() =>
data && data.earthquakes
- ? data.earthquakes.map((x: Earthquake) => ({
- id: x.id,
- title: `Earthquake in ${x.code.split("-")[2]}`,
- magnitude: x.magnitude,
- longitude: x.longitude,
- latitude: x.latitude,
- text2: getRelativeDate(x.date),
- }))
+ ? data.earthquakes
+ .map(
+ (x: Earthquake): GeologicalEvent => ({
+ id: x.code,
+ title: `Earthquake in ${x.code.split("-")[2]}`,
+ magnitude: x.magnitude,
+ longitude: x.longitude,
+ latitude: x.latitude,
+ text1: "",
+ text2: getRelativeDate(x.date),
+ date: x.date,
+ })
+ )
+ .sort((a: GeologicalEvent, b: GeologicalEvent) => new Date(b.date).getTime() - new Date(a.date).getTime()) // Remove Date conversion
: [],
[data]
);
diff --git a/src/app/observatories/page.tsx b/src/app/observatories/page.tsx
index bf475a3..e147def 100644
--- a/src/app/observatories/page.tsx
+++ b/src/app/observatories/page.tsx
@@ -1,4 +1,5 @@
"use client";
+import { useMemo } from "react";
import { useState } from "react";
import useSWR from "swr";
@@ -6,18 +7,41 @@ import useSWR from "swr";
import Sidebar from "@/components/Sidebar";
import Map from "@components/Map";
import { fetcher } from "@utils/axiosHelpers";
+import { Observatory } from "@prismaclient";
+import { getRelativeDate } from "@utils/formatters";
+import GeologicalEvent from "@appTypes/Event";
export default function Observatories() {
const [selectedEventId, setSelectedEventId] = useState("");
const [hoveredEventId, setHoveredEventId] = useState("");
- // todo properly integrate loading
const { data, error, isLoading } = useSWR("/api/observatories", fetcher);
+ // todo add in earthquake events
+ const observatoryEvents = useMemo(
+ () =>
+ data && data.observatories
+ ? data.observatories
+ .map(
+ (x: Observatory): GeologicalEvent => ({
+ id: x.id.toString(),
+ title: `New Observatory - ${x.name}`,
+ longitude: x.longitude,
+ latitude: x.latitude,
+ text1: "",
+ text2: getRelativeDate(x.dateEstablished),
+ date: x.dateEstablished,
+ })
+ )
+ .sort((a: GeologicalEvent, b: GeologicalEvent) => new Date(b.date).getTime() - new Date(a.date).getTime()) // Remove Date conversion
+ : [],
+ [data]
+ );
+
return (