change_theme_er 0.0.2 copy "change_theme_er: ^0.0.2" to clipboard
change_theme_er: ^0.0.2 copied to clipboard

A high-performance, clean-code theme changer package using Hive, GetIt, and Bloc.

πŸŒ“ change_theme_er - Animated Theme Changer for Flutter #

GitHub Repo stars Pub Version GitHub issues License: MIT Contributors Forks Last Commit Open PRs Closed PRs GitHub Discussions GitHub Releases GitHub Repo Size GitHub Code Size GitHub Top Language GitHub Language Count GitHub Commit Activity Issues Closed GitHub Watchers GitHub Sponsors GitHub Repo Views GitHub Stars GitHub Followers GitHub Sponsors GitHub Contributions Twitter Follow LinkedIn Reddit Twitch Status πŸš€ A high-performance, customizable theme changer package for Flutter.
🌟 Smooth transitions, Bloc-powered state management, and GetIt dependency injection.


πŸ“Œ πŸ“Έ Demo & Screenshots #

Light Mode Dark Mode

🌟 Features #

βœ” Smooth theme transitions with animation
βœ” Bloc-powered for optimized performance
βœ” GetIt for dependency management
βœ” Hive for instant theme persistence
βœ” Supports Light/Dark mode with smooth transitions
βœ” Highly customizable UI


πŸ“Œ Installation #

dependencies:
  change_theme_er: latest_version

Then run:

flutter pub get

πŸ“Œ Usage #

1️⃣ Initialize Dependencies #

import 'package:change_theme_er/change_theme_er.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await setupLocator();
}

2️⃣ Use Bloc for Theme Management #

BlocProvider(
  create: (context) => sl<ThemeBloc>()..add(LoadTheme()),
  child: MyApp(),
);

3️⃣ Animated Theme Switch Button #

GestureDetector(
  onTap: () {
    context.read<ThemeBloc>().add(ToggleTheme());
  },
  child: CustomSwitchButton(),
);

πŸ“Œ API Reference #

Method Description
setupLocator() Initializes Hive and GetIt dependencies
ThemeBloc Manages theme state using Bloc
ToggleTheme() Toggles between Light and Dark mode

πŸ“Œ File Structure #

The change_theme_er package follows a Clean Code architecture:

change_theme_er/
│── lib/
β”‚   │── change_theme_er.dart
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”‚   β”œβ”€β”€ di/
β”‚   β”‚   β”‚   β”‚   └── service_locator.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ theme_repository.dart
β”‚   β”‚   β”œβ”€β”€ presentation/
β”‚   β”‚   β”‚   β”œβ”€β”€ bloc/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ theme_bloc.dart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ theme_event.dart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ theme_state.dart
│── example/
β”‚   │── lib/main.dart
│── pubspec.yaml
│── README.md
│── CHANGELOG.md
│── LICENSE

πŸ“Œ How It Works #

The package uses Bloc for state management and Hive for persistent storage.
Here’s how the theme switching works under the hood:

1️⃣ User taps the switch button.
2️⃣ Bloc event ToggleTheme() is triggered.
3️⃣ Bloc updates the state (Light Mode ↔ Dark Mode).
4️⃣ Hive saves the user's theme preference for future sessions.


πŸ“Œ Roadmap #

🎯 Upcoming Features:

  • ❌ Custom Animated Transitions
  • ❌ Adaptive Themes based on Time of Day
  • ❌ Material You Support (Dynamic Colors)

πŸ“Œ Contribution #

We welcome contributions!

πŸ“Œ For feature requests or bug reports, open an issue.


πŸ“Œ License & Contact #

This project is licensed under Pharrax Software - YILMAZ ER.
For licensing information, please contact:
πŸ“© Email: yilmazer@pharraxsoftware.com


πŸ“Œ Support the Project #

If you like this package, please give it a ⭐ on GitHub and like it on pub.flutter-io.cn!
πŸš€ Your support helps us improve and add more features. """

Provide download link #

https://github.com/Developeryilmaz/change_theme_er

1
likes
0
points
33
downloads

Publisher

verified publisherpharraxsoftware.com

Weekly Downloads

A high-performance, clean-code theme changer package using Hive, GetIt, and Bloc.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

equatable, flutter, flutter_bloc, get_it, hive, hive_flutter

More

Packages that depend on change_theme_er