dynamic_polls 0.0.7
dynamic_polls: ^0.0.7 copied to clipboard
A Customizable Polls for Flutter. Simple, easy to use and highly customizable.
Changelog #
All notable changes to this project will be documented in this file.
0.0.7 2024-XX-XX #
🎉 New Features #
Multi-Select Polls
-
NEW:
MultiSelectPolls- Simple multi-selection poll widget- Allow users to select multiple options
- Optional
maxSelectionsparameter to limit choices - No vote counts or percentages displayed
- Clean selection indicators with checkmarks
- Local storage support with
idparameter
-
NEW:
MultiSelectDynamicPolls- Multi-selection poll with timer- All features of
MultiSelectPolls - Built-in countdown timer
onPollEndedcallback when poll expires- Perfect for time-limited feature voting
- Automatic poll state management
- All features of
Poll Storage Enhancements
- NEW:
saveMultipleVotes()- Save multiple selections locally - NEW:
getMultipleVotes()- Retrieve saved multi-selections - NEW:
hasMultipleVotes()- Check if multi-selections exist - NEW:
clearMultipleVotes()- Clear saved multi-selections
📚 Documentation #
- Added comprehensive
MULTI_SELECT_USAGE.mdguide in Persian - Added
MULTI_SELECT_EXAMPLE.mdwith practical examples - Updated README.md with multi-select examples
- Added
server_integration_example.dartfor API integration
🔧 Improvements #
- Better separation of concerns between single and multi-select polls
- Improved code organization and maintainability
- Enhanced example app with all poll types
📝 Examples #
- Complete server integration example
- Multi-select poll examples
- Poll lifecycle management examples
- Active/completed polls separation example
⚠️ Breaking Changes #
None - All changes are backward compatible!
0.0.6 Previous Release #
Features #
- Add
PollsLabelsfor localization support (English, Spanish, Persian, Arabic, French, German) - Add
PollStoragefor local vote persistence usingget_x_storage - Add
idparameter toDynamicPollsfor unique identification in storage - Fix progress bar visibility in
RadioBottomPolls - Improve
RadioBottomPollOptionanimation and styling - Update Last SDK
0.0.5+1 #
- Fix Pub Point
0.0.5 #
- Fix bug
0.0.4 #
- Add Property
voteNotifier - Add Property
userdata - Update SDK to Flutter 3.27
- Fix Pub Point
0.0.3 #
- Fix Property
- Edit API
0.0.2 #
- Add Property
id - Edit README
0.0.1 #
- Initial release
- Basic poll functionality
- Single selection polls
- Timer support
- Customizable styling
Migration Guide #
From 0.0.6 to 0.0.7 #
No breaking changes! Simply update your dependency:
dependencies:
dynamic_polls: ^0.0.7
To use new multi-select features:
Before (Single Selection):
DynamicPolls(
title: 'Choose one',
options: ['A', 'B', 'C'],
onOptionSelected: (index) => print(index),
)
After (Multi Selection):
MultiSelectPolls(
title: 'Choose multiple',
options: ['A', 'B', 'C'],
maxSelections: 2, // Optional
onOptionsSelected: (indices) => print(indices),
)
With Timer:
MultiSelectDynamicPolls(
title: 'Choose multiple',
options: ['A', 'B', 'C'],
startDate: DateTime.now(),
endDate: DateTime.now().add(Duration(days: 7)),
maxSelections: 3,
onOptionsSelected: (indices) => print(indices),
onPollEnded: (isEnded) {
if (isEnded) print('Poll ended!');
},
)
Roadmap #
Planned Features #
- ❌ Poll analytics and insights
- ❌ Custom animations
- ❌ Poll templates
- ❌ Export poll results
- ❌ More localization options
- ❌ Accessibility improvements
Under Consideration #
- ❌ Image-based options
- ❌ Ranked choice voting
- ❌ Poll scheduling
- ❌ Result visualization charts
For more information, see the README.md or visit our GitHub repository.