-
Notifications
You must be signed in to change notification settings - Fork 0
Develop #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Develop #9
Conversation
The README has been rewritten in English, replacing the previous Turkish content. It now includes updated technology stack information (.NET 8, WPF, modern libraries), a revised project structure, clearer installation and contribution instructions, and improved feature descriptions. The documentation is now more concise, accessible to a wider audience, and reflects the current state and roadmap of the project.
…load Introduced FeedbackTypes enum and EnumToDescriptionConverter for displaying enum descriptions in the UI. Enhanced FeedbackViewModel to support subject, description, feedback type selection, file attachment, and command-based form actions. Updated FeedbackView.xaml to bind to the new ViewModel properties and commands, enabling a fully functional feedback form with improved UX and FAQ links.
…dates Introduced NotificationType enum and NotificationModel for structured notifications. Refactored NotificationViewModel to manage a collection of notifications, including commands for marking as read, clearing, and deleting. Updated NotificationView.xaml to bind to the new model and view model, displaying notifications dynamically with appropriate icons and actions.
Fixed NotificationModel's isUnread property to use the correct IsRead property. Cleaned up and reordered using directives in FeedbackViewModel and NotificationViewModel for better readability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR overhauls documentation, introduces new enums & converters, and enhances the feedback and notification UIs with view models and bindings.
- Revamped README with English content, updated structure, and installation steps
- Added
FeedbackTypesandNotificationTypeenums plus anEnumToDescriptionConverter - Improved Feedback and Notification views with MVVM bindings and commands
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updated English documentation and reorganized TOC |
| FinTrack/Helpers/EnumToDescriptionConverter.cs | New converter for enum descriptions |
| FinTrack/Enums/FeedbackTypes.cs | Added feedback-type enum with descriptions |
| FinTrack/Enums/NotificationType.cs | Added notification-type enum |
| FinTrack/Models/NotificationModel.cs | Removed inline enum |
| FinTrack/Models/Notification/NotificationModel.cs | New observable notification model |
| FinTrack/ViewModels/FeedbackViewModel.cs | Added feedback VM with commands |
| FinTrack/ViewModels/NotificationViewModel.cs | Added notification VM with commands |
| FinTrack/Views/FeedbackView.xaml | Bound feedback form to VM and converters |
| FinTrack/Views/NotificationView.xaml | Bound notification list to VM and actions |
Comments suppressed due to low confidence (6)
FinTrack/Models/Notification/NotificationModel.cs:24
- Property names should follow PascalCase. Rename 'isUnread' to 'IsUnread' to align with .NET naming conventions and improve readability.
public bool isUnread => !IsRead;
FinTrack/Views/FeedbackView.xaml:36
- [nitpick] The label 'TYPE OF PAPER' is misleading in a feedback form. Consider renaming it to 'FEEDBACK TYPE' or simply 'TYPE'.
<TextBlock Text="TYPE OF PAPER" Style="{StaticResource LabelTextStyle}"/>
README.md:85
- The domain 'fintrac.com' is missing a 'k'. Update it to 'fintrack.com' so links point to the correct site.
├── Models/ # Domain models and entities.
FinTrack/Views/NotificationView.xaml:12
- The design-time DataContext uses an undefined 'local' alias. Replace 'local' with the 'vm' namespace alias (xmlns:vm) so it resolves correctly.
d:DataContext="{d:DesignInstance Type=local:NotificationViewModel, IsDesignTimeCreatable=True}"
FinTrack/Views/FeedbackView.xaml:11
- The design-time DataContext refers to 'local:FeedbackViewModel' but no 'local' xmlns is defined. Use the 'vm' alias (xmlns:vm) for ViewModel bindings.
d:DataContext="{d:DesignInstance Type=local:FeedbackViewModel, IsDesignTimeCreatable=True}"
FinTrack/Views/NotificationView.xaml:101
- The binding path 'IsUnread' won’t match the lowercase 'isUnread' property. Either rename the property to 'IsUnread' or update the binding to 'isUnread'.
Visibility="{Binding IsUnread, Converter={StaticResource BooleanToVisibilityConverter}}">
| if (notification.isUnread) | ||
| { | ||
| notification.IsRead = true; | ||
| _logger.LogInformation($"Notification '{notification.Title}' marked as read."); |
Copilot
AI
Jul 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid string interpolation in logging to preserve structured logging. Use placeholder syntax, e.g., _logger.LogInformation("Notification '{Title}' marked as read.", notification.Title);
| _logger.LogInformation($"Notification '{notification.Title}' marked as read."); | |
| _logger.LogInformation("Notification '{Title}' marked as read.", notification.Title); |
| if (openFileDialog.ShowDialog() == true) | ||
| { | ||
| SelectedFilePath = openFileDialog.FileName; | ||
| _logger.LogInformation("Seçilen dosya: {FilePath}", SelectedFilePath); |
Copilot
AI
Jul 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This log message is in Turkish. For consistency with the rest of the code and UI, translate it to English, e.g., 'Selected file: {FilePath}'.
| _logger.LogInformation("Seçilen dosya: {FilePath}", SelectedFilePath); | |
| _logger.LogInformation("Selected file: {FilePath}", SelectedFilePath); |
This pull request introduces several enhancements to the FinTrack application, including new enums, models, converters, and updates to the feedback and notification systems. The key changes are grouped into three themes: new enums and utilities, feedback system improvements, and notification system updates.
New Enums and Utilities:
FeedbackTypesandNotificationTypeenums to categorize feedback and notifications respectively.FeedbackTypesincludes descriptions for better user understanding. (FinTrack/Enums/FeedbackTypes.cs- [1]FinTrack/Enums/NotificationType.cs- [2]EnumToDescriptionConverterto convert enum values to theirDescriptionattributes for display purposes in the UI. (FinTrack/Helpers/EnumToDescriptionConverter.cs- FinTrack/Helpers/EnumToDescriptionConverter.csR1-R44)Feedback System Improvements:
FeedbackViewModelto manage feedback input, including subject, description, feedback type, and file attachment. Added commands for sending feedback, browsing files, and opening links. (FinTrack/ViewModels/FeedbackViewModel.cs- FinTrack/ViewModels/FeedbackViewModel.csR2-R106)FeedbackView.xamlto bind to theFeedbackViewModel, utilize the newEnumToDescriptionConverter, and improve the user interface for submitting feedback. (FinTrack/Views/FeedbackView.xaml- FinTrack/Views/FeedbackView.xamlR6-R93)Notification System Updates:
NotificationModelto include properties for title, message, timestamp, type, and read status. Removed the inlineNotificationTypeenum in favor of the new standalone enum. (FinTrack/Models/Notification/NotificationModel.cs- [1]FinTrack/Models/NotificationModel.cs- [2]NotificationViewModelto manage notification data, including loading sample notifications, marking notifications as read, and clearing or deleting notifications. (FinTrack/ViewModels/NotificationViewModel.cs- FinTrack/ViewModels/NotificationViewModel.csR2-R94)