Skip to content

Commit 0ff7e03

Browse files
committed
revert modal state storage
1 parent db3e051 commit 0ff7e03

File tree

4 files changed

+29
-34
lines changed

4 files changed

+29
-34
lines changed

ghcjs/currency-converter/src/App/Types.hs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ import qualified Paths_app as Paths
4646
import qualified Text.URI as URI
4747

4848
data Model = Model
49-
{ modelLoading :: Bool,
49+
{ modelFav :: OpenedOrClosed,
50+
modelMenu :: OpenedOrClosed,
51+
modelLinks :: OpenedOrClosed,
52+
modelLoading :: Bool,
5053
modelState :: St Unique,
5154
modelMarket :: MVar Rates.Market,
5255
modelFavMap :: Map MisoString Fav,
@@ -97,9 +100,6 @@ data StDoc f = StDoc
97100
stDocTopOrBottom :: TopOrBottom,
98101
stDocPreFavName :: Field MisoString f,
99102
stDocFieldPairs :: [FieldPair DynamicField f],
100-
stDocFavModalState :: OpenedOrClosed,
101-
stDocMenuModalState :: OpenedOrClosed,
102-
stDocLinksModalState :: OpenedOrClosed,
103103
stDocOnlineOrOffline :: OnlineOrOffline,
104104
stDocCreatedAt :: UTCTime
105105
}
@@ -132,9 +132,6 @@ newStDoc = do
132132
stDocTopOrBottom = Top,
133133
stDocPreFavName = preFavName,
134134
stDocFieldPairs = mempty,
135-
stDocFavModalState = Closed,
136-
stDocMenuModalState = Closed,
137-
stDocLinksModalState = Closed,
138135
stDocOnlineOrOffline = Online,
139136
stDocCreatedAt = ct
140137
}

ghcjs/currency-converter/src/App/Widgets/Fav.hs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ import qualified Text.URI as URI
1818

1919
fav :: Model -> [View Action]
2020
fav st =
21-
if st ^. #modelState . #stDoc . #stDocFavModalState == Closed
21+
if st ^. #modelFav == Closed
2222
then mempty
2323
else
2424
[ Dialog.dialog
2525
( Dialog.config
2626
& Dialog.setOnClose closeAction
27-
& Dialog.setOpen True
27+
& Dialog.setOpen (Opened == st ^. #modelFav)
2828
)
2929
( Dialog.dialogContent
3030
Nothing
@@ -85,8 +85,7 @@ fav st =
8585
)
8686
]
8787
where
88-
closeAction =
89-
pureUpdate 0 (& #modelState . #stDoc . #stDocFavModalState .~ Closed)
88+
closeAction = pureUpdate 0 (& #modelFav .~ Closed)
9089
saveAction = PushUpdate $ do
9190
ct <- getCurrentTime
9291
pure . ChanItem 0 $ \nextSt ->
@@ -173,6 +172,6 @@ favItem st label Fav {favUri = uri} =
173172
next <- newModel (st ^. #modelWebOpts) (Just st) uri
174173
pure
175174
. ChanItem 0
176-
$ (#modelLoading .~ True)
175+
$ (#modelFav .~ Closed)
176+
. (#modelLoading .~ True)
177177
. (#modelState .~ modelState next)
178-
. (#modelState . #stDoc . #stDocFavModalState .~ Closed)

ghcjs/currency-converter/src/App/Widgets/Menu.hs

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ menu st =
6464
& IconButton.setOnClick
6565
( pureUpdate 0 $ \next ->
6666
next
67-
& #modelState
68-
. #stDoc
69-
. #stDocFavModalState
67+
& #modelFav
7068
.~ Opened
7169
& #modelState
7270
. #stDoc
@@ -116,13 +114,13 @@ menu st =
116114
]
117115
]
118116
<> Fav.fav st
119-
<> if st ^. #modelState . #stDoc . #stDocMenuModalState == Closed
117+
<> if st ^. #modelMenu == Closed
120118
then mempty
121119
else
122120
[ Dialog.dialog
123121
( Dialog.config
124122
& Dialog.setOnClose closed
125-
& Dialog.setOpen True
123+
& Dialog.setOpen (Opened == st ^. #modelMenu)
126124
)
127125
( Dialog.dialogContent
128126
Nothing
@@ -279,15 +277,13 @@ menu st =
279277
)
280278
]
281279
where
282-
opened =
283-
pureUpdate 0 (& #modelState . #stDoc . #stDocMenuModalState .~ Opened)
284-
closed =
285-
pureUpdate 0 (& #modelState . #stDoc . #stDocMenuModalState .~ Closed)
280+
opened = pureUpdate 0 (& #modelMenu .~ Opened)
281+
closed = pureUpdate 0 (& #modelMenu .~ Closed)
286282
screen next =
287283
pureUpdate 0
288-
$ (& #modelLoading .~ isQrCode next)
284+
$ (& #modelMenu .~ Closed)
285+
. (& #modelLoading .~ isQrCode next)
289286
. (& #modelState . #stScreen .~ next)
290-
. (& #modelState . #stDoc . #stDocMenuModalState .~ Closed)
291287
sc =
292288
st ^. #modelState . #stScreen
293289
disabled =
@@ -342,13 +338,13 @@ linksWidget st =
342338
)
343339
"App"
344340
]
345-
<> ( if st ^. #modelState . #stDoc . #stDocLinksModalState == Closed
341+
<> ( if st ^. #modelLinks == Closed
346342
then mempty
347343
else
348344
[ Dialog.dialog
349345
( Dialog.config
350346
& Dialog.setOnClose closeWidget
351-
& Dialog.setOpen True
347+
& Dialog.setOpen (Opened == st ^. #modelLinks)
352348
)
353349
( Dialog.dialogContent
354350
Nothing
@@ -359,8 +355,8 @@ linksWidget st =
359355
mempty
360356
[ text
361357
"The Android app is in closed beta. To install it, join the ",
362-
Misc.browserLink testGroupLink "closed beta",
363-
text " group and then install the app from ",
358+
Misc.browserLink testGroupLink "closed beta group",
359+
text " and then install the app from ",
364360
Misc.browserLink googlePlayLink "Google Play",
365361
text ", or download the ",
366362
Misc.browserLink apkLink "APK file",
@@ -430,7 +426,9 @@ linksWidget st =
430426
doc <- liftIO Templates.newDonateDoc
431427
pure
432428
. ChanItem 0
433-
$ (& #modelLoading .~ True)
429+
$ (& #modelMenu .~ Closed)
430+
. (& #modelLinks .~ Closed)
431+
. (& #modelLoading .~ True)
434432
. (& #modelState . #stDoc .~ doc)
435433
)
436434
& Button.setAttributes
@@ -454,10 +452,8 @@ linksWidget st =
454452
]
455453
)
456454
where
457-
openWidget =
458-
pureUpdate 0 (& #modelState . #stDoc . #stDocLinksModalState .~ Opened)
459-
closeWidget =
460-
pureUpdate 0 (& #modelState . #stDoc . #stDocLinksModalState .~ Closed)
455+
openWidget = pureUpdate 0 (& #modelLinks .~ Opened)
456+
closeWidget = pureUpdate 0 (& #modelLinks .~ Closed)
461457
openBrowser =
462458
Misc.openBrowserPageAction
463459
. either impureThrow id

ghcjs/currency-converter/src/App/Widgets/Templates.hs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ newModel webOpts mSt uri = do
9898
mApp
9999
pure
100100
Model
101-
{ modelLoading = True,
101+
{ modelFav = Closed,
102+
modelMenu = Closed,
103+
modelLinks = Closed,
104+
modelLoading = True,
102105
modelState = st,
103106
modelMarket = market,
104107
modelFavMap = mempty,

0 commit comments

Comments
 (0)