Skip to content

Commit ed56501

Browse files
committed
Display custom logo when using kadenamint networks
1 parent 0ddea72 commit ed56501

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

common/src/Common/Network.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
{-# LANGUAGE ViewPatterns #-}
1010

1111
module Common.Network
12-
( NetworkName
12+
( NetworkName(..)
1313
, uncheckedNetworkName
1414
, textNetworkName
1515
, mkNetworkName

frontend/frontend.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ library
2020
build-depends: base
2121
, async
2222
, aeson-gadt-th
23+
, case-insensitive
2324
, constraints
2425
, unliftio
2526
, unliftio-core

frontend/src/Frontend/ReplGhcjs.hs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ import Control.Lens
2121
import Control.Monad.Reader (ask)
2222
import Control.Monad.State.Strict
2323
import Data.Aeson (FromJSON, ToJSON)
24+
import Data.CaseInsensitive (original)
2425
import Data.Default (Default (..))
26+
import Data.Function (on)
2527
import Data.Some (Some(..))
2628
import Data.String (IsString)
2729
import Data.Text (Text)
28-
import GHCJS.DOM.EventM (on)
30+
import qualified GHCJS.DOM.EventM as EventM
2931
import GHCJS.DOM.GlobalEventHandlers (keyPress)
3032
import GHCJS.DOM.KeyboardEvent (getCtrlKey, getKey, getKeyCode, getMetaKey)
3133
import GHCJS.DOM.Types (HTMLElement (..), unElement)
@@ -91,7 +93,14 @@ app
9193
app sidebarExtra fileFFI appCfg = Store.versionedFrontend (Store.versionedStorage @key) $ void . mfix $ \ cfg -> do
9294
ideL <- makeIde fileFFI appCfg cfg
9395

94-
walletSidebar sidebarExtra
96+
let
97+
logo = divClass "sidebar__logo" $ elDynAttr "img" ?? blank $ ffor (ideL ^. network_selectedNetwork) $ \n ->
98+
let matches = T.isPrefixOf `on` T.toLower
99+
in "src" =: if "kadenamint" `matches` original (unNetworkName n)
100+
then static @"img/logo-kadenamint.png"
101+
else static @"img/logo.png"
102+
103+
walletSidebar logo sidebarExtra
95104
updates <- divClass "page" $ do
96105
let mkPageContent c = divClass (c <> " page__content visible")
97106

@@ -169,9 +178,9 @@ walletSidebar
169178
)
170179
=> m ()
171180
-> m ()
172-
walletSidebar sidebarExtra = elAttr "div" ("class" =: "sidebar") $ do
173-
divClass "sidebar__logo" $ elAttr "img" ("src" =: static @"img/logo.png") blank
174-
181+
-> m ()
182+
walletSidebar logo sidebarExtra = elAttr "div" ("class" =: "sidebar") $ do
183+
logo
175184
elAttr "div" ("class" =: "sidebar__content") $ do
176185
route <- demux . fmap (\(r :/ _) -> Some r) <$> askRoute
177186

@@ -216,7 +225,7 @@ codePanel appCfg cls m = elDynKlass "div" (cls <> "pane") $ do
216225
getCtrlEnterEvent e = do
217226
(onCtrlEnter, triggerEv) <- newTriggerEvent
218227
let htmlElement = HTMLElement . unElement $ _element_raw e
219-
void $ liftJSM $ htmlElement `on` keyPress $ do
228+
void $ liftJSM $ htmlElement `EventM.on` keyPress $ do
220229
ev <- ask
221230
hasCtrl <- liftJSM $ getCtrlKey ev
222231
hasMeta <- liftJSM $ getMetaKey ev

0 commit comments

Comments
 (0)