- create a fresh elm-land application
- prepare customize Shared (elm-land customize shared), no changes by now
- customize Shared.Model and Shared init with dummy values
- upgrade Home to a page (elm-land add page /)
- use Shared Data in Home page (dummy values for now)
- prepare to customize interop file. will use typescript, hope this is familiar. No changes by now: elm-land customize ts
- print inital dimensions on startup in interopFile
- insert initial dimensions as flags to started application
- add Port JS To Elm for dimension updates
- and add Port.elm to handle updates
- and add a Shared.Msg DimensionsChanged to handle updates for Port JS to Elm
- and add a onResize action in interopTs to update the size whenever the size changes
Point 9 is quite large and a lot to unpack. But I was unsure if it provides value in smaller steps, if you can not see some value in between, this way you can play around with it.