From 8b6c42d832f26bc277e125f876da8d21931550c6 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 16 Apr 2026 01:55:48 +0200 Subject: Server.Frontend.Tracker: add tracker list overview --- lib/Server/Frontend/Tracker.hs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'lib/Server/Frontend/Tracker.hs') diff --git a/lib/Server/Frontend/Tracker.hs b/lib/Server/Frontend/Tracker.hs index 23bbdb9..e3d88ba 100644 --- a/lib/Server/Frontend/Tracker.hs +++ b/lib/Server/Frontend/Tracker.hs @@ -1,9 +1,11 @@ {-# LANGUAGE BlockArguments #-} {-# LANGUAGE QuasiQuotes #-} -module Server.Frontend.Tracker (getTrackerViewR) where +module Server.Frontend.Tracker (getTrackerViewR, getTrackersR) where import Data.Coerce (coerce) +import Data.Function ((&)) import Data.Functor ((<&>)) +import qualified Data.Map as M import Data.Text (Text) import qualified Data.Text as T import Data.Time (getCurrentTime) @@ -16,6 +18,24 @@ import Yesod hiding (update, (=.), (==.)) import OwnTracks.Status + +getTrackersR :: Handler Html +getTrackersR = do + trackers <- runDB $ select do + (t :& p) <- from $ + (table @Tracker) `LeftOuterJoin` (table @Ping) + `on` \(t :& p) -> just (t ^. TrackerId) ==. p ?. PingTrackerId + pure (t, p) + & fmap associateJoin + + defaultLayout [whamlet| +

Trackers +
+