{"id":13902266,"url":"https://github.com/stevdza-san/MessageBarCompose","last_synced_at":"2025-07-18T00:31:20.638Z","repository":{"id":63407879,"uuid":"567650283","full_name":"stevdza-san/MessageBarCompose","owner":"stevdza-san","description":"Animated Message Bar UI that can be wrapped around your screen content in order to display Error/Success messages in your app. Adapted to Material 3.","archived":false,"fork":false,"pushed_at":"2024-05-02T12:37:02.000Z","size":689,"stargazers_count":111,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-02T06:13:30.761Z","etag":null,"topics":["android","jetpack-compose","kotlin","material3","message-bar","ui-component"],"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/stevdza-san.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}},"created_at":"2022-11-18T08:58:56.000Z","updated_at":"2024-05-07T09:19:05.000Z","dependencies_parsed_at":"2023-12-29T19:29:32.262Z","dependency_job_id":"a4ee7797-53fe-46e2-9247-1d5936e40ff6","html_url":"https://github.com/stevdza-san/MessageBarCompose","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevdza-san%2FMessageBarCompose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevdza-san%2FMessageBarCompose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevdza-san%2FMessageBarCompose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevdza-san%2FMessageBarCompose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevdza-san","download_url":"https://codeload.github.com/stevdza-san/MessageBarCompose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":214260217,"owners_count":15707057,"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":["android","jetpack-compose","kotlin","material3","message-bar","ui-component"],"created_at":"2024-08-06T22:01:04.323Z","updated_at":"2024-08-06T22:03:07.517Z","avatar_url":"https://github.com/stevdza-san.png","language":"Kotlin","funding_links":["https://ko-fi.com/stevdza_san"],"categories":["Kotlin"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eMessage Bar Compose\u003c/h1\u003e\u003c/br\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://jitpack.io/#stevdza-san/MessageBarCompose/1.0.8\"\u003e\u003cimg alt=\"License\" src=\"https://badgen.net/badge/Jitpack/1.0.8/orange?icon=github\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/stevdza-san\"\u003e\u003cimg alt=\"Profile\" src=\"https://badgen.net/badge/Github/stevdza_san/green?icon=github\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/stevdza-san/MessageBar-KMP\"\u003eLooking for Compose Multiplatform solution?\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nMessage Bar is a simple animated UI component that you can wrap around your composable content.\nThis component is used to display Error/Success messages to your users,\nand it is built to supports Material 3 design system.\n\u003c/p\u003e\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/stevdza-san/MessageBarCompose/blob/master/previews/MessageBar.gif?raw=true\" width=\"268\"/\u003e\n\u003cimg src=\"https://github.com/stevdza-san/MessageBarCompose/blob/master/previews/MessageBar2.gif?raw=true\" width=\"268\"/\u003e\n\u003cimg src=\"https://github.com/stevdza-san/MessageBarCompose/blob/master/previews/MessageBar3.gif?raw=true\" width=\"268\"/\u003e\n\u003c/p\u003e\n\n## Download\n\u003ca href=\"https://jitpack.io/#stevdza-san/MessageBarCompose/1.0.8\"\u003e\u003cimg alt=\"License\" src=\"https://badgen.net/badge/Jitpack/1.0.8/orange?icon=github\"/\u003e\u003c/a\u003e\n\n### Gradle\n\nAdd the dependency below to your module's `build.gradle` file:\n```gradle\ndependencies {\n    implementation(\"com.github.stevdza-san:MessageBarCompose:1.0.8\")\n}\n```\nAdd a repository in your `settings.gradle` file:\n```\ndependencyResolutionManagement {\n    repositories {\n        ...\n        maven(url = \"https://jitpack.io\")\n    }\n}\n```\n## Usage\n\nThere are two required parameters: `messageBarState` and `content`.\n\n```kotlin\nval state = rememberMessageBarState()\nContentWithMessageBar(messageBarState = state) {\n     // Your Composable Screen               \n}\n```\n\nYou can control what kind of a Message Bar you want to display, by using the `MessageBarState`.\nThere are two functions that you can use to achieve that: `addError()` and `addSuccess()`.\nThey are self explanatory, the first one accepts an Exception type, while the other a simple String.\ndepending on what kind of a message bar you want to see.\n\n### Message Bar - Success\n\u003cimg src=\"https://raw.githubusercontent.com/stevdza-san/MessageBarCompose/9644914665875997fd03aa18ef4cc1d9250c3e74/Success.svg\"/\u003e\n\n```kotlin\nval state = rememberMessageBarState()\nContentWithMessageBar(messageBarState = state) {\n    Column(\n        modifier = Modifier.fillMaxSize(),\n        verticalArrangement = Arrangement.Center,\n        horizontalAlignment = Alignment.CenterHorizontally\n    ) {\n        Button(onClick = {\n            state.addSuccess(message = \"Successfully Updated.\")\n        }) {\n            Text(text = \"Click me\")\n        }\n    }\n}\n```\n\n\n### Message Bar - Error\n\u003cimg src=\"https://raw.githubusercontent.com/stevdza-san/MessageBarCompose/9644914665875997fd03aa18ef4cc1d9250c3e74/Error.svg\"/\u003e\n\n```kotlin\nval state = rememberMessageBarState()\nContentWithMessageBar(messageBarState = state) {\n    Column(\n        modifier = Modifier.fillMaxSize(),\n        verticalArrangement = Arrangement.Center,\n        horizontalAlignment = Alignment.CenterHorizontally\n    ) {\n        Button(onClick = {\n            state.addError(exception = Exception(\"Internet Unavailable.\"))\n        }) {\n            Text(text = \"Click me\")\n        }\n    }\n}\n```\n\n## Like what you see? :yellow_heart:\n⭐ Give a star to this repository. \u003cbr /\u003e\n☕ Buy me a coffee: https://ko-fi.com/stevdza_san\n\n# License\n```xml\nDesigned and developed by 2022 stevdza-san (Stefan Jovanović)\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%2Fstevdza-san%2FMessageBarCompose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevdza-san%2FMessageBarCompose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevdza-san%2FMessageBarCompose/lists"}