Savanni D'Gerinel
2a616ef6c9
Set the admin password on a new server
...
This sets up the client state manager and state model. It has all of the
functions to support the set admin password endpoint, and some extras
which will be helpful in saving users generally.
2024-12-17 23:43:36 -05:00
Savanni D'Gerinel
f6a45a9223
Merge the auth state into a tabletop in the AppState provider
2024-12-17 00:50:25 -05:00
Savanni D'Gerinel
7d7e6ef300
Start trying to set up providers
2024-12-16 23:46:02 -05:00
Savanni D'Gerinel
af0ab5d020
Create a status endpoint that shows the onboarding UI if there's no admin password
2024-12-16 00:27:55 -05:00
Savanni D'Gerinel
7ca1581b55
Set up a state provider
2024-12-15 23:20:09 -05:00
Savanni D'Gerinel
5e89b8257d
Set up the authentication page
2024-12-15 22:49:53 -05:00
Savanni D'Gerinel
7466ef2a6f
Remove the original UI files
2024-12-15 21:42:01 -05:00
Savanni D'Gerinel
e505c21bc8
Set up an admin panel that shows the list of users
2024-12-10 22:43:15 -05:00
Savanni D'Gerinel
e8bc0590c6
Make the interface to show users in the system
2024-12-01 14:07:37 -05:00
Savanni D'Gerinel
5c23f326b6
Add the ability to save users and games. Link games more tightly to characters
2024-12-01 11:14:28 -05:00
Savanni D'Gerinel
d7e4293da0
Start using ResultExt to improve error handling
2024-12-01 00:51:08 -05:00
Savanni D'Gerinel
afb510d92e
Set up new tables to handle users and roles
2024-11-30 23:03:52 -05:00
Savanni D'Gerinel
82c8f3f96e
Clean up the database schema
2024-11-30 18:55:51 -05:00
Savanni D'Gerinel
d8ea2aac40
Retrieve the charsheet from the database and render it in the UI
2024-11-30 18:43:20 -05:00
Savanni D'Gerinel
995390ae4b
Just make the entire core asynchronous
2024-11-30 15:24:57 -05:00
Savanni D'Gerinel
970e957143
Prepopulate the database
2024-11-30 12:20:38 -05:00
Savanni D'Gerinel
b506d479d3
Switch all channels to async-std
2024-11-30 12:05:31 -05:00
Savanni D'Gerinel
d78a471437
Create a shareable connection to the database
2024-11-30 11:48:35 -05:00
Savanni D'Gerinel
341e184947
Set up a database and store a character sheet in it
2024-11-29 23:14:52 -05:00
Savanni D'Gerinel
38d76e0048
Update sql-based database dependencies
2024-11-29 17:26:06 -05:00
Savanni D'Gerinel
253940c2ae
Add a side panel character sheet
2024-11-28 22:28:41 -05:00
Savanni D'Gerinel
d3db9d60c2
Fix asset providing
2024-11-28 21:32:13 -05:00
Savanni D'Gerinel
b382c68382
Add role and specialty
2024-11-27 18:40:14 -05:00
Savanni D'Gerinel
0202b7bd59
Set up a drive guage for candela drives
2024-11-27 10:56:11 -05:00
Savanni D'Gerinel
311cd9c9a5
Set up rendering and formatting for actions and action groups
2024-11-27 09:37:48 -05:00
Savanni D'Gerinel
db8e67420f
Start on a Candela Obscura plugin
2024-11-25 08:28:22 -05:00
Savanni D'Gerinel
c79610bd79
Add a test for update notifications
2024-11-24 09:50:20 -05:00
Savanni D'Gerinel
cadb3ab435
Verify that the tabletop can be set and retrieved
2024-11-24 09:35:25 -05:00
Savanni D'Gerinel
71b114c9b2
Set up some asset retrieval tests.
2024-11-24 09:21:58 -05:00
Savanni D'Gerinel
0f42ebcc30
Isolate error handling from Warp
2024-11-21 18:46:05 -05:00
Savanni D'Gerinel
5535632466
available_images now only lists image files from the asset database
2024-11-21 09:08:36 -05:00
Savanni D'Gerinel
5d66558180
Set up a test to validate the function which gets available images
...
There's a lot of work here that sets up dependency injection traits
which will make it easier for me to keep writing tests and will make it
easier for me to separate the Core from the support infrastructure.
2024-11-20 09:52:26 -05:00
Savanni D'Gerinel
154efcb6df
Set up a GM control panel that can control the currently selected background
2024-11-19 22:48:36 -05:00
Savanni D'Gerinel
2ab6e88634
Start using the code-generated types module
2024-11-19 16:21:16 -05:00
Savanni D'Gerinel
e20ec206a8
Add a package for shared server types
2024-11-19 16:02:32 -05:00
Savanni D'Gerinel
c1ee4074b0
Organize the player view and tabletop
2024-11-19 14:53:42 -05:00
Savanni D'Gerinel
f0ce3a9fab
Rename playfield to tabletop
2024-11-19 08:53:04 -05:00
Savanni D'Gerinel
e5deaa51d9
Extract the websocket code into a wrapper component
2024-11-19 00:09:48 -05:00
Savanni D'Gerinel
45275be11b
Serve up the background image via the websocket
2024-11-18 23:32:54 -05:00
Savanni D'Gerinel
54162d0072
Move client construction up to app root
2024-11-18 20:52:04 -05:00
Savanni D'Gerinel
a8170fd5c6
Try out rendering some basic components with a websocket
2024-11-18 20:35:35 -05:00
Savanni D'Gerinel
0237393c0b
Set up a websocket that relays messages
2024-11-18 19:08:49 -05:00
Savanni D'Gerinel
962ea66506
Move the handlers out of main.rs
2024-11-12 09:45:34 -05:00
Savanni D'Gerinel
69ef3c3892
Load up thumbnails of all images in the image directory
2024-11-12 00:16:54 -05:00
Savanni D'Gerinel
6416931c67
Apply a maximum size to the playing field
2024-11-11 23:22:41 -05:00
Savanni D'Gerinel
c35cbd75d7
Overhaul the UI application and build a placeholder for loading the background
2024-11-11 23:13:52 -05:00
Savanni D'Gerinel
addfd2072c
Create an image server and create the playing field
2024-11-11 19:58:50 -05:00
Savanni D'Gerinel
911bc97b69
Add a water pattern and disable the brake sensor
2024-11-08 14:45:34 +00:00
Savanni D'Gerinel
019d9e7a6b
Add channels for wires embedded in the lids.
2024-11-08 14:42:31 +00:00
Savanni D'Gerinel
8235ef0646
Work out a lid that contains integrated lights and buttons
2024-11-08 14:42:31 +00:00