{"id":29996720,"url":"https://github.com/djaus2/mauicountdowntoolkit","last_synced_at":"2026-01-20T17:53:40.517Z","repository":{"id":304936695,"uuid":"1020601951","full_name":"djaus2/MauiCountdownToolkit","owner":"djaus2","description":"Implements a visual countdown timer.","archived":false,"fork":false,"pushed_at":"2025-07-20T03:50:58.000Z","size":590,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-25T22:59:49.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djaus2.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,"zenodo":null}},"created_at":"2025-07-16T05:59:24.000Z","updated_at":"2025-07-20T03:51:03.000Z","dependencies_parsed_at":"2025-07-17T13:25:59.634Z","dependency_job_id":"61a67673-470c-4df7-a7ff-0265f9645b08","html_url":"https://github.com/djaus2/MauiCountdownToolkit","commit_stats":null,"previous_names":["djaus2/mauicountdowntoolkit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/djaus2/MauiCountdownToolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FMauiCountdownToolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FMauiCountdownToolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FMauiCountdownToolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FMauiCountdownToolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djaus2","download_url":"https://codeload.github.com/djaus2/MauiCountdownToolkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FMauiCountdownToolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274113376,"owners_count":25224394,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-08-05T02:54:16.208Z","updated_at":"2026-01-20T17:53:40.485Z","avatar_url":"https://github.com/djaus2.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# MauiCountdownToolkit\n\n## CountdownPopup/RainbowCountdownPopup\n\u003e This is a Maui Countdown Popup that can be used to display a countdown timer in your Maui application. \n\u003e It is designed to be simple and easy to use, allowing you to quickly implement countdown functionality in your app.\n\u003e Two border options.\n\u003e [Cancel] button and can be programmatically cancelled. Displays an icon.\n\n- Components:  \n   `MauiCountdownToolkit.Views.CountdownPopup`   Has one solid color border (default red).  \n   `MauiCountdownToolkit.Views.RainbowCountdownPopup` Has rainbow border.\n- NuGet Package:  \n   [djaus2MauiCountdownToolkit](https://www.nuget.org/packages/djaus2MauiCountdownToolkit/)\n\n## Popup Icon issue 2025-07-19\n- Can use Icon from app but not Toolkit embedded versions\n  - 2 Nuget packages tried. Reverting at Version 1.1.6 where app icon works\n\n\n### V1.1.3 CountDown class Interface  \n_(using MauiCountdownToolkit)_  \n```csharp\n    static abstract Countdown? Create(ContentPage? Page, CountDownMode Mode = CountDownMode.PopupRed, string IconSource = \"\", int IconSize = 100, string InitialText = \"Starting...\");\n    void Cancel();\n    Task\u003cbool\u003e Wait(int Delay);\n```\n\n- Parameters:\n   - `seconds`: The number of seconds for the countdown.\n   - `iconSource`: The source of the icon to display in the popup (default is \"videogreen.svg\").\n   - `color` **(CountdownPopup only)**: _The color of the border (default is `null`, which uses a default red)._\n   - `IconWidthHeight`: The width and height of the icon (default is 100).\n   - `initialText`: The initial text to display in the popup (default is \"Starting...\").\n   - `mode` = CountDownMode:\n ```cs\n    None,        // No countdown\n    Soft,        //Software only, countdown loop (New in this version)\n    PopupRed,    //CountdownPopup\n    PopupRainbow //RainbowCountdownPopup\n```\n\n### Lower Interface _(Previous but will work)_ \n_(using MauiCountdownToolkit.Views)_  \n   ```csharp\n    public CountdownPopup(int seconds, SolidColorBrush? color = null, string iconSource = \"videogreen.svg\", int iconWidthHeight = 100, string initialText = \"Starting...\")\n\n   and \n    public RainbowCountdownPopup(int seconds, string iconSource = \"videogreen.svg\",int IconWidthHeight=100, string initialText= \"Starting...\")\n   ```\n\n   - **Nb:** videogreen.svg, the default icon is in the lib\n     - You can use your own SVG icon from an app using this lib.*\n     - Make sure its property is set to MauiImage.  \n![Countdown Popup](https://raw.githubusercontent.com/djaus2/MauiCountdownToolkit/master/Popup1.png)\n\n     ***The RainbowCountdownPopup in action using gunx.svg icon***\n     ---\n     ```*``` Icons embedded in the library:  \n     Can be used without instantiation (inclusion) in the host app:  \n     _Inbuilt icons don't currently work_\n     - gunx.svg\n     - videogreen.svg _(default)_\n     - videored.svg\n     - videoblack.svg\n\n## Usage Example Version 1.1.0\n```csharp\n// Nb: Running from ContentPage\nusing MauiCountdownToolkit;\n...\n...\nCountdown? countdown = null;\n...\n...\ncountdown? = Countdown.Create(this,CountDownMode.Red,\"video.svg\")\nif(countdown != null)\n{\n    bool response = await countdown.Wait(10);//10 second countdown\n    if (response)\n    {\n        // If cancel on the poup is press won't get here\n        //Call process to be triggered after countdown\n    }\n}\n...\n...\n//Elsewhere eg if process manual cancel button is pressed before countdown fimishes.\n    Countdown?.Cancel();\n```\n\n\n## Usage Example Previous\n\n```csharp\nusing MauiCountdownToolkit.Views;\n...\n...\nCountdownPopup? CountdownPopup = null;\n...\n...\nint delay = //Get from app properties etc.\nif (delay \u003e 0)\n{\n    CountdownPopup = new CountdownPopup(delay,null, \"dotnet_athletics.jpg\", 64,\"Starting...\");\n    await this.ShowPopupAsync(CountdownPopup);\n                      \n    bool result = await CountdownPopup.Result;\n    CountdownPopup = null;\n    if (result)\n        //Call process to be triggered after countdown\n}\n...\n...\nElsewhere eg if process manual start button is pressed before countdown fimishes.\nif (CountdownPopup != null)\n{\n    // If a countdown popup is active, cancel it\n    CountdownPopup.Cancel();\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Fmauicountdowntoolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjaus2%2Fmauicountdowntoolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Fmauicountdowntoolkit/lists"}