Compare commits

...

2 commits

Author SHA1 Message Date
Benjamin Palko
8860138999 DOCS 2025-05-22 15:49:05 -04:00
Benjamin Palko
2d321a3d53 add color to server 2025-05-22 15:49:05 -04:00
2 changed files with 37 additions and 1 deletions

View file

@ -34,3 +34,13 @@ And enable WebAssembly:
```bash
dotnet workload install wasi-experimental
```
```bash
bun server:up
```
Add the spacetime docker server to your cli
```bash
spacetime server add --url http://localhost:3000 massive
```

View file

@ -1,3 +1,4 @@
using System.Text.RegularExpressions;
using SpacetimeDB;
public static partial class Module
@ -8,6 +9,7 @@ public static partial class Module
[PrimaryKey]
public Identity Identity;
public string? Name;
public string? Color;
public bool Online;
}
@ -42,6 +44,31 @@ public static partial class Module
return name;
}
[Reducer]
public static void SetColor(ReducerContext ctx, string color)
{
color = ValidateColor(color);
var user = ctx.Db.User.Identity.Find(ctx.Sender);
if (user is null)
{
return;
}
user.Color = color;
ctx.Db.User.Identity.Update(user);
}
private static string ValidateColor(string color)
{
var regex = new Regex("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$");
if (regex.IsMatch(color))
{
throw new Exception("Invalid color code");
}
return color;
}
[Reducer]
public static void SendMessage(ReducerContext ctx, string text)
{
@ -113,4 +140,3 @@ public static partial class Module
}
}
}