@@ -7,7 +7,6 @@ module App.Types
7
7
St (.. ),
8
8
newSt ,
9
9
newFieldPair ,
10
- newFieldPairId ,
11
10
mkUri ,
12
11
unUri ,
13
12
emitter ,
@@ -28,10 +27,7 @@ import qualified Functora.Aes as Aes
28
27
import Functora.Cfg
29
28
import Functora.Miso.Prelude
30
29
import qualified Functora.Miso.Theme as Theme
31
- import Functora.Miso.Types as X hiding
32
- ( newFieldPair ,
33
- newFieldPairId ,
34
- )
30
+ import Functora.Miso.Types as X hiding (newFieldPair )
35
31
import qualified Functora.Miso.Types as FM
36
32
import qualified Functora.Miso.Widgets.Field as Field
37
33
import qualified Functora.Miso.Widgets.Icon as Icon
@@ -57,9 +53,10 @@ data Action
57
53
| PushUpdate (Update Model )
58
54
59
55
data St f = St
60
- { stKm :: Aes. Km ,
56
+ { stReq :: StReq ,
61
57
stIkm :: Field Unicode f ,
62
- stMsg :: Field Unicode f ,
58
+ stInp :: Unicode ,
59
+ stOut :: Field Unicode f ,
63
60
stEnableTheme :: Bool ,
64
61
stTheme :: Theme
65
62
}
@@ -79,16 +76,24 @@ instance TraversableB St
79
76
80
77
deriving via GenericType (St Identity ) instance Binary (St Identity )
81
78
79
+ data StReq = StReq
80
+ { stReqKm :: Aes. Km ,
81
+ stReqMsg :: Maybe Aes. Crypto
82
+ }
83
+ deriving stock (Eq , Ord , Show , Read , Data , Generic )
84
+ deriving (Binary ) via GenericType StReq
85
+
82
86
newSt :: (MonadIO m ) => m (St Unique )
83
87
newSt = do
84
88
km <- Aes. randomKm 32
85
89
ikm <- newPasswordField . decodeUtf8 $ km ^. # kmIkm . # unIkm
86
- msg <- newTextField mempty
90
+ out <- newTextField mempty
87
91
pure
88
92
St
89
- { stKm = km ,
93
+ { stReq = StReq km Nothing ,
90
94
stIkm = ikm,
91
- stMsg = msg,
95
+ stInp = mempty ,
96
+ stOut = out,
92
97
stEnableTheme = True ,
93
98
stTheme = Theme. Matcha
94
99
}
@@ -108,17 +113,6 @@ newFieldPair key val = do
108
113
. # fieldOptsAllowCopy
109
114
.~ False
110
115
111
- newFieldPairId ::
112
- Unicode ->
113
- DynamicField ->
114
- FieldPair DynamicField Identity
115
- newFieldPairId key val = do
116
- FM. newFieldPairId key val
117
- & # fieldPairValue
118
- . # fieldOpts
119
- . # fieldOptsAllowCopy
120
- .~ False
121
-
122
116
mkUri :: (MonadThrow m ) => Model -> m URI
123
117
mkUri st = do
124
118
uri <- mkURI $ from @ Unicode @ Prelude. Text baseUri
@@ -139,9 +133,9 @@ mkUri st = do
139
133
& # fieldOutput
140
134
.~ DynamicFieldText mempty
141
135
)
142
- . uniqueToIdentity
143
- $ st
144
- ^. # modelState
136
+ $ uniqueToIdentity
137
+ ( st ^. # modelState
138
+ )
145
139
pure
146
140
$ uri
147
141
{ URI. uriQuery = qxs
@@ -168,7 +162,7 @@ unUri uri = do
168
162
169
163
stQuery :: (MonadThrow m ) => St Identity -> m [URI. QueryParam ]
170
164
stQuery st = do
171
- kSt <- URI. mkQueryKey " d "
165
+ kSt <- URI. mkQueryKey " startapp "
172
166
vSt <- URI. mkQueryValue <=< encode $ encodeBinary st
173
167
pure [URI. QueryParam kSt vSt]
174
168
where
0 commit comments