- Moved governance models (`Vote`, `VoteType`, `VotingResults`) from
`models/governance.rs` to `controllers/governance.rs` for better
organization and to avoid circular dependencies. This improves
maintainability and reduces complexity.
- Updated governance views to use the new model locations.
- Added a limit to the number of recent activities displayed on the
dashboard for performance optimization.
The `proposals` module has been renamed to `governance` to better
reflect its purpose and content. This improves code clarity and
consistency.
- Renamed the `proposals` module to `governance` throughout the
project to reflect the broader scope of governance features.
- Updated all related imports and function calls to use the new
module name.
- Removed several `println!` statements from the `governance`
controller and `proposals` database module to improve code
cleanliness and reduce unnecessary console output.
- Updated the `all_activities.html` template to use the
`created_at` field instead of `timestamp` for activity dates.
- Updated the `index.html` template to use the `created_at`
field instead of `timestamp` for activity timestamps.
- Added `#[allow(unused_assignments)]` attribute to the
`create_activity` function in `proposals.rs` to suppress a
potentially unnecessary warning.
- Refactor database interaction for proposals and activities.
- Add activity tracking for proposal creation and voting.
- Improve logging for better debugging and monitoring.
- Update governance views to display recent activities.
- Add strum and strum_macros crates for enum handling.
- Update Cargo.lock file with new dependencies.
- Add governance activity tracker to record user actions.
- Display recent activities on the governance dashboard.
- Add a dedicated page to view all governance activities.
- Improve header information and styling across governance pages.
- Track proposal creation and voting activities.
- Improve proposal search to include description field: This
allows for more comprehensive search results.
- Fix redirect after voting: The redirect now correctly handles
the success message.
- Handle potential invalid timestamps in ballots: The code now
gracefully handles ballots with invalid timestamps, preventing
crashes and using the current time as a fallback.
- Add local time formatting function: This provides a way to
display dates and times in the user's local timezone.
- Update database path: This simplifies the database setup.
- Improve proposal vote handling: Addresses issues with vote
submission and timestamping.
- Add client-side pagination and filtering to proposal details:
Improves user experience for viewing large vote lists.
- Redirect users to the proposal detail page with a success
message after a successful vote, improving feedback.
- Automatically remove the success message from the URL after a
short time to avoid URL clutter and maintain a clean browsing
experience.
- Add a success alert message on the proposal detail page to
provide immediate visual confirmation of a successful vote.
- Improve the visual presentation of the votes list on the
proposal detail page by adding top margin for better spacing.
- Improve proposal creation form with input validation and
default date settings for a better user experience.
- Add context variables to the proposals template for
consistent display across governance pages.
- Enhance proposal detail page with visual improvements,
voting results display, and user voting functionality.
- Add styles for better visual presentation of proposal details
and voting information.
- Add functionality to calculate total yes, no, and abstain votes
across all proposals. This provides a summary of community
voting patterns on the governance page.
- Improve the user experience by displaying total vote counts
prominently on the "My Votes" page. This gives users a quick
overview of the overall voting results.
- Enhance the "Create Proposal" page with informative guidelines
and a helpful alert to guide users through the proposal creation
process. This improves clarity and ensures proposals are well-
structured.
- Added filtering of proposals by status (Draft, Active, Approved, Rejected, Cancelled).
- Added searching of proposals by title and description.
- Improved UI to persist filter and search values.
- Added a "No proposals found" message for better UX.