{"id":21511770,"url":"https://github.com/khumozin/ngx-rewards","last_synced_at":"2026-05-12T04:32:15.187Z","repository":{"id":199995473,"uuid":"704814797","full_name":"Khumozin/ngx-rewards","owner":"Khumozin","description":"NgxRewards lets you add micro-interactions to your app, and reward users with the rain of confetti, emoji or balloons in seconds. ","archived":false,"fork":false,"pushed_at":"2023-10-22T18:34:11.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-23T12:33:36.556Z","etag":null,"topics":["angular","confetti","emojis","firebase-hosting","npm","semantic-release"],"latest_commit_sha":null,"homepage":"https://ngx-rewards.web.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Khumozin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-10-14T07:07:19.000Z","updated_at":"2023-10-20T11:11:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c1aebed-9a25-473d-8db6-ecd6de13c872","html_url":"https://github.com/Khumozin/ngx-rewards","commit_stats":null,"previous_names":["khumozin/ngx-rewards"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khumozin%2Fngx-rewards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khumozin%2Fngx-rewards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khumozin%2Fngx-rewards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khumozin%2Fngx-rewards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Khumozin","download_url":"https://codeload.github.com/Khumozin/ngx-rewards/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244056432,"owners_count":20390720,"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":["angular","confetti","emojis","firebase-hosting","npm","semantic-release"],"created_at":"2024-11-23T22:17:06.401Z","updated_at":"2026-05-12T04:32:10.143Z","avatar_url":"https://github.com/Khumozin.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NgxRewards 🎉\n\nHere is a [simple demo](https://ngx-rewards.web.app/)\n\n## Table of Contents\n\n- [About](#about)\n- [Installation](#installation)\n- [Getting Started](#getting-started)\n- [Props \u0026 config](#props--config)\n- [Contributing](#contributing)\n- [License](#license)\n\n## About\n\n**ngx-rewards** lets you add micro-interactions to your app, and reward users with the rain of confetti, emoji or balloons in seconds.\nFiring confetti all over the page may seem like a questionable idea, but keep in mind that rewarding users for their actions is not.\n\n## Installation\n\n```\nng add ngx-rewards\n```\n\nor\n\n```\nnpm install ngx-rewards\n```\n\n##\n\n```\n// app.module.ts\n\nimport { NgxRewardsModule } from 'ngx-rewards';\n\n@NgModule({\n  declarations: [...],\n  imports: [..., NgxRewardsModule],\n  providers: [],\n  bootstrap: [...],\n})\nexport class AppModule {}\n```\n\n```\n// app.component.ts\n\nimport { EmojiConfig } from 'ngx-rewards';\n\n@Component({...})\nexport class AppComponent {\n  defaultEmoji = ['🤓', '😊', '🥳', '😃', '🤪', '🔥', '🎉'];\n\n  emojiConfig: EmojiConfig = {\n    elementCount: 50,\n    elementSize: 20,\n  };\n}\n```\n\n```\n// app.component.html\n\n\u003cbutton ngxRewardsEmoji\n        [emojiConfig]=\"emojiConfig\"\n        class=\"button\"\u003e\n  Emoji\n\u003c/button\u003e\n\n\u003cbutton ngxRewardsConfetti\n        class=\"button\"\u003e\n  Confetti\n\u003c/button\u003e\n\n\u003cbutton ngxRewardsBalloon\n        class=\"button\"\u003e\n  Balloons\n\u003c/button\u003e\n\n\u003cbutton ngxRewardsEmoji\n        ngxRewardsBalloon\n        ngxRewardsConfetti\n        class=\"button\"\u003e\n  All 3\n\u003c/button\u003e\n\n```\n\n### Props \u0026 config\n\nConfetti config object:\n\n| name                | type       | description                                        | default                                                 |\n| ------------------- | ---------- | -------------------------------------------------- | ------------------------------------------------------- |\n| lifetime            | number     | time of life                                       | 200                                                     |\n| angle               | number     | initial direction of particles in degrees          | 90                                                      |\n| decay               | number     | how much the velocity decreases with each frame    | 0.94                                                    |\n| spread              | number     | spread of particles in degrees                     | 45                                                      |\n| startVelocity       | number     | initial velocity of particles                      | 35                                                      |\n| elementCount        | number     | particles quantity                                 | 50                                                      |\n| elementSize         | number     | particle size in px                                | 8                                                       |\n| zIndex              | number     | z-index of particles                               | 0                                                       |\n| position            | string     | one of CSSProperties['position'] - e.g. \"absolute\" | \"fixed\"                                                 |\n| colors              | string[]   | An array of colors used when generating confetti   | ['#A45BF1', '#25C6F6', '#72F753', '#F76C88', '#F5F770'] |\n| onAnimationComplete | () =\u003e void | A function that runs when animation completes      | undefined                                               |\n\nBalloons config object:\n\n| name                | type       | description                                        | default                                                 |\n| ------------------- | ---------- | -------------------------------------------------- | ------------------------------------------------------- |\n| lifetime            | number     | time of life                                       | 600                                                     |\n| angle               | number     | initial direction of balloons in degrees           | 90                                                      |\n| decay               | number     | how much the velocity decreases with each frame    | 0.999                                                   |\n| spread              | number     | spread of balloons in degrees                      | 50                                                      |\n| startVelocity       | number     | initial velocity of the balloons                   | 3                                                       |\n| elementCount        | number     | balloons quantity                                  | 10                                                      |\n| elementSize         | number     | balloons size in px                                | 20                                                      |\n| zIndex              | number     | z-index of balloons                                | 0                                                       |\n| position            | string     | one of CSSProperties['position'] - e.g. \"absolute\" | \"fixed\"                                                 |\n| colors              | string[]   | An array of colors used when generating balloons   | ['#A45BF1', '#25C6F6', '#72F753', '#F76C88', '#F5F770'] |\n| onAnimationComplete | () =\u003e void | A function that runs when animation completes      | undefined                                               |\n\nEmoji config object:\n\n| name                | type       | description                                        | default                                    |\n| ------------------- | ---------- | -------------------------------------------------- | ------------------------------------------ |\n| lifetime            | number     | time of life                                       | 200                                        |\n| angle               | number     | initial direction of emoji in degrees              | 90                                         |\n| decay               | number     | how much the velocity decreases with each frame    | 0.94                                       |\n| spread              | number     | spread of emoji in degrees                         | 45                                         |\n| startVelocity       | number     | initial velocity of emoji                          | 35                                         |\n| elementCount        | number     | emoji quantity                                     | 20                                         |\n| elementSize         | number     | emoji size in px                                   | 25                                         |\n| zIndex              | number     | z-index of emoji                                   | 0                                          |\n| position            | string     | one of CSSProperties['position'] - e.g. \"absolute\" | \"fixed\"                                    |\n| emoji               | string[]   | An array of emoji to shoot                         | ['🤓', '😊', '🥳', '😃', '🤪', '🔥', '🎉'] |\n| onAnimationComplete | () =\u003e void | A function that runs when animation completes      | undefined                                  |\n\n## Contributing\n\nIf you would like to contribute to this project, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and test them thoroughly.\n4. Create a pull request with a clear description of you changes.\n\n## License\n\nThis News App project is licensed under the `MIT License`. Feel free to use and modify it as per your requirements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhumozin%2Fngx-rewards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhumozin%2Fngx-rewards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhumozin%2Fngx-rewards/lists"}