init
This commit is contained in:
36
internal/pages/home.go
Normal file
36
internal/pages/home.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package pages
|
||||
|
||||
type HomePageMsg struct{}
|
||||
|
||||
type SettingsPageMsg struct{}
|
||||
|
||||
type SelectServerPageMsg struct{}
|
||||
|
||||
type VPNStatusMsg struct {
|
||||
Connected bool
|
||||
Err error
|
||||
}
|
||||
|
||||
type VPNToggleMsg struct {
|
||||
Connected bool
|
||||
Err error
|
||||
}
|
||||
|
||||
type MenuItem struct {
|
||||
Label string
|
||||
Key string
|
||||
}
|
||||
|
||||
func HomeMenuItems(connected, hasServers bool) []MenuItem {
|
||||
var items []MenuItem
|
||||
if hasServers {
|
||||
if connected {
|
||||
items = append(items, MenuItem{Label: "Turn Off", Key: "off"})
|
||||
} else {
|
||||
items = append(items, MenuItem{Label: "Turn On", Key: "on"})
|
||||
}
|
||||
items = append(items, MenuItem{Label: "Select Server", Key: "select-server"})
|
||||
}
|
||||
items = append(items, MenuItem{Label: "Settings", Key: "settings"})
|
||||
return items
|
||||
}
|
||||
10
internal/pages/select_server.go
Normal file
10
internal/pages/select_server.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package pages
|
||||
|
||||
import "tailscale-vpn/internal/services"
|
||||
|
||||
type ServerSelectedMsg struct {
|
||||
Server services.Server
|
||||
Err error
|
||||
}
|
||||
|
||||
type ServerSelectionCanceledMsg struct{}
|
||||
21
internal/pages/settings.go
Normal file
21
internal/pages/settings.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package pages
|
||||
|
||||
import "tailscale-vpn/internal/services"
|
||||
|
||||
type ServerListLoadedMsg struct {
|
||||
Servers []services.Server
|
||||
Err error
|
||||
}
|
||||
|
||||
type ServerEditMsg struct {
|
||||
Mode string
|
||||
Server services.Server
|
||||
}
|
||||
|
||||
type ServerSaveMsg struct {
|
||||
Err error
|
||||
}
|
||||
|
||||
type ServerDeleteMsg struct {
|
||||
Err error
|
||||
}
|
||||
Reference in New Issue
Block a user