CSV Transaction Imports (#708)

Introduces a basic CSV import module for bulk-importing account transactions.

Changes include:

- User can load a CSV
- User can configure the column mappings for a CSV
- Imported CSV shows invalid cells
- User can clean up their data directly in the UI
- User can see a preview of the import rows and confirm import
- Layout refactor + Import nav stepper
- System test stability improvements
This commit is contained in:
Zach Gollwitzer
2024-05-17 09:09:32 -04:00
committed by GitHub
parent 3d9ff3ad2a
commit 45ae4a9737
71 changed files with 1657 additions and 117 deletions

View File

@@ -0,0 +1,22 @@
<!--TODO: Once we have more styled tables for reference, refactor and DRY this up -->
<div class="grid grid-cols-4 border border-alpha-black-200 rounded-md shadow-xs text-sm bg-white">
<div class="bg-gray-25 px-3 py-2.5 border-b border-b-alpha-black-200 font-medium rounded-tl-md">Date</div>
<div class="bg-gray-25 px-3 py-2.5 border-b border-b-alpha-black-200 font-medium">Name</div>
<div class="bg-gray-25 px-3 py-2.5 border-b border-b-alpha-black-200 font-medium">Category</div>
<div class="bg-gray-25 px-3 py-2.5 border-b border-b-alpha-black-200 font-medium rounded-tr-md">Amount</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">2024-01-01</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">Amazon</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">Shopping</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">-24.99</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">2024-03-01</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">Spotify</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200"></div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">-16.32</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200 rounded-bl-md">2023-01-06</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">Acme</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200">Income</div>
<div class="px-3 py-2.5 border-b border-b-alpha-black-200 rounded-br-md">151.22</div>
</div>