Added multi-currency support, account/budget management, and settings
All checks were successful
Build Linux / build (push) Successful in 1m8s

- Primary account determines app-wide reference currency; all totals, charts, and summaries convert to it automatically using live rates

- Transactions show both converted and original amounts for cross-currency accounts; IsMultiCurrency recalculates on primary currency change

- Exchange rates fetched live on account save and broadcast via RatesRefreshed so all views update without a restart

- Account create/edit/delete with currency, icon, color, and primary toggle

- Budget create/edit/delete; savings goal dialog

- Settings view: display name, avatar upload, theme, language

- Removed currency selector from Settings (follows primary account)

- Fixed account list sort: primary first, then oldest CreatedAt, per group

- Fixed total balance overlap in dashboard accounts card
This commit is contained in:
2026-04-03 02:39:51 +03:00
parent 1f99e49dec
commit d8dea1913a
103 changed files with 3160 additions and 698 deletions

View File

@@ -0,0 +1,7 @@
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="128" fill="white"/>
<path d="M47.1441 111.781C46.1901 113.699 46.9675 116.042 48.9472 116.861C59.7416 121.326 71.6993 122.305 83.1308 119.605C94.5622 116.905 104.818 110.678 112.475 101.854C113.88 100.236 113.527 97.7931 111.816 96.5041L102.077 89.1687C100.365 87.8797 97.9475 88.2395 96.4818 89.8024C91.6727 94.9302 85.4418 98.5558 78.5455 100.185C71.6492 101.814 64.455 101.36 57.8605 98.9255C55.8506 98.1836 53.5273 98.9438 52.5733 100.862L47.1441 111.781Z" fill="#3B6AFF"/>
<path d="M21.0973 43.9209C19.1287 43.0753 16.8338 43.9825 16.127 46.0054C11.8718 58.1837 11.9494 71.5054 16.4214 83.6906C20.8933 95.8758 29.451 106.084 40.573 112.616C42.4204 113.701 44.7571 112.908 45.7111 110.989L51.1403 100.071C52.0943 98.1522 51.2984 95.8403 49.4942 94.6848C42.9197 90.474 37.8636 84.2108 35.1491 76.8144C32.4346 69.418 32.2387 61.3702 34.5281 53.9049C35.1564 51.8563 34.2679 49.5784 32.2994 48.7328L21.0973 43.9209Z" fill="#3B6AFF"/>
<path d="M73.8169 11.1106C74.0037 8.9759 72.4239 7.0798 70.2818 7.04159C59.8752 6.85599 49.595 9.58316 40.618 14.9526C31.641 20.3221 24.3745 28.0902 19.6138 37.348C18.6338 39.2536 19.5563 41.5428 21.5248 42.3884L32.7269 47.2003C34.6954 48.0459 36.9587 47.122 38.0114 45.2557C41.0653 39.8412 45.4846 35.2916 50.8568 32.0784C56.2289 28.8651 62.3272 27.1238 68.5411 26.9947C70.683 26.9503 72.5677 25.3932 72.7544 23.2585L73.8169 11.1106Z" fill="#3B6AFF"/>
<path d="M112.475 31.8413C114.197 30.5654 114.568 28.1254 113.176 26.4964C108.896 21.4875 103.757 17.2673 97.9898 14.0399C92.2231 10.8124 85.9388 8.63902 79.4318 7.61064C77.3157 7.2762 75.4308 8.86914 75.2441 11.0039L74.1816 23.1517C73.9948 25.2864 75.5805 27.1472 77.6821 27.563C81.3789 28.2944 84.9457 29.605 88.2484 31.4535C91.551 33.3019 94.5336 35.6568 97.0907 38.4255C98.5445 39.9995 100.959 40.3778 102.681 39.1019L112.475 31.8413Z" fill="#3B6AFF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB