Skip to content

Conversation

@EnesEfeTokta
Copy link
Owner

This pull request introduces significant updates to the FinTrack application, including the addition of new ViewModels, enhancements to existing ViewModels, and updates to the project structure and resources. The changes aim to improve functionality, streamline navigation, and enhance user experience.

New ViewModels and Features:

  • Added ApplicationRecognizeSlideViewModel to manage onboarding slides with titles, descriptions, and icons, providing a guided introduction to the application. It includes navigation logic to transition to the login view.
  • Introduced OtpVerificationViewModel to handle OTP verification with validation logic and navigation to the home view upon successful verification.
  • Added ForgotPasswordViewModel to manage password reset functionality, including email validation and navigation back to the login view.

Enhancements to Existing ViewModels:

  • Refactored LoginViewModel and RegisterViewModel to use descriptive property names tied to UI elements, improving code readability and maintainability. Added password visibility toggle functionality. [1] [2]
  • Updated MainViewModel to integrate the new ViewModels (OtpVerificationViewModel, ForgotPasswordViewModel, and ApplicationRecognizeSlideViewModel) and manage navigation between them. The onboarding slides are now the default starting view.

Resource and Project Updates:

  • Added new image resources for onboarding slides and UI icons, and removed unused image files from the project. [1] [2]
  • Added a dependency on LiveChartsCore.SkiaSharpView.WPF for potential charting functionality.

Code Cleanup:

  • Removed unused using directives in multiple files to improve code clarity. [1] [2]

Placeholder ViewModels:

  • Added placeholder classes for BottomBarViewModel, DashboardViewModel, and TopBarViewModel as potential future implementations. [1] [2] [3]

…r UX

Introduces OtpVerificationViewModel and integrates OTP verification into the navigation flow. Refactors LoginViewModel and RegisterViewModel for clearer property naming and command binding, adds password visibility toggles with new EyeButtonStyle, and updates related XAML views for improved user experience and maintainability.
Introduced ForgotPasswordView and its ViewModel, enabling users to request a password reset from the login screen. Updated MainViewModel to handle navigation to and from the forgot password view. Modified LoginWindow.xaml to include the new view, and adjusted related navigation logic for a smoother user experience.
Introduced fade and scale-in animations on load for ForgotPasswordView, LoginView, OtpVerificationView, and RegisterView to enhance user experience with smooth transitions.
…Track

Introduced ApplicationRecognizeSlideView and ApplicationRecognizeSlideViewModel to provide an onboarding experience for new users. Updated MainViewModel to show the onboarding slides on startup and handle navigation to the login view. Added chatbot image asset, registered new resources in the project file, and included a secondary button style. Cleaned up unused usings in several files and updated LoginWindow.xaml to support the new onboarding view.
…in folder

Renamed and reorganized login-related ViewModels and Views into dedicated Login subfolders for improved project structure and maintainability. No code changes were made, only file moves and renames.
…mponents

Introduces MainWindow, TopBarView, and BottomBarView with corresponding ViewModels and XAML files. Adds new icon assets and updates ModernStyles.xaml with new styles for navigation and accent buttons. Refactors ViewModels and Views by moving login-related files to the main ViewModels and Views directories. Updates FinTrack.csproj to include new resources.
Introduced a function to handle and validate user input, improving the robustness of the input processing workflow.
Implemented additional functionality on the user profile page, including support for editing user details and updating the profile picture. Refactored related components for better maintainability.
@EnesEfeTokta EnesEfeTokta requested a review from Copilot June 25, 2025 14:55
@EnesEfeTokta EnesEfeTokta self-assigned this Jun 25, 2025
@EnesEfeTokta EnesEfeTokta added the enhancement New feature or request label Jun 25, 2025
Copy link

Copilot AI left a 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 pull request introduces significant updates to the FinTrack application including new ViewModels (OtpVerificationViewModel, ForgotPasswordViewModel, and ApplicationRecognizeSlideViewModel), several new UI views (e.g. TransactionsView, TopBarView, RegisterView, LoginView, etc.), and updates to the project structure and resources.

  • New navigation flow starts with the onboarding slides and integrates registration, OTP verification, and password reset.
  • Updated resource definitions and modern style components ensure a consistent, animated, and responsive UI across the application.

Reviewed Changes

Copilot reviewed 49 out of 63 changed files in this pull request and generated 2 comments.

File Description
Various XAML view files Added new UI views with animations, updated styles, and resource links.
ViewModel files (Login, Register, OTP, etc.) Introduced multiple ViewModels with new commands and property bindings.
MainViewModel.cs Updated navigation wiring to incorporate new ViewModels and starting view.
FinTrack.csproj Updated resource references and dependency additions.
Comments suppressed due to low confidence (1)

FinTrack/ViewModels/LoginViewModel.cs:10

  • [nitpick] Property names like 'email_LoginView_TextBox' and 'password_LoginView_TextBox' are overly verbose. Consider using more concise naming (e.g. Email and Password) to enhance code readability and maintainability.
        private string? email_LoginView_TextBox;

_registerViewModel.NavigateToLoginRequested += () => CurrentViewModel = _loginViewModel;

CurrentViewModel = _loginViewModel;
_otpVerificationViewModel.NavigateToHomeRequested += () => CurrentViewModel = _loginViewModel;
Copy link

Copilot AI Jun 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OTP verification is intended to navigate to the home view upon successful verification, but the wiring currently sets the CurrentViewModel to the login view instead. Update this to navigate to the appropriate home view model.

Copilot uses AI. Check for mistakes.
if (string.IsNullOrWhiteSpace(OtpCode) || OtpCode.Length != 6)
{
IsOtpCodeValid = false;
MessageBox.Show("Lütfen geçerli bir OTP kodu girin.");
Copy link

Copilot AI Jun 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling MessageBox.Show directly in the viewmodel can hinder unit testing and violates MVVM separation of concerns. Consider abstracting this UI notification using a dialog service.

Copilot uses AI. Check for mistakes.
@EnesEfeTokta EnesEfeTokta merged commit 6e7bf90 into main Jun 25, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants