module page wip

This commit is contained in:
DieMyst 2020-11-25 22:11:11 +03:00
parent ea2fcf9971
commit 370cd20a31
8 changed files with 72 additions and 13 deletions

View File

@ -3,7 +3,7 @@ module HubPage.View exposing (..)
import Html exposing (Html)
import HubPage.Model exposing (Model)
import HubPage.Msg exposing (Msg)
import Modules.Model exposing (ModuleInfo)
import Modules.Model exposing (ModuleShortInfo)
import Modules.View
import Services.Model exposing (ServiceInfo)
import Services.View
@ -18,7 +18,7 @@ servicesExample =
]
modulesExample : List ModuleInfo
modulesExample : List ModuleShortInfo
modulesExample =
[ { name = "sqlite3", instanceNumber = 2 }
, { name = "ipfs_adapter", instanceNumber = 3 }

View File

@ -1 +1,13 @@
module ModulePage.Model exposing (..)
import Services.Model exposing (Service)
type alias ModuleInfo =
{ name: String
, id: String
, author: String
, authorPeerId: String
, description: String
, website: String
, service: Service
}

View File

@ -1 +1,22 @@
module ModulePage.View exposing (..)
import Html exposing (Html)
import ModulePage.Model exposing (ModuleInfo)
import Palette exposing (classes)
view : ModuleInfo -> Html msg
view moduleInfo =
Html.div [classes "cf ph2-ns"]
[ Html.span [classes "fl w-100 f1 lh-title dark-red"] [Html.text ("Module: " ++ moduleInfo.name)]
, Html.span [classes "fl w-100 light-red"] [Html.text (moduleInfo.id)]
, viewInfo moduleInfo
]
viewInfo : ModuleInfo -> Html msg
viewInfo moduleInfo =
Html.article [classes "cf"]
[ Html.div [classes "fl w-30 gray"] [Html.text "AUTHOR"]
, Html.div [classes "fl w-70"] [ Html.span [classes "fl w-100 black b"] [Html.text moduleInfo.author], Html.span [classes "fl w-100 black"] [Html.text moduleInfo.authorPeerId]]
, Html.div [classes "fl w-30 gray"] [Html.text "DESCRIPTION"]
, Html.div [classes "fl w-70"] [ Html.span [classes "fl w-100 black b"] [Html.text moduleInfo.author]]
]

View File

@ -1,12 +1,12 @@
module Modules.Model exposing (..)
type alias ModuleInfo =
type alias ModuleShortInfo =
{ name : String
, instanceNumber : Int
}
type alias Model =
{ modules : List ModuleInfo
{ modules : List ModuleShortInfo
}

View File

@ -1,7 +1,7 @@
module Modules.View exposing (..)
import Html exposing (Html)
import Modules.Model exposing (Model, ModuleInfo)
import Modules.Model exposing (Model, ModuleShortInfo)
import Palette exposing (classes)
import Utils.Utils exposing (instancesText)
@ -15,7 +15,7 @@ view model =
Html.div [ classes "cf ph2-ns" ] modulesView
viewService : ModuleInfo -> Html msg
viewService : ModuleShortInfo -> Html msg
viewService service =
Html.div [ classes "fl w-third-ns pa2" ]
[ Html.div [ classes "fl w-100 br2 ba solid pa2 mh2" ]

View File

@ -1,10 +1,12 @@
module Route exposing (..)
import Air exposing (callBI, fold, next, par, relayEvent, seq, set)
import Dict
import Html exposing (Html)
import HubPage.View as HubPage
import Json.Encode as Encode
import Model exposing (Model, Route(..))
import ModulePage.View as ModulePage
import Port exposing (sendAir)
import Url.Parser exposing ((</>), Parser, map, oneOf, s, string)
@ -21,14 +23,41 @@ parse url =
Maybe.withDefault (Page "") <| Url.Parser.parse routeParser url
routeView : Route -> Html msg
routeView route =
routeView : Model -> Route -> Html msg
routeView model route =
case route of
Page page ->
case page of
"hub" ->
HubPage.view {}
"module" ->
let
up = (\(pid, p) -> Maybe.map (\a -> Tuple.pair pid a) (List.head (List.drop 0 p.services)))
el = (List.head (List.drop 3 (Dict.toList model.discoveredPeers)))
_ = Debug.log "el" el
in
case Maybe.andThen up el of
Just (peerId, service) ->
let
example =
{ name = "Chat"
, id = service.service_id
, author = "Fluence Labs"
, authorPeerId = peerId
, description = "Cool service"
, website = "https://github.com/fluencelabs/chat"
, service = service
}
in
ModulePage.view example
Nothing ->
Html.text "alala"
_ ->
Html.text ("undefined page: " ++ page)

View File

@ -130,8 +130,6 @@ update msg model =
updatedDict =
Dict.update peer up model.discoveredPeers
_ =
Debug.log "discovered" updatedDict
in
( { model | discoveredPeers = updatedDict }, Cmd.none )
@ -149,8 +147,6 @@ update msg model =
updatedDict =
Dict.update peer up model.discoveredPeers
_ =
Debug.log "discovered" updatedDict
in
( { model | discoveredPeers = updatedDict }, Cmd.none )

View File

@ -50,7 +50,8 @@ body model =
in
layout <|
List.concat
[ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView (Page "hub") ] ]
[ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView model (Page "hub") ] ]
++ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView model (Page "module") ] ]
++ [ header [ classes "w-100 bt bb b--black-10", onClick Click ] [ text "GET SERVICES" ] ]
]