diff options
Diffstat (limited to 'overlays/spm/server/Spm/Server/UI.hs')
| -rw-r--r-- | overlays/spm/server/Spm/Server/UI.hs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/overlays/spm/server/Spm/Server/UI.hs b/overlays/spm/server/Spm/Server/UI.hs new file mode 100644 index 00000000..544e4f54 --- /dev/null +++ b/overlays/spm/server/Spm/Server/UI.hs | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | {-# LANGUAGE OverloadedStrings, TemplateHaskell #-} | ||
| 2 | |||
| 3 | module Spm.Server.UI | ||
| 4 | ( uiServer | ||
| 5 | ) where | ||
| 6 | |||
| 7 | import Prelude | ||
| 8 | |||
| 9 | import Network.Wai | ||
| 10 | |||
| 11 | import Network.Wai.Application.Static | ||
| 12 | import WaiAppStatic.Types | ||
| 13 | |||
| 14 | import Data.FileEmbed | ||
| 15 | |||
| 16 | |||
| 17 | uiServer :: Application | ||
| 18 | uiServer = staticApp settings | ||
| 19 | { ssLookupFile = \pcs -> ssLookupFile settings pcs >>= \case | ||
| 20 | LRNotFound -> ssLookupFile settings [unsafeToPiece "index.html"] | ||
| 21 | o -> return o | ||
| 22 | } | ||
| 23 | where settings = embeddedSettings $(embedDir "frontend") | ||
