souplesse

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit ea2732e525a8598d24aac2cf2fbf57665bf1a98a
parent 7a1901af7b968419036433e3d44a62a60d1d7e9d
Author: Daniel Barlow <dan@telent.net>
Date:   Sun, 10 Nov 2024 17:30:28 +0000

linkify calendar entries

Diffstat:
Mapp/Main.hs | 10+++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/app/Main.hs b/app/Main.hs @@ -10,7 +10,9 @@ import Control.Monad.Logger (runStderrLoggingT) import Control.Monad.Trans.Resource (runResourceT) import Data.ByteString.Lazy as BS import Data.List as List -import Data.Time.Clock.POSIX (posixSecondsToUTCTime) +import Data.Text as T +import Data.Time.Clock.POSIX (posixSecondsToUTCTime, utcTimeToPOSIXSeconds) +import Data.Time.Clock (nominalDiffTimeToSeconds) import Database.Persist.Postgresql (ConnectionPool, ConnectionString, SqlBackend, runMigration, runSqlPool, getPgInterval, withPostgresqlPool) import Debug.Trace (traceShow) import Session @@ -56,6 +58,8 @@ instance YesodPersist Souplesse where getCalendarR :: Handler Html getCalendarR = do + let fTime = T.pack . show . floor . utcTimeToPOSIXSeconds + fDur = T.pack . show . ceiling . nominalDiffTimeToSeconds . getPgInterval (formWidget, _) <- generateFormPost uploadForm sessions' <- runDB Session.recents defaultLayout @@ -65,8 +69,8 @@ getCalendarR = do <p>A calendar view goes here <ul> $forall s <- sessions' - <li>#{show $ sessionStartTime s} #{show $ getPgInterval (sessionDuration s)} - + <li> + <a href=@?{(TimelineR, [("start", fTime $ sessionStartTime s), ("duration", fDur $ sessionDuration s)])} > #{show $ sessionStartTime s} #{show $ getPgInterval (sessionDuration s)} <form action="/upload" method=post enctype="multipart/form-data"> ^{formWidget}