added frontend that can play very bare bones

This commit is contained in:
amnesia
2025-06-30 21:22:07 +02:00
parent 9c8b8177ad
commit ad286d745f
7 changed files with 182 additions and 56 deletions

View File

@@ -59,12 +59,13 @@ func GetSession(name string) (*Session, error) {
return s, nil
}
func (s *Session) AddUser(user User) {
func (s *Session) AddUser(user User) *User {
s.Users = append(s.Users, user)
// fmt.Printf("#### Adding %v:\t%p\n", s.Users[len(s.Users)-1].Name, &(s.Users[len(s.Users)-1]))
// append changes the pointers to the users because it needs to resize that slice
s.CurrentUser = &(s.Users[s.userIndex])
return &(s.Users[len(s.Users)-1])
}
func (s *Session) VerifySignature(signature string, message []byte) (*User, error) {

View File

@@ -8,12 +8,3 @@ type User struct {
Name string
PublicKey ed25519.PublicKey
}
func NewUser(name string, publicKey ed25519.PublicKey) User {
// ed25519
return User{
Name: name,
PublicKey: publicKey,
}
}

View File

@@ -29,8 +29,14 @@ func CreateUser(c echo.Context) error {
if err != nil {
return c.String(http.StatusBadRequest, err.Error())
}
user := game.NewUser(bodyContent.Name, pub)
session.AddUser(user)
return c.JSON(http.StatusOK, user)
user := session.AddUser(game.User{
Name: bodyContent.Name,
PublicKey: pub,
})
return c.JSON(http.StatusOK, ResponseData{
Session: session,
User: user,
})
}

View File

@@ -32,5 +32,8 @@ func GuessLetter(c echo.Context) error {
return c.String(http.StatusBadRequest, err.Error())
}
return c.JSON(http.StatusOK, session)
return c.JSON(http.StatusOK, ResponseData{
User: user,
Session: session,
})
}

View File

@@ -8,6 +8,11 @@ import (
"github.com/labstack/echo/v4"
)
type ResponseData struct{
Session *game.Session
User *game.User
}
func GetData(c echo.Context) (*game.Session, *game.User, error) {
session, err := game.GetSession(c.Param("session"))
if err != nil {