From 10e3724a1aa7c4dbf86ef6fc9a7dd2a288c789da Mon Sep 17 00:00:00 2001 From: James Eversole Date: Tue, 19 Jul 2022 15:57:30 -0500 Subject: [PATCH] Added loading indicators via htmx-indicator, removed unattributable ASCII art and replaced with the project logo from the README, minor touches on stylesheet and added clickable links in the display. --- Purr.cabal | 3 +++ package.yaml | 1 + src/Core/HTTP.hs | 2 ++ views/cassius/style.cassius | 18 +++++++++----- views/index.hamlet | 15 +++++------ views/public/loading.svg | 48 ++++++++++++++++++++++++++++++++++++ views/public/purrlogo.png | Bin 0 -> 26944 bytes views/pw.hamlet | 4 +-- 8 files changed, 76 insertions(+), 15 deletions(-) create mode 100644 views/public/loading.svg create mode 100644 views/public/purrlogo.png diff --git a/Purr.cabal b/Purr.cabal index e1bdbba..416b8b3 100644 --- a/Purr.cabal +++ b/Purr.cabal @@ -58,6 +58,7 @@ library , text >=1.2 , time >=1.9 , wai-extra >=3.1.12.1 + , wai-middleware-static >=0.5 default-language: Haskell2010 executable Purr-exe @@ -91,6 +92,7 @@ executable Purr-exe , text >=1.2 , time >=1.9 , wai-extra >=3.1.12.1 + , wai-middleware-static >=0.5 default-language: Haskell2010 test-suite Purr-test @@ -125,4 +127,5 @@ test-suite Purr-test , text >=1.2 , time >=1.9 , wai-extra >=3.1.12.1 + , wai-middleware-static >=0.5 default-language: Haskell2010 diff --git a/package.yaml b/package.yaml index 9fe7444..875439d 100644 --- a/package.yaml +++ b/package.yaml @@ -42,6 +42,7 @@ dependencies: - time >= 1.9 - text >= 1.2 - wai-extra >= 3.1.12.1 +- wai-middleware-static >= 0.5 library: source-dirs: src diff --git a/src/Core/HTTP.hs b/src/Core/HTTP.hs index d058653..6993178 100644 --- a/src/Core/HTTP.hs +++ b/src/Core/HTTP.hs @@ -7,12 +7,14 @@ import Feature.Sharing.HTTP as Sharing import Data.Maybe (Maybe (Nothing)) import Network.Wai.Middleware.RequestLogger (logStdoutDev) +import Network.Wai.Middleware.Static import Web.Scotty.Trans app :: PurrApp () app = do -- Middleware definition middleware logStdoutDev + middleware $ staticPolicy (noDots >-> addBase "views/public") -- Core Routes get "/" $ do diff --git a/views/cassius/style.cassius b/views/cassius/style.cassius index 28d3d3a..e073cdb 100644 --- a/views/cassius/style.cassius +++ b/views/cassius/style.cassius @@ -15,12 +15,18 @@ body p margin: 0.4em 0 0.4em 0 +a + color: #{colorThree} + +.htmx-indicator + display: none + ::placeholder color: #{colorOne} opacity: 1 -.asciiCat - margin: 2% 3% 0 0 +.logo + margin: 4% 3% 0 0 font-size: 1.2vw color: #{colorFour} text-align: center @@ -91,16 +97,16 @@ p text-align: center font-size: 16px - .asciiCat - display: none - .mainInput width: 95% text-align: center .title - margin: 8% auto + margin: 8% auto 2% auto font-size: 3em + + .title h1 + margin-bottom: 0 .pwUtils width: 100% diff --git a/views/index.hamlet b/views/index.hamlet index 958cf25..d2d5cec 100644 --- a/views/index.hamlet +++ b/views/index.hamlet @@ -7,25 +7,24 @@ $doctype 5 -
-      _._     _,-'""`-._
-      \   (,-.`._,'(       |\`-/|
-      \       `-.-' \ )-`( , o o)
-      \             `-    \`_`"'-
+    
+

Purr
+ $# Below needs to be replaced with an HTMX onload request to /pw/#{link} to DRY
$maybe pw <- password -

Here's the secret for /pw/#{link}: +

Here's the secret for /pw/#{link}:

#{pw} $nothing $if (link == "/")

$else -

No secret available at /pw/#{link} +

No secret available at /pw/#{link} + $# Above needs to be replaced with an HTMX onload request to /pw/#{link} to DRY

@@ -41,6 +40,7 @@ $doctype 5 hx-include="[name='newSec']" /> Share Secret +

@@ -56,3 +56,4 @@ $doctype 5 hx-include="[name='userLink']" /> Get Secret + diff --git a/views/public/loading.svg b/views/public/loading.svg new file mode 100644 index 0000000..45646d1 --- /dev/null +++ b/views/public/loading.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + diff --git a/views/public/purrlogo.png b/views/public/purrlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c2008ed08fbf618f3e4cc957f6bdfc6fed099010 GIT binary patch literal 26944 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 Xg@oz3eTT_200000NkvXXu0mjf>_uvx literal 0 HcmV?d00001 diff --git a/views/pw.hamlet b/views/pw.hamlet index b9d27cb..670314f 100644 --- a/views/pw.hamlet +++ b/views/pw.hamlet @@ -1,6 +1,6 @@

$maybe pw <- password -

Here's the secret for /pw/#{link}: +

Here's the secret for /pw/#{link}:

#{pw} $nothing -

No secret available at /pw/#{link} +

No secret available at /pw/#{link}