|
@@ -126,12 +126,13 @@ type Msg
|
|
|
| IOFetchSetData String
|
|
| IOFetchSetData String
|
|
|
| IOGotSetData (Result String ( String, Maybe Database.Database ))
|
|
| IOGotSetData (Result String ( String, Maybe Database.Database ))
|
|
|
| PortReceiveDoesSetHaveLocalData String
|
|
| PortReceiveDoesSetHaveLocalData String
|
|
|
|
|
+ | StartDraft String Database.Database
|
|
|
|
|
|
|
|
|
|
|
|
|
-startDraft : ChooseSetModel -> String -> ( Model, Cmd Msg )
|
|
|
|
|
-startDraft initFlags setCode =
|
|
|
|
|
- case ( Dict.get setCode initFlags.sets, Draft.decode initFlags.draftData ) of
|
|
|
|
|
- ( Just (HasLocalData database), Ok draftData ) ->
|
|
|
|
|
|
|
+startDraft : ChooseSetModel -> Database.Database -> ( Model, Cmd Msg )
|
|
|
|
|
+startDraft initFlags database =
|
|
|
|
|
+ case Draft.decode initFlags.draftData of
|
|
|
|
|
+ Ok draftData ->
|
|
|
( Ready
|
|
( Ready
|
|
|
{ draft = draftData
|
|
{ draft = draftData
|
|
|
, database = database
|
|
, database = database
|
|
@@ -151,10 +152,7 @@ startDraft initFlags setCode =
|
|
|
, Cmd.none
|
|
, Cmd.none
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
- ( _, Ok _ ) ->
|
|
|
|
|
- ( Error { error = "No set data in init flags" }, Cmd.none )
|
|
|
|
|
-
|
|
|
|
|
- ( _, Err err ) ->
|
|
|
|
|
|
|
+ Err err ->
|
|
|
( Error { error = "Error decoding draft data: " ++ err }, Cmd.none )
|
|
( Error { error = "Error decoding draft data: " ++ err }, Cmd.none )
|
|
|
|
|
|
|
|
|
|
|
|
@@ -163,6 +161,9 @@ update msg model =
|
|
|
case model of
|
|
case model of
|
|
|
ChooseSet mdl ->
|
|
ChooseSet mdl ->
|
|
|
case msg of
|
|
case msg of
|
|
|
|
|
+ StartDraft setCode database ->
|
|
|
|
|
+ startDraft mdl database
|
|
|
|
|
+
|
|
|
IOGotSets (Ok remoteData) ->
|
|
IOGotSets (Ok remoteData) ->
|
|
|
-- Merge any new sets into the local sets
|
|
-- Merge any new sets into the local sets
|
|
|
let
|
|
let
|
|
@@ -304,6 +305,9 @@ update msg model =
|
|
|
PortReceiveDoesSetHaveLocalData _ ->
|
|
PortReceiveDoesSetHaveLocalData _ ->
|
|
|
( Ready mdl, Cmd.none )
|
|
( Ready mdl, Cmd.none )
|
|
|
|
|
|
|
|
|
|
+ StartDraft _ _ ->
|
|
|
|
|
+ ( Ready mdl, Cmd.none )
|
|
|
|
|
+
|
|
|
Error mdl ->
|
|
Error mdl ->
|
|
|
( Error mdl, Cmd.none )
|
|
( Error mdl, Cmd.none )
|
|
|
|
|
|
|
@@ -341,7 +345,7 @@ viewChooseSet model =
|
|
|
button [ onClick (IOFetchSetData setCode) ] [ text "Download" ]
|
|
button [ onClick (IOFetchSetData setCode) ] [ text "Download" ]
|
|
|
|
|
|
|
|
HasLocalData database ->
|
|
HasLocalData database ->
|
|
|
- button [] [ text "Open" ]
|
|
|
|
|
|
|
+ button [ onClick (StartDraft setCode database) ] [ text "Open" ]
|
|
|
in
|
|
in
|
|
|
div [ class "w-full h-full bg-slate-100 flex justify-center items-center" ]
|
|
div [ class "w-full h-full bg-slate-100 flex justify-center items-center" ]
|
|
|
[ div [ class "max-w-2xl max-h-2xl" ]
|
|
[ div [ class "max-w-2xl max-h-2xl" ]
|