module web import freeflowuniverse.crystallib.osal import veb import rand import os import json import time pub struct Context { veb.Context } pub struct App { veb.StaticHandler pub: adminkey string } // Main entry point pub fn new() &App { mut app := &App{} // Start the Veb web server on port 8080 app.static_mime_types['.map'] = 'txt/plain' app.mount_static_folder_at('${os.dir(@FILE)}/static', '/static') or { panic(err) } app.mount_static_folder_at('${os.dir(@FILE)}/static', '/assets') or { panic(err) } return app } @[params] pub struct RunParams { port int = 8080 } pub fn (mut app App) run(params RunParams) { veb.run[App, Context](mut app, params.port) }