| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using Astralis;
- using Invercargill;
- using Invercargill.DataStructures;
- using Inversion;
- using Spry;
- using Demo.Static;
- void main(string[] args) {
- int port = args.length > 1 ? int.parse(args[1]) : 8080;
-
- try {
- var application = new WebApplication(port);
-
- // Enable compression
- application.use_compression();
-
- // Add Spry module for component actions
- application.add_module<SpryModule>();
-
- // Configure templates
- var spry_cfg = application.configure_with<SpryConfigurator>();
- spry_cfg.add_template<MainTemplate>("");
- // Register static resources
- application.container.register_startup<DocsCssResource>()
- .as<Spry.StaticResource>();
- // Register demo stores (singletons for state persistence)
- application.add_singleton<CounterDemoStore>();
- application.add_singleton<TodoDemoStore>();
-
- // Add Components
- application.add_transient<CodeBlockComponent>();
- application.add_transient<DemoHostComponent>();
- application.add_transient<NavSidebarComponent>();
-
- // Add Demo Components
- application.add_transient<SimpleCounterDemo>();
- application.add_transient<TodoListDemo>();
- application.add_transient<TodoItemDemo>();
- application.add_transient<ProgressDemo>();
-
- // Register page components
- application.add_transient<HomePage>();
- application.add_endpoint<HomePage>(new EndpointRoute("/"));
-
- // Components documentation pages
- application.add_transient<ComponentsOverviewPage>();
- application.add_endpoint<ComponentsOverviewPage>(new EndpointRoute("/components/overview"));
-
- application.add_transient<ComponentsTemplateSyntaxPage>();
- application.add_endpoint<ComponentsTemplateSyntaxPage>(new EndpointRoute("/components/template-syntax"));
-
- application.add_transient<ComponentsActionsPage>();
- application.add_endpoint<ComponentsActionsPage>(new EndpointRoute("/components/actions"));
-
- application.add_transient<ComponentsOutletsPage>();
- application.add_endpoint<ComponentsOutletsPage>(new EndpointRoute("/components/outlets"));
-
- application.add_transient<ComponentsContinuationsPage>();
- application.add_endpoint<ComponentsContinuationsPage>(new EndpointRoute("/components/continuations"));
-
- // Page Components documentation pages
- application.add_transient<PageComponentsOverviewPage>();
- application.add_endpoint<PageComponentsOverviewPage>(new EndpointRoute("/page-components/overview"));
-
- application.add_transient<PageTemplatesPage>();
- application.add_endpoint<PageTemplatesPage>(new EndpointRoute("/page-components/templates"));
-
- // Static Resources documentation pages
- application.add_transient<StaticResourcesOverviewPage>();
- application.add_endpoint<StaticResourcesOverviewPage>(new EndpointRoute("/static-resources/overview"));
-
- application.add_transient<StaticResourcesMkssrPage>();
- application.add_endpoint<StaticResourcesMkssrPage>(new EndpointRoute("/static-resources/spry-mkssr"));
-
- application.run();
-
- } catch (Error e) {
- printerr("Error: %s\n", e.message);
- Process.exit(1);
- }
- }
|