Removed unnecessary state variables and connection testing logic from ProvidersPage. Updated the UI to clarify API login and password handling, directing users to the appropriate section for account credentials. This streamlines the component and enhances user experience.
- Added tab navigation to switch between 'Overview' and 'Health Check' sections.
- Introduced health issues count badge in the 'Health Check' tab.
- Refactored the layout to display account balances and upcoming payment expirations in a structured format.
- Enhanced user interface for better visibility of account statuses and health metrics.
- Renamed and refactored `ledgerBalanceInCurrency` to `ledgerRowsInAccountCurrency` for clarity.
- Introduced `accountHasApiLedgerMismatch` function to streamline balance mismatch checks between API and ledger.
- Updated `computeInventoryHealth` and `getBalanceMismatchAccountIds` to utilize the new mismatch detection logic.
- Enhanced user feedback in `AccountsPage` regarding balance discrepancies and ledger activity.
- Added new backup and restore functionality for JSON and SQLite database formats.
- Implemented notification settings for low balance alerts and sync digests in the settings page.
- Updated database schema to include new columns for balance alert thresholds and notification preferences.
- Refactored synchronization logic to provide detailed summaries and improved error handling.
- Enhanced user interface for managing accounts and settings, including new input fields for balance alerts.
- Improved sync log display to include summary information for better tracking of synchronization results.
- Integrated `noBrowserSuggestProps` across multiple pages to prevent browser autocomplete suggestions on input fields.
- Updated form elements in `AccountsPage`, `BalancePage`, `PaymentsPage`, `ProvidersPage`, `ReportsPage`, `ResourcesPage`, `SettingsPage`, `TariffsPage`, `VpsPage`, and `ProjectSuggestInput` to enhance usability.
- Ensured consistent application of `autoComplete="off"` for select elements to improve form behavior.
- Implemented a new dropdown menu for project suggestions using Tabler styles.
- Added highlighting for matched text in suggestions to improve user experience.
- Refactored input handling to manage open/close state and keyboard navigation.
- Updated CSS for project suggestion panel and scroll behavior.
- Introduced a new `server_projects` table to manage project details.
- Updated the `vps` table to include a foreign key reference to `server_projects`.
- Enhanced the API to support project-related data retrieval and manipulation.
- Implemented project filtering in the Reports and VPS pages.
- Added project selection functionality in the UI for better resource management.
- Improved data seeding and migration scripts to accommodate new project structure.
- Added functionality to send Telegram notifications for upcoming payment expirations and new tariffs.
- Enhanced `runScheduledSync` and `runScheduledSyncTariffs` to trigger notifications based on settings.
- Updated database schema to include Telegram settings and notification preferences.
- Introduced a test endpoint for verifying Telegram notification setup in the settings page.
- Improved user interface in the settings page to manage Telegram bot token and notification preferences.
- Replaced direct filtering of VPS data with a more structured approach using a Map for account-level grouping.
- Enhanced payment and debit calculations to account for both direct and account-level entries.
- Introduced logic to calculate total expenses based on monthly and daily rates when no payments or debits are found.
- Removed unused monthKey import for cleaner code.
- Updated `syncAccount` function to accept options for selective synchronization.
- Modified `syncFromBillmanager` to handle new options for skipping tariff syncs.
- Adjusted `TariffsPage` to utilize the new option for syncing only tariffs.
- Removed unused tariff tracking from `VpsPage` and updated sync message logic accordingly.
- Introduced `runScheduledSyncTariffs` function to handle tariff synchronization independently from VPS and payment sync.
- Updated `syncFromBillmanager` to accept options for skipping tariff and VPS payment syncs.
- Added new database columns for `syncTariffsIntervalMinutes` and `customFields` in settings.
- Enhanced settings page to configure tariff sync interval.
- Implemented bulk update functionality for VPS status and deletion in the VPS management page.
- Updated various components to support new features, including sync log display and improved payment handling.