{"id":22070202,"url":"https://github.com/atc-net/atc-blazor","last_synced_at":"2026-04-30T00:35:34.471Z","repository":{"id":42566904,"uuid":"453115073","full_name":"atc-net/atc-blazor","owner":"atc-net","description":"A common set of Blazor libraries","archived":false,"fork":false,"pushed_at":"2024-05-07T06:05:09.000Z","size":246,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-07T07:25:40.382Z","etag":null,"topics":["blazor","components-library"],"latest_commit_sha":null,"homepage":"https://atc-net.github.io/repository/atc-blazor","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atc-net.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-28T15:18:31.000Z","updated_at":"2024-05-07T07:25:41.482Z","dependencies_parsed_at":"2024-04-09T08:45:46.687Z","dependency_job_id":"d0d4629c-a01b-494a-b454-8c3822014dca","html_url":"https://github.com/atc-net/atc-blazor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atc-net%2Fatc-blazor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atc-net%2Fatc-blazor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atc-net%2Fatc-blazor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atc-net%2Fatc-blazor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atc-net","download_url":"https://codeload.github.com/atc-net/atc-blazor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245153215,"owners_count":20569400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blazor","components-library"],"created_at":"2024-11-30T20:15:20.222Z","updated_at":"2026-04-30T00:35:29.440Z","avatar_url":"https://github.com/atc-net.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![NuGet Version](https://img.shields.io/nuget/v/Atc.Blazor.ColorThemePreference.svg?logo=nuget\u0026style=for-the-badge)](https://www.nuget.org/packages/Atc.Blazor.ColorThemePreference)\n\n# Atc.Blazor\n\nThis repository contains packages with components for Blazor application:\n\n| Package | Description |\n|---|---|\n| Atc.Blazor.ColorThemePreference | A library for detecting the user preferred color theme |\n\n## Requirements\n\n* [.NET 8 Runtime](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)\n\n## Get started Atc.Blazor\n\n### Installation for Atc.Blazor\n\n```powershell\nInstall-Package Atc.Blazor\n```\n\n### How to Use `NavigationManager.TryGetQueryString`\n\n```csharp\nint myInt = 0;\n\nNavigationManager.TryGetQueryString\u003cint\u003e(\"myKey\", out var myInt)\n```\n\n### How to Use `QueryStringParameterAttribute` and `SetPropertiesWithDecoratedQueryStringParameterFromQueryString`\n\n```csharp\n@page \"/\"\n@inject NavigationManager NavigationManager\n\n\u003cdiv\u003eMy age is: @Age\u003c/div\u003e\n\n@code\n{\n    [QueryStringParameter]\n    public int Age { get; set; }\n\n    public override Task SetParametersAsync(ParameterView parameters) // Overload from Blazor components lifecycle\n    {\n        this.SetPropertiesWithDecoratedQueryStringParameterFromQueryString(NavigationManager); // Bind from url-qyery-parameter 'age' to property 'Age'\n        return base.SetParametersAsync(parameters);\n    }\n}\n```\n\n```csharp\n@page \"/\"\n@inject NavigationManager NavigationManager\n\n\u003cdiv\u003eMy age is: @Age\u003c/div\u003e\n\n@code\n{\n    [QueryStringParameter(\"myAge\")]\n    public int Age { get; set; }\n\n    public override Task SetParametersAsync(ParameterView parameters) // Overload from Blazor components lifecycle\n    {\n        this.SetPropertiesWithDecoratedQueryStringParameterFromQueryString(NavigationManager); // Bind from url-qyery-parameter 'myAge' to property 'Age'\n        return base.SetParametersAsync(parameters);\n    }\n}\n```\n\n### How to Use `QueryStringParameterAttribute` and `UpdateQueryStringFromPropertiesWithDecoratedQueryStringParameter`\n\n```csharp\n@page \"/\"\n@inject NavigationManager NavigationManager\n\n\u003cbutton type=\"button\" @onclick=\"UpdateQueryStringWithAge(21)\"\u003eUpdate url\u003c/button\u003e\n\n@code\n{\n    [QueryStringParameter]\n    public int Age { get; set; }\n\n    public void UpdateQueryStringWithAge(int age)\n    {\n        this.Age = age;\n        this.UpdateQueryString(NavigationManager);\n    }\n}\n```\n\n## Get started Atc.Blazor.ColorThemePreference\n\n### Installation for Atc.Blazor.ColorThemePreference\n\n```powershell\nInstall-Package Atc.Blazor.ColorThemePreference\n```\n\n### How to Setup\n\nModify `Program.cs` by adding to the service builder:\n\n```csharp\nvar builder = WebAssemblyHostBuilder.CreateDefault(args);\nbuilder.RootComponents.Add\u003cApp\u003e(\"#app\");\nbuilder.RootComponents.Add\u003cHeadOutlet\u003e(\"head::after\");\n\nbuilder.Services.AddScoped(sp =\u003e new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });\n\nbuilder.Services.AddColorThemePreferenceDetector(); // Require package: Atc.Blazor.ColorThemePreference\n\nawait builder.Build().RunAsync();\n```\n\nModify `index.html` by adding:\n\n```html\n\u003cscript src=\"_content/Atc.Blazor.ColorThemePreference/ColorThemePreferenceDetector.js\" type=\"module\"\u003e\u003c/script\u003e\n```\n\n### How to Use\n\n```csharp\n@inject IColorThemePreferenceDetector colorThemePreferenceDetector;\n\n\u003cp\u003eUse Light-Mode: @useLightMode\u003c/p\u003e\n\u003cp\u003eUse Dark-Mode: @useDarkMode\u003c/p\u003e\n\n@code\n{\n    private bool useLightMode;\n    private bool useDarkMode;\n\n    protected override async Task OnInitializedAsync()\n    {\n        useLightMode = await colorThemePreferenceDetector.UseLightMode();\n        useDarkMode = await colorThemePreferenceDetector.UseDarkMode();\n\n        await base.OnInitializedAsync();\n    }\n}\n```\n\n## How to contribute\n\n[Contribution Guidelines](https://atc-net.github.io/introduction/about-atc#how-to-contribute)\n\n[Coding Guidelines](https://atc-net.github.io/introduction/about-atc#coding-guidelines)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatc-net%2Fatc-blazor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatc-net%2Fatc-blazor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatc-net%2Fatc-blazor/lists"}