-
Notifications
You must be signed in to change notification settings - Fork 0
Develop #8
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 #8
Conversation
Added CurrencyModel, CurrencyConversionType enum, and NullToVisibilityConverter for MVVM support. Refactored CurrenciesViewModel to manage and filter a dynamic list of currencies, replacing static XAML samples. Updated CurrenciesView.xaml to bind to the ViewModel, display currency details, and show/hide the detail panel based on selection.
…iews Replaced Turkish UI text with English equivalents across AccountView, BudgetView, CurrenciesView, DashboardView, and TransactionsView for improved accessibility and consistency. Also added TextWrapping to a header in ApplicationRecognizeSlideView.
Introduces DebtStatus enum and DebtModel for representing debts, including status, participants, and UI properties. Implements DebtViewModel with commands for sending, confirming, rejecting offers, and uploading videos, along with sample data and observable collections for UI binding. Updates DebtView.xaml to bind to the new ViewModel, supporting dynamic debt proposal creation, pending offers, and a list of all debts with status-aware actions and visuals.
Introduced enums for ExportFormat and ReportType, and a SelectableOptionReport model for selectable lists. Updated ReportsViewModel to support dynamic report types, accounts, categories, sorting, and export formats, with sample data and a report summary. Enhanced ReportsView.xaml to bind to new view model properties, support selection of report type, filters, and export format, and improved styles for format selection. Added a new style for report format toggle buttons.
Introduces a new chat interface for FinBot, including message models, author enum, and view model logic for handling user and bot messages. Adds styles for chat bubbles and quick action buttons, and updates the FinBotView to bind to the new messaging system with support for quick actions and message input. Refactors and cleans up related XAML and code-behind.
Reordered using directives in DebtModel.cs and FinBotViewModel.cs for consistency. Fixed indentation in FinBotView.xaml.cs. No functional changes were made.
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 adds new enums, models, view models, styles, and XAML updates to support currency management, debt workflows, report generation, and an in-app chat bot, while standardizing UI text to English.
- Introduced enums for currency conversion, debt status, export format, message author, and report type
- Added observable models (
CurrencyModel,DebtModel,ChatMessageModel,SelectableOptionReport) and corresponding view models with commands and sample data - Updated XAML views: translated labels to English, hooked up converters/commands, and refined layouts
- Added
NullToVisibilityConverterhelper and new brushes/styles for chat bubbles and report format toggles
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| FinTrack/Enums/*.cs | Added enums for conversion types, statuses, formats |
| FinTrack/Models/* | Introduced new MVVM models with computed properties |
| FinTrack/ViewModels/*.cs | Implemented commands, sample data, logging for VMs |
| FinTrack/Helpers/NullToVisibilityConverter.cs | New converter for null-to-Visibility binding |
| FinTrack/Styles/ModernStyles.xaml | Defined chat brushes, report toggle styles, adjusted widths |
| FinTrack/Views/*.xaml | Translated Turkish labels to English, wired up bindings |
| FinTrack/Views/*.xaml.cs | Removed unused auto-generated XML doc comments |
Comments suppressed due to low confidence (2)
FinTrack/Models/Report/SelectableOptionReport.cs:13
- [nitpick] Avoid leading underscores in constructor parameter names; rename
_nametonameand_isSelectedtoisSelectedfor clarity and consistency.
public SelectableOptionReport(string _name, bool _isSelected = false)
FinTrack/Views/TransactionsView.xaml:128
- The view references
EnumToBooleanConverterandenumsnamespace without declaring them. Add appropriatexmlns:helpersandxmlns:enumsdeclarations and an<helpers:EnumToBooleanConverter x:Key="EnumToBooleanConverter"/>in<UserControl.Resources>.
IsChecked="{Binding EditableTransaction.Type, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static enums:TransactionType.Income}}"/>
|
|
||
| MessageInput = string.Empty; | ||
|
|
||
| _logger.LogInformation("Kullanıcı mesaj yazdı. {MessageText}", userMessage.Text); |
Copilot
AI
Jul 6, 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] Log message is in Turkish while the UI is in English. For consistency, use English or extract to a resource for localization.
| _logger.LogInformation("Kullanıcı mesaj yazdı. {MessageText}", userMessage.Text); | |
| _logger.LogInformation("User sent a message: {MessageText}", userMessage.Text); |
|
|
||
| private void LoadSampleData() | ||
| { | ||
| allCurrencies = new ObservableCollection<CurrencyModel> |
Copilot
AI
Jul 6, 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] Sample data for EUR and GBP are duplicated multiple times. Consider deduplicating or abstracting repeated entries to improve maintainability.
Replaces assignment to private fields with assignment to public properties for SelectedReportType, SelectedSortingCriterion, and SelectedExportFormat in the ReportsViewModel constructor.
This pull request introduces several new features and improvements to the
FinTrackproject, including the addition of enums, models, styles, and a new helper class. These changes aim to enhance functionality for managing currencies, debts, reports, and chat messages, as well as improve the user interface. Below are the most important changes grouped by theme:Enum Additions:
CurrencyConversionTypeenum to represent currency changes asIncreaseorDecrease. (FinTrack/Enums/CurrencyConversionType.cs)DebtStatusenum to track various states of a debt, such asPendingProposal,Active, andCompleted. (FinTrack/Enums/DebtStatus.cs)ExportFormatenum for supported export formats, includingPDF,Word, andExcel. (FinTrack/Enums/ExportFormat.cs)MessageAuthorenum to distinguish betweenBotandUsermessage authors. (FinTrack/Enums/MessageAuthor.cs)ReportTypeenum to define report categories likeBudget,Account, andTransaction. (FinTrack/Enums/ReportType.cs)Model Enhancements:
CurrencyModelwith observable properties to manage currency details, including a foreground brush for visualizing currency changes. (FinTrack/Models/Currency/CurrencyModel.cs)DebtModelto handle debt-related data, including status-dependent properties likeStatusBrush,StatusText, andIsActionRequired. (FinTrack/Models/Debt/DebtModel.cs)ChatMessageModelto represent chat messages with properties for text, author, timestamp, and quick actions. (FinTrack/Models/FinBot/ChatMessageModel.cs)SelectableOptionReportmodel to manage selectable options in reports. (FinTrack/Models/Report/SelectableOptionReport.cs)UI and Style Updates:
UserMessageBorderStyle,BotMessageBorderStyle) and quick action buttons (QuickActionButtonStyle,ChatQuickActionButtonStyle). (FinTrack/Styles/ModernStyles.xaml)BotMessageBackgroundBrushandUserMessageBackgroundBrushfor chat message background colors. (FinTrack/Styles/ModernStyles.xaml)FinTrack/Styles/ModernStyles.xaml) [1] [2]ViewModel Improvements:
CurrenciesViewModelto include filtering and sample data loading for currencies, leveraging the newCurrencyModel. (FinTrack/ViewModels/CurrenciesViewModel.cs)Utility Additions:
NullToVisibilityConverterhelper class to convert null values toVisibility.CollapsedorVisibility.Visible. (FinTrack/Helpers/NullToVisibilityConverter.cs)