Search packages, repositories and app categories

flutter_reaction_button cover
Package detailsv3.0.0+3

flutter_reaction_button

Flutter Reaction Button is a customizable Flutter package that allows you to easily create interactive buttons with reaction emojis, similar to Facebook's iconic reaction buttons.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
166
Likes
316
Pub points
140

Install package

flutter pub add flutter_reaction_button

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Flutter Reaction Button is a customizable package that enables developers to implement interactive emoji reaction buttons in Flutter apps, mimicking the popular social media interaction style seen on platforms like Facebook. It supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux. The package allows easy integration with customizable emojis, animations, and callback handling for user interactions. Ideal for social features such as likes, reactions, or feedback mechanisms in messaging or content-sharing apps.

Use cases

  • Social media app interactions
  • User feedback systems
  • Messaging app reaction buttons
  • Content engagement features
  • Interactive UI elements

Key features

  • Customizable emoji set
  • Smooth animation effects
  • Cross-platform support
  • Callback for reaction selection
  • Easy integration with existing UI

Suitable for

  • Developers building social apps
  • UI designers seeking interactive elements
  • Apps requiring user engagement features
  • Projects with multi-platform deployment

Considerations

  • May increase bundle size slightly
  • Requires careful emoji selection for context
  • Animation performance varies on lower-end devices
  • Limited to emoji-based reactions only

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

pub package

Flutter reaction button

Flutter Reaction Button is a customizable Flutter package that allows you to easily create interactive buttons with reaction emojis, similar to Facebook's iconic reaction buttons.

Screenshot

App Screenshot

Installation

# pubspec.yaml
dependencies:
  flutter:
    sdk: flutter
  flutter_reaction_button: <last-version>

Usage

import 'package:flutter_reaction_button/flutter_reaction_button.dart';

ReactionButton<String>(
    onReactionChanged: (Reaction<String>? reaction) {
        debugPrint('Selected value: ${reaction?.value}');
    },
    reactions: <Reaction<String>>[
        Reaction<String>(
            value: 'like',
            icon: widget,
        ),
        Reaction<String>(
            value: 'love',
            icon: widget,
        ),
        ...
    ],
    initialReaction: Reaction<String>(
        value: 'like',
        icon: widget,
    ),
    selectedReaction: Reaction<String>(
        value: 'like_fill',
        icon: widget,
    ),
)

License

MIT License

Copyright (c) 2023 Abdelouahed Medjoudja

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Categories

Source repository

Projects using this package