{"id":28721326,"url":"https://github.com/alexcmgit/flutter-shared-tools","last_synced_at":"2025-06-15T07:03:53.313Z","repository":{"id":45449043,"uuid":"512794389","full_name":"alexcmgit/flutter-shared-tools","owner":"alexcmgit","description":"A set of Flutter tools that I often use in my projects.","archived":false,"fork":false,"pushed_at":"2023-09-30T14:49:57.000Z","size":33,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-14T21:08:06.723Z","etag":null,"topics":["common","flutter","secretvault","set","tools","utils"],"latest_commit_sha":null,"homepage":"https://github.com/alexrintt/flutter-shared-tools","language":"Dart","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/alexcmgit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-07-11T14:40:28.000Z","updated_at":"2024-08-14T20:31:47.000Z","dependencies_parsed_at":"2024-11-15T11:11:13.794Z","dependency_job_id":"1613b988-3f4a-47d6-937d-68dc53dafd41","html_url":"https://github.com/alexcmgit/flutter-shared-tools","commit_stats":null,"previous_names":["alexcmgit/flutter-shared-tools"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alexcmgit/flutter-shared-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fflutter-shared-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fflutter-shared-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fflutter-shared-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fflutter-shared-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexcmgit","download_url":"https://codeload.github.com/alexcmgit/flutter-shared-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexcmgit%2Fflutter-shared-tools/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259935600,"owners_count":22934385,"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":["common","flutter","secretvault","set","tools","utils"],"created_at":"2025-06-15T07:03:52.093Z","updated_at":"2025-06-15T07:03:53.307Z","avatar_url":"https://github.com/alexcmgit.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"## How to install\n\n(Recommended) Fork and depend of your fork instead using this one. This is a really unstable installation since it's not from _pub.dev_.\n\n```yaml\ndependencies:\n  # ...\n  flutter_shared_tools:\n    git:\n      url: https://github.com/alexrintt/flutter-shared-tools\n      ref: master\n  # ...\n```\n\nAnd use as:\n\n```dart\nimport 'package:flutter_shared_tools/flutter_shared_tools.dart';\n```\n\n## Features\n\nCheck out full list of features.\n\n### Available extensions\n\n- `MediaQueryAlias`.\n\n```dart\n// Allow usage of:\ncontext.width; // Alias for MediaQuery.of(context).size.width;\ncontext.height; // Alias for MediaQuery.of(context).size.height;\n// Many others, check [MediaQueryAlias] extension for full list of alias\n```\n\n- `NavigatorAlias`.\n\n```dart\n// Use context to manage routes:\ncontext.push(...);\ncontext.pop(...);\ncontext.maybePop(...);\n\n// Instead of:\nNavigator.of(context).push(...);\nNavigator.of(context).pop(...);\nNavigator.of(context).maybePop(...);\n```\n\n- `ScrollControllerUtils`.\n\n```dart\n// Use to build an infinite scroll\nscrollController.addOffsetListener(\n  () {\n    loadMoreItemFromApi(); // Will be called everytime scroll reaches the bottom\n  },\n  context.height / 2, // Optionally set an offset from the bottom to load before it reaches the real bottom\n);\n```\n\n- `ThemeAlias`.\n\n```dart\nif (context.isDark) { /* ... */ }\ncontext.primaryColor; // ...\ncontext.colorScheme; // ...\ncontext.onPrimary; // ...\n// ...etc. See full list at [ThemeAlias] extension.\n```\n\n### GitHub color schemes\n\nSee [primer.style/primitives/colors](https://primer.style/primitives/colors), the official website of color scheme of GitHub theme.\n\nThis module allows you use it inside Flutter.\n\n```dart\n// Object with all colors of the GitHub Light theme\nconst kGitHubLight = GitHubLightColors();\n\n// Object with all colors of the GitHub Dark Dimmed theme\nconst kGitHubDarkDimmed = GitHubDarkDimmedColors();\n\n// Object with all colors of the GitHub Dark theme\nconst kGitHubDark = GitHubDarkColors();\n\n// Object with all colors of the GitHub Light Colorblind theme\nconst kGitHubLightColorblind = GitHubLightColorblindColors();\n```\n\n### Widgets\n\n- `SkeletonAnimation`. Useful to display as loading indicators rather than the `CircularProgressIndicator()`.\n\n```dart\nContainer(\n  child: SkeletonAnimation(\n    child: SizedBox(width: 100, height: 25), // Define Skeleton size\n  ),\n);\n```\n\n### Constants\n\n- Border Radius constants.\n\n```dart\nconst BorderRadius kBRadius8 = BorderRadius.all(kRadius8);\nconst BorderRadius kBRadius4 = BorderRadius.all(kRadius4);\nconst BorderRadius kBRadius2 = BorderRadius.all(kRadius2);\n```\n\n- Radius constants.\n\n```dart\nconst Radius kRadius8 = Radius.circular(8);\nconst Radius kRadius4 = Radius.circular(4);\nconst Radius kRadius2 = Radius.circular(2);\n```\n\n\u003cbr\u003e\n\n\u003csamp\u003e\n\n\u003ch2 align=\"center\"\u003e\n  Open Source\n\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eCopyright © 2022-present, Alex Rintt.\u003c/sub\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003eFlutter Shared Tools \u003ca href=\"https://github.com/alexrintt/flutter-shared-tools/blob/master/LICENSE\"\u003eis MIT licensed 💖\u003c/a\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/51419598/178327667-15a00cd0-60c5-485f-8a0e-68c92545907b.png\" width=\"35\" /\u003e\n\u003c/p\u003e\n  \n\u003c/samp\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexcmgit%2Fflutter-shared-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexcmgit%2Fflutter-shared-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexcmgit%2Fflutter-shared-tools/lists"}