-
Notifications
You must be signed in to change notification settings - Fork 2
/
Main.elm
89 lines (69 loc) · 2.07 KB
/
Main.elm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
module Main exposing (..)
import Html exposing (Html, div, button, text, programWithFlags)
import Html.Attributes exposing (class)
import ControlsView exposing (view)
import MainModel exposing (..)
import MainMessages exposing (..)
import MainUpdate exposing (update)
import Stylesheet exposing (view)
import TableView exposing (view)
import MobileView exposing (view)
import Api
import Ports exposing (..)
import Window
-- import Json.Decode as Json exposing (int, string, float, Decoder)
-- import Json.Decode.Pipeline exposing (decode, required, optional, hardcoded)
init : Flags -> ( Model, Cmd Msg )
init flags =
( { initialModel
| eventId = flags.eventId
, host = flags.host
, showPreviewUi = flags.showPreviewUi
, showPublishPage = flags.showPublishPage
, showBasicPage = flags.showBasicPage
}
, Api.getModelFromDb flags.eventId
)
-- VIEW
view : Model -> Html Msg
view model =
-- publishView
if model.showPreviewUi || model.showPublishPage || model.showBasicPage then
div [ class "container" ]
[ Stylesheet.view
, if model.showMobileView then
MobileView.view model
else
TableView.view model
]
else
div [ class "container" ]
[ Stylesheet.view
, ControlsView.view model
, if model.showMobileView then
MobileView.view model
else
TableView.view model
]
-- UPDATE
-- SUBSCRIPTIONS
subscriptions : Model -> Sub Msg
subscriptions model =
Sub.batch
[ changeDates UpdateDates
, changePickedDates UpdatePickedDates
, deleteSession DeleteSession
, deleteInformation DeleteSavedInfo
, Window.resizes UpdateShowMobileView
, fileContentRead FileRead
, changedFileContentRead ChangedFileRead
]
-- MAIN
main : Program Flags Model Msg
main =
programWithFlags
{ init = init
, view = view
, update = update
, subscriptions = subscriptions
}