| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 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>();
- application.add_transient<ProgressDemoWithSSE>();
-
- // 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);
- }
- }
|