{"id":20366771,"url":"https://github.com/kapilyadav-dev/composeintro","last_synced_at":"2025-09-04T05:08:34.331Z","repository":{"id":43329283,"uuid":"511225985","full_name":"KapilYadav-dev/ComposeIntro","owner":"KapilYadav-dev","description":" Yet another awesome Intro screen library 🔥","archived":false,"fork":false,"pushed_at":"2022-07-21T08:00:59.000Z","size":10279,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T05:12:23.733Z","etag":null,"topics":["android","jetpack","jetpack-compose","jetpack-library","kotlin","kotlin-android","library"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KapilYadav-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"KapilYadav-dev"}},"created_at":"2022-07-06T17:08:25.000Z","updated_at":"2023-10-18T07:33:40.000Z","dependencies_parsed_at":"2022-09-03T14:31:32.603Z","dependency_job_id":null,"html_url":"https://github.com/KapilYadav-dev/ComposeIntro","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/KapilYadav-dev/ComposeIntro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KapilYadav-dev%2FComposeIntro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KapilYadav-dev%2FComposeIntro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KapilYadav-dev%2FComposeIntro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KapilYadav-dev%2FComposeIntro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KapilYadav-dev","download_url":"https://codeload.github.com/KapilYadav-dev/ComposeIntro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KapilYadav-dev%2FComposeIntro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273555460,"owners_count":25126316,"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-04T02:00:08.968Z","response_time":61,"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":["android","jetpack","jetpack-compose","jetpack-library","kotlin","kotlin-android","library"],"created_at":"2024-11-15T00:26:57.357Z","updated_at":"2025-09-04T05:08:34.309Z","avatar_url":"https://github.com/KapilYadav-dev.png","language":"Kotlin","funding_links":["https://github.com/sponsors/KapilYadav-dev","https://www.buymeacoffee.com/mrkaydev"],"categories":[],"sub_categories":[],"readme":"# Compose-Intro ✅\n\n## Yes, I'm too bad in naming my libraries : )\n\n![buildStatus](https://img.shields.io/github/workflow/status/theapache64/twyper/Java%20CI%20with%20Gradle?style=plastic)\n![latestVersion](https://img.shields.io/github/v/release/KapilYadav-dev/ComposeIntro)\n\n\n\u003e Yet another Intro Screen library made with the love of Kotlin and Jetpack compose : )❤️\n\n### ✨ Demo\n\nhttps://github.com/KapilYadav-dev/ComposeIntro/blob/main/demo.mp4\n\n## Screenshot\n\n\u003cimg src=\"https://github.com/KapilYadav-dev/ComposeIntro/blob/main/ss.png\"/\u003e\n\n## ⌨️ Usage\n\n![latestVersion](https://img.shields.io/github/v/release/KapilYadav-dev/ComposeIntro)\n\n### 1. Add dependency.\n```groovy\nrepositories {\n  maven { url 'https://jitpack.io' } // Add jitpack\n}\n\ndependencies {\n  implementation 'com.github.KapilYadav-dev:ComposeIntro:\u003clatest.version\u003e'\n}\n\n```\n\n### 2. Use `IntroScreen` composable.\n```kotlin\n// These are the must fields.\nIntroScreen(\n    //Passing the list\n    items = items,\n    // Setting the Header icon\n    headerIcon = Icons.Outlined.Password,\n    //Left click handler\n    onLeftButtonClick = { },\n    //Right click handler\n    onRightButtonClick = { },\n    //On backpress handler\n    onBackPress = { },\n    //Get current Page\n    currentPage = { }\n)\n   \n```\n### 3. `IntroScreen` composable all params.\n```kotlin\nfun IntroScreen(\n    items: List\u003cIntroData\u003e,\n    infiniteLoop: Boolean = false,\n    /*\n     * These are the color which will shape the color of UI\n     */\n    headerIconTint: Color = Color(0xfffFF6464),\n    primaryColor: Color = Color(0xfffFF6464),\n    secondaryColor: Color = Color(0xfffBABABA),\n    /*\n     * These are the fonts which will shape the fonts of UI\n     */\n    primaryFont: FontFamily = BebasNue(),\n    secondaryFont: FontFamily = Poppins(),\n    /*\n     * This is the header drawable\n     */\n    headerIcon: ImageVector,\n    /*\n     * These are callbacks or high order function which will help to interact with buttons\n     */\n    onRightButtonClick: () -\u003e Unit,\n    onLeftButtonClick: () -\u003e Unit,\n    onBackPress: () -\u003e Unit,\n    currentPage:(Int) -\u003e Unit,\n    /*\n     * These are the text of the buttons\n     */\n    leftButtonText: String = \"REGISTER\",\n    rightButtonText: String = \"LOGIN\",\n    /*\n     * These are the units of various text and views\n     */\n    headerIconSize: Dp = 48.dp,\n    primaryFontSize: TextUnit = 56.sp,\n    secondaryFontSize: TextUnit = 15.sp,\n    highlightFontSize: TextUnit = 40.sp,\n    unhighlightFontSize: TextUnit = 20.sp,\n    buttonFontSize: TextUnit = 18.sp,\n)\n```\n### 4. Example use of `IntroScreen` composable.\n```kotlin\nclass MainActivity : ComponentActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContent {\n            IntroioTheme {\n                // A surface container using the 'background' color from the theme\n                Surface(\n                    modifier = Modifier.fillMaxSize(),\n                    color = MaterialTheme.colors.background\n                ) {\n                    val context = LocalContext.current\n                    //Usage\n                    IntroScreen(\n                        //Passing the list\n                        items = introItems(),\n\n                        // Setting the Header icon\n                        headerIcon = Icons.Outlined.Password,\n                        //Left click handler\n                        onLeftButtonClick = {\n                            Toast.makeText(context,\"Left click\", Toast.LENGTH_SHORT).show()\n                        },\n                        //Right click handler\n                        onRightButtonClick = {\n                            Toast.makeText(context,\"Right click\", Toast.LENGTH_SHORT).show()\n                        },\n                        //On backpress handler\n                        onBackPress = {\n                            Toast.makeText(context,\"BackPRess Page\", Toast.LENGTH_SHORT).show()\n                        },\n                        //Get current Page\n                        currentPage = {\n                            Toast.makeText(context,\"Current Page: $it\", Toast.LENGTH_SHORT).show()\n                        },\n\n                    )\n                }\n            }\n        }\n    }\n}\n\n\nfun introItems() = listOf(\n    IntroData(\n        \"Stop using unsecure passwords for your online accounts, level up with OnePass. Get the most secure and difficult-to-crack passwords.\",\n        \"Generate \\nSecure Passwords.\"\n    ),\n    IntroData(\n        \"Store and manage all of your passwords from one place. Don’t remember hundreds of passwords, just remember one.\",\n        \"All your passwords are here\"\n\n    ),\n    IntroData(\n        \"Don’t compromise your passwords by typing them in public, let OnePass autofill those and keep your credentials secure.\",\n        \"Don't type,\\nAutofill your credentials.\"\n    )\n)\n```\n\n## ✍️ Author\n\n👤 **mrkaydev**\n\n* Linkedin: \u003ca href=\"https://www.linkedin.com/in/mrkaydev/\" target=\"_blank\"\u003e@mrkaydev\u003c/a\u003e\n* Email: infokaydev@gmail.com\n\nFeel free to ping me 😉\n\n## 🤝 Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any\ncontributions you make are **greatly appreciated**.\n\n1. Open an issue first to discuss what you would like to change.\n1. Fork the Project\n1. Create your feature branch (`git checkout -b feature/amazing-feature`)\n1. Commit your changes (`git commit -m 'Add some amazing feature'`)\n1. Push to the branch (`git push origin feature/amazing-feature`)\n1. Open a pull request\n\nPlease make sure to update tests as appropriate.\n\n## ❤ Show your support\n\nGive a ⭐️ if this project helped you!\n\n\u003ca href=\"https://www.buymeacoffee.com/mrkaydev\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" width=\"160\"\u003e\n\u003c/a\u003e\n\n## ☑️ TODO\n\n- [ ] Add UI tests and unit tests\n- [ ] Add Text size support and more responsive\n\n## 📝 License\n\n```\nCopyright © 2022 - mrkaydev\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkapilyadav-dev%2Fcomposeintro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkapilyadav-dev%2Fcomposeintro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkapilyadav-dev%2Fcomposeintro/lists"}