MessageBar

Flexible message/snackbar system with configurable queue management, key-based deduplication and rate-limiting; customizable styling and animations, swipe/tap gestures, top/bottom positioning, action buttons and icons.

Android
iOS
GitHub stars0
Authorsmyapplabs
Dependents0
Creation date9 months ago

Last activity9 months ago
Latest release0.1.0 (9 months ago)

MessageBar

A flexible, feature-rich snackbar/message bar library for Compose Multiplatform supporting Android and iOS.

📦 Installation

commonMain.dependencies {
    implementation("io.github.myapplabs:messagebar:0.1.0")
}

📚 Documentation

For complete documentation on how to use MessageBar in your project, see:

📖 Library Documentation

✨ Features

  • Queue Management - Configurable message queue with overflow policies
  • Deduplication - Prevent duplicate messages with key-based deduplication
  • Rate Limiting - Throttle or debounce status messages
  • Customization - Full control over styling, colors, and animations
  • Gestures - Built-in tap and swipe-to-dismiss
  • Positioning - Display at top or bottom of screen
  • Actions - Optional action buttons with callbacks
  • Icons - Custom icon support
  • Multiplatform - Android and iOS support

🚀 Quick Start

@Composable
fun App() {
    MessageBarProvider {
        // Your app content
        val controller = LocalMessageBarController.current
        
        Button(onClick = {
            controller.show("Hello, World!")
        }) {
            Text("Show Message")
        }
    }
}

📱 Demo App

This repository includes a demo app showcasing all features. To run it:

Android

./gradlew :composeApp:installDebug

iOS

open iosApp/iosApp.xcodeproj

🏗️ Project Structure

MessageBar/
├── messagebar/          # Library module
│   ├── src/            # Library source code
│   └── README.md       # Complete library documentation
├── composeApp/         # Demo application
└── iosApp/            # iOS demo project

📄 License

Copyright 2025 Paul Franco

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

🔗 Links

Android
iOS
GitHub stars0
Authorsmyapplabs
Dependents0
Creation date9 months ago

Last activity9 months ago
Latest release0.1.0 (9 months ago)

MessageBar

A flexible, feature-rich snackbar/message bar library for Compose Multiplatform supporting Android and iOS.

📦 Installation

commonMain.dependencies {
    implementation("io.github.myapplabs:messagebar:0.1.0")
}

📚 Documentation

For complete documentation on how to use MessageBar in your project, see:

📖 Library Documentation

✨ Features

  • Queue Management - Configurable message queue with overflow policies
  • Deduplication - Prevent duplicate messages with key-based deduplication
  • Rate Limiting - Throttle or debounce status messages
  • Customization - Full control over styling, colors, and animations
  • Gestures - Built-in tap and swipe-to-dismiss
  • Positioning - Display at top or bottom of screen
  • Actions - Optional action buttons with callbacks
  • Icons - Custom icon support
  • Multiplatform - Android and iOS support

🚀 Quick Start

@Composable
fun App() {
    MessageBarProvider {
        // Your app content
        val controller = LocalMessageBarController.current
        
        Button(onClick = {
            controller.show("Hello, World!")
        }) {
            Text("Show Message")
        }
    }
}

📱 Demo App

This repository includes a demo app showcasing all features. To run it:

Android

./gradlew :composeApp:installDebug

iOS

open iosApp/iosApp.xcodeproj

🏗️ Project Structure

MessageBar/
├── messagebar/          # Library module
│   ├── src/            # Library source code
│   └── README.md       # Complete library documentation
├── composeApp/         # Demo application
└── iosApp/            # iOS demo project

📄 License

Copyright 2025 Paul Franco

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

🔗 Links