12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package views
- import (
- "fyne.io/fyne/v2"
- "fyne.io/fyne/v2/container"
- "fyne.io/fyne/v2/theme"
- "fyne.io/fyne/v2/widget"
- "github.com/gravitl/netmaker/netclient/config"
- "github.com/gravitl/netmaker/netclient/functions"
- "github.com/gravitl/netmaker/netclient/gui/components"
- "github.com/gravitl/netmaker/netclient/ncutils"
- )
- // GetJoinView - get's the join screen where a user inputs an access token
- func GetJoinView() fyne.CanvasObject {
- input := widget.NewMultiLineEntry()
- input.SetPlaceHolder("access token here...")
- submitBtn := components.ColoredIconButton("Submit", theme.UploadIcon(), func() {
- // ErrorNotify("Could not process token")
- LoadingNotify()
- var cfg config.ClientConfig
- accesstoken, err := config.ParseAccessToken(input.Text)
- if err != nil {
- ErrorNotify("Failed to parse access token!")
- return
- }
- cfg.Network = accesstoken.ClientConfig.Network
- cfg.Node.Network = accesstoken.ClientConfig.Network
- cfg.Node.Name = ncutils.GetHostname()
- cfg.Server.AccessKey = accesstoken.ClientConfig.Key
- cfg.Node.LocalRange = accesstoken.ClientConfig.LocalRange
- cfg.Server.API = accesstoken.ServerConfig.APIConnString
- err = functions.JoinNetwork(&cfg, "")
- if err != nil {
- ErrorNotify("Failed to join " + cfg.Network + "!")
- return
- }
- networks, err := ncutils.GetSystemNetworks()
- if err != nil {
- ErrorNotify("Failed to read local networks!")
- return
- }
- SuccessNotify("Joined " + cfg.Network + "!")
- input.Text = ""
- RefreshComponent(Networks, GetNetworksView(networks))
- ShowView(Networks)
- // TODO
- // - call join
- // - display loading
- // - on error display error notification
- // - on success notify success, refresh networks & networks view, display networks view
- }, components.Blue_color)
- return container.NewGridWithColumns(1,
- container.NewCenter(widget.NewLabel("Join new network with Access Token")),
- input,
- container.NewCenter(submitBtn),
- )
- }
|