Skip to content

Commit 0e33bd8

Browse files
committed
refactoring wip
1 parent 7e88ef6 commit 0e33bd8

File tree

9 files changed

+23
-47
lines changed

9 files changed

+23
-47
lines changed

ghcjs/delivery-calculator/src/App/Types.hs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ import qualified Paths_delivery_calculator as Paths
5656
import qualified Text.URI as URI
5757

5858
data Model = Model
59-
{ modelFav :: Unique OpenedOrClosed,
60-
modelMenu :: Unique OpenedOrClosed,
61-
modelLinks :: Unique OpenedOrClosed,
59+
{ modelFav :: OpenedOrClosed,
60+
modelMenu :: OpenedOrClosed,
61+
modelLinks :: OpenedOrClosed,
6262
modelLoading :: Bool,
6363
modelState :: St Unique,
6464
modelFavMap :: Map Unicode Fav,
@@ -135,7 +135,7 @@ newSt = do
135135

136136
data Asset f = Asset
137137
{ assetFieldPairs :: [FieldPair DynamicField f],
138-
assetModalState :: f OpenedOrClosed
138+
assetModalState :: OpenedOrClosed
139139
}
140140
deriving stock (Generic)
141141

@@ -165,12 +165,10 @@ newAsset = do
165165
newFieldPair "Price" $ DynamicFieldNumber 10
166166
qty <-
167167
newFieldPair "Quantity" $ DynamicFieldNumber 1
168-
modal <-
169-
newUnique Opened
170168
pure
171169
Asset
172170
{ assetFieldPairs = [link, photo, price, qty],
173-
assetModalState = modal
171+
assetModalState = Opened
174172
}
175173

176174
newFieldPair ::
@@ -299,9 +297,9 @@ baseUri =
299297
setScreenPure :: Screen -> Update Model
300298
setScreenPure sc =
301299
PureUpdate
302-
$ (& #modelFav . #uniqueValue .~ Closed)
303-
. (& #modelMenu . #uniqueValue .~ Closed)
304-
. (& #modelLinks . #uniqueValue .~ Closed)
300+
$ (& #modelFav .~ Closed)
301+
. (& #modelMenu .~ Closed)
302+
. (& #modelLinks .~ Closed)
305303
. (& #modelState . #stScreen .~ sc)
306304

307305
setScreenAction :: Screen -> Action

ghcjs/delivery-calculator/src/App/Widgets/Asset.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ assetViewer st idx =
2727
. Instant
2828
. PureUpdate
2929
$ cloneTraversal modalOptic
30-
. #uniqueValue
3130
.~ Opened
3231
]
3332
[ text "settings"
@@ -102,5 +101,4 @@ assetViewer st idx =
102101
. Instant
103102
. PureUpdate
104103
$ cloneTraversal modalOptic
105-
. #uniqueValue
106104
.~ Closed

ghcjs/delivery-calculator/src/App/Widgets/Fav.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ favItem st label Fav {favUri = uri} =
128128
. Instant
129129
$ PureAndImpureUpdate
130130
( (#modelLoading .~ True)
131-
. (#modelFav . #uniqueValue .~ Closed)
131+
. (#modelFav .~ Closed)
132132
)
133133
( do
134134
--

ghcjs/delivery-calculator/src/App/Widgets/Menu.hs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ menu st =
3737
. Instant
3838
. PureUpdate
3939
$ #modelMenu
40-
. #uniqueValue
4140
.~ Opened
4241
]
4342
[ icon Icon.IconMenu
@@ -61,7 +60,6 @@ menu st =
6160
. Instant
6261
. PureUpdate
6362
$ #modelFav
64-
. #uniqueValue
6563
.~ Opened
6664
]
6765
[ icon Icon.IconFav
@@ -283,7 +281,7 @@ menu st =
283281
PushUpdate
284282
. Instant
285283
. PureUpdate
286-
$ (#modelMenu . #uniqueValue .~ Closed)
284+
$ (#modelMenu .~ Closed)
287285
. (#modelLoading .~ isQrCode next)
288286
. (#modelState . #stScreen .~ next)
289287
sc =
@@ -394,7 +392,6 @@ linksWidget st =
394392
. Instant
395393
. PureUpdate
396394
$ #modelLinks
397-
. #uniqueValue
398395
.~ Opened
399396
openBrowser =
400397
PushUpdate

ghcjs/delivery-calculator/src/App/Widgets/Templates.hs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,11 @@ newModel webOpts mSt uri = do
2323
mApp <- unShareUri uri
2424
donate <- newDonateViewer
2525
market <- maybe Rates.newMarket pure $ mSt ^? _Just . #modelMarket
26-
fav <- newUnique Closed
27-
menu <- newUnique Closed
28-
links <- newUnique Closed
2926
pure
3027
Model
31-
{ modelFav = fav,
32-
modelMenu = menu,
33-
modelLinks = links,
28+
{ modelFav = Closed,
29+
modelMenu = Closed,
30+
modelLinks = Closed,
3431
modelLoading = True,
3532
modelState = fromMaybe defSt mApp,
3633
modelFavMap = mempty,

ghcjs/miso-functora/src/Functora/Miso/Types.hs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,7 @@ type Hkt f =
7777
Eq (f Unicode),
7878
Ord (f Unicode),
7979
Show (f Unicode),
80-
Data (f Unicode),
81-
Eq (f OpenedOrClosed),
82-
Ord (f OpenedOrClosed),
83-
Show (f OpenedOrClosed),
84-
Data (f OpenedOrClosed)
80+
Data (f Unicode)
8581
)
8682

8783
data Unique a = Unique
@@ -121,7 +117,7 @@ data Field a f = Field
121117
{ fieldType :: FieldType,
122118
fieldInput :: f Unicode,
123119
fieldOutput :: a,
124-
fieldModalState :: f OpenedOrClosed,
120+
fieldModalState :: OpenedOrClosed,
125121
fieldOpts :: FieldOpts
126122
}
127123
deriving stock (Generic)
@@ -169,13 +165,12 @@ newField ::
169165
(MonadIO m) => FieldType -> a -> (a -> Unicode) -> m (Field a Unique)
170166
newField typ output newInput = do
171167
input <- newUnique $ newInput output
172-
modal <- newUnique Closed
173168
pure
174169
Field
175170
{ fieldType = typ,
176171
fieldInput = input,
177172
fieldOutput = output,
178-
fieldModalState = modal,
173+
fieldModalState = Closed,
179174
fieldOpts = defFieldOpts
180175
}
181176

@@ -185,7 +180,7 @@ newFieldId typ viewer output =
185180
{ fieldType = typ,
186181
fieldInput = Identity $ viewer output,
187182
fieldOutput = output,
188-
fieldModalState = Identity Closed,
183+
fieldModalState = Closed,
189184
fieldOpts = defFieldOpts
190185
}
191186

@@ -375,7 +370,7 @@ mergeFieldPairs next prev =
375370
data Currency f = Currency
376371
{ currencyInput :: Field Unicode f,
377372
currencyOutput :: CurrencyInfo,
378-
currencyModalState :: f OpenedOrClosed
373+
currencyModalState :: OpenedOrClosed
379374
}
380375
deriving stock (Generic)
381376

@@ -401,7 +396,7 @@ newCurrency cur =
401396
Currency
402397
<$> newTextField mempty
403398
<*> pure cur
404-
<*> newUnique Closed
399+
<*> pure Closed
405400

406401
data Money f = Money
407402
{ moneyAmount :: Field Rational f,

ghcjs/miso-functora/src/Functora/Miso/Widgets/Currency.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ selectCurrency
9292
prev
9393
& cloneTraversal optic
9494
. #currencyModalState
95-
. #uniqueValue
9695
.~ Opened
9796
& cloneTraversal optic
9897
. #currencyInput
@@ -175,7 +174,6 @@ currencyListItemWidget
175174
st
176175
& cloneTraversal optic
177176
. #currencyModalState
178-
. #uniqueValue
179177
.~ Closed
180178
& cloneTraversal optic
181179
. #currencyInput

ghcjs/miso-functora/src/Functora/Miso/Widgets/Dialog.hs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import qualified Functora.Miso.Widgets.Icon as Icon
1313

1414
data Args model action = Args
1515
{ argsModel :: model,
16-
argsOptic :: ATraversal' model (Unique OpenedOrClosed),
16+
argsOptic :: ATraversal' model OpenedOrClosed,
1717
argsAction :: Update model -> action,
1818
argsContent :: [View action]
1919
}
@@ -68,11 +68,7 @@ dialog opts args =
6868
(optsFooterRight opts mempty)
6969
where
7070
opened =
71-
args
72-
^? #argsModel
73-
. cloneTraversal (argsOptic args)
74-
. #uniqueValue
75-
== Just Opened
71+
args ^? #argsModel . cloneTraversal (argsOptic args) == Just Opened
7672
defHeaderLeft =
7773
maybeToList
7874
. fmap
@@ -134,4 +130,4 @@ closeDialogAction opts args =
134130
argsAction args
135131
. PureUpdate
136132
$ optsExtraOnClose opts
137-
. (cloneTraversal (argsOptic args) . #uniqueValue .~ Closed)
133+
. (cloneTraversal (argsOptic args) .~ Closed)

ghcjs/miso-functora/src/Functora/Miso/Widgets/Field.hs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ data ModalWidget' model where
9797
Int ->
9898
ATraversal' a [FieldPair DynamicField Unique] ->
9999
ATraversal' a (Field Unicode Unique) ->
100-
ATraversal' a (Unique OpenedOrClosed) ->
100+
ATraversal' a OpenedOrClosed ->
101101
ModalWidget' model
102102
ModalFieldWidget ::
103103
forall model a b.
@@ -355,7 +355,6 @@ fieldIcon full opts = \case
355355
$ cloneTraversal opt
356356
. ix idx
357357
. cloneTraversal ooc
358-
. #uniqueValue
359358
.~ Opened
360359
ModalWidget (ModalFieldWidget opt idx access _) ->
361360
fieldIconSimple "settings" mempty
@@ -365,15 +364,13 @@ fieldIcon full opts = \case
365364
. ix idx
366365
. cloneTraversal access
367366
. #fieldModalState
368-
. #uniqueValue
369367
.~ Opened
370368
ModalWidget (ModalMiniWidget opt) ->
371369
fieldIconSimple "settings" mempty
372370
. action
373371
. PureUpdate
374372
$ cloneTraversal opt
375373
. #fieldModalState
376-
. #uniqueValue
377374
.~ Opened
378375
ActionWidget icon attrs act ->
379376
fieldIconSimple icon attrs act

0 commit comments

Comments
 (0)