mirror of
https://github.com/fluencelabs/dashboard
synced 2025-03-31 20:11:03 +00:00
add support for '/module/id' and '/service/id' pages
This commit is contained in:
parent
5146543311
commit
856ead4b7a
@ -26,6 +26,8 @@ import Url
|
||||
|
||||
type Route
|
||||
= Page String
|
||||
| Service String
|
||||
| Module String
|
||||
| Peer String
|
||||
|
||||
|
||||
|
@ -15,6 +15,8 @@ routeParser : Parser (Route -> a) a
|
||||
routeParser =
|
||||
oneOf
|
||||
[ map Peer (s "peer" </> string)
|
||||
, map Module (s "module" </> string)
|
||||
, map Service (s "service" </> string)
|
||||
, map Page string
|
||||
]
|
||||
|
||||
@ -33,19 +35,29 @@ routeView model route =
|
||||
"hub" ->
|
||||
HubPage.view model
|
||||
|
||||
"module" ->
|
||||
|
||||
_ ->
|
||||
Html.text ("undefined page: " ++ page)
|
||||
|
||||
Peer peer ->
|
||||
Html.text peer
|
||||
|
||||
Service serviceId ->
|
||||
Html.text serviceId
|
||||
|
||||
Module moduleName ->
|
||||
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))
|
||||
List.head (List.drop 2 (Dict.toList model.discoveredPeers))
|
||||
in
|
||||
case Maybe.andThen up el of
|
||||
Just ( peerId, service ) ->
|
||||
let
|
||||
example =
|
||||
{ name = "Chat"
|
||||
{ name = moduleName
|
||||
, id = service.service_id
|
||||
, author = "Fluence Labs"
|
||||
, authorPeerId = peerId
|
||||
@ -57,23 +69,11 @@ routeView model route =
|
||||
ModulePage.view example
|
||||
|
||||
Nothing ->
|
||||
Html.text "alala"
|
||||
Html.text moduleName
|
||||
|
||||
_ ->
|
||||
Html.text ("undefined page: " ++ page)
|
||||
|
||||
Peer peer ->
|
||||
Html.text peer
|
||||
|
||||
|
||||
routeCommand : Model -> Route -> Cmd msg
|
||||
routeCommand m r =
|
||||
case r of
|
||||
Page s ->
|
||||
getPeers : Model -> Cmd msg
|
||||
getPeers m =
|
||||
let
|
||||
_ =
|
||||
Debug.log "page" s
|
||||
|
||||
clientId =
|
||||
set "clientId" <| Encode.string m.peerId
|
||||
|
||||
@ -97,5 +97,19 @@ routeCommand m r =
|
||||
in
|
||||
sendAir (relayId <| clientId <| air)
|
||||
|
||||
routeCommand : Model -> Route -> Cmd msg
|
||||
routeCommand m r =
|
||||
case r of
|
||||
Page s ->
|
||||
getPeers m
|
||||
|
||||
Peer _ ->
|
||||
Cmd.none
|
||||
getPeers m
|
||||
|
||||
Service string ->
|
||||
getPeers m
|
||||
|
||||
|
||||
Module string ->
|
||||
getPeers m
|
||||
|
||||
|
@ -40,9 +40,7 @@ body model =
|
||||
layout <|
|
||||
List.concat
|
||||
[ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView model model.page ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10", onClick (Click "get_all") ] [ text "GET SERVICES" ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10", onClick (Click "get_modules") ] [ text "GET MODULES" ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10", onClick (Click "get_identify") ] [ text "GET IDENTIFY" ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10", onClick (Click "get_all") ] [ text "GET ALL" ] ]
|
||||
]
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user