Feat: Add export to CSV support (#292)

* install json2csv package

* add necessary labels

* add support convert the JSON to redable CSV format and export

* add a popover to export btton and provide options for exporting to JSON and CSV

* Use a DropdownMenu

* Translations

---------

Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
This commit is contained in:
Yuvaraj Sai
2025-04-19 23:41:38 +05:30
committed by GitHub
parent f9307fd22d
commit 6c5c9d5bed
17 changed files with 235 additions and 11 deletions

View File

@@ -21,6 +21,7 @@
"createFirst": "Erstelle die Erste",
"noExpenses": "Deine Gruppe hat noch keine Ausgaben.",
"exportJson": "Als JSON exportieren",
"exportCsv": "Als CSV exportieren",
"searchPlaceholder": "Suche nach einer Ausgabe…",
"ActiveUserModal": {
"title": "Wer bist du?",

View File

@@ -20,7 +20,9 @@
"create": "Create expense",
"createFirst": "Create the first one",
"noExpenses": "Your group doesnt contain any expense yet.",
"export": "Export",
"exportJson": "Export to JSON",
"exportCsv": "Export to CSV",
"searchPlaceholder": "Search for an expense…",
"ActiveUserModal": {
"title": "Who are you?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Crea el primero",
"noExpenses": "Tu grupo aun no tiene gastos.",
"exportJson": "Exportar a JSON",
"exportCsv": "Exportar a CSV",
"searchPlaceholder": "Busca un gasto…",
"ActiveUserModal": {
"title": "¿Quién es usted?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Lisää ensimmäinen kulu",
"noExpenses": "Ryhmälläsi ei ole vielä yhtään kulua.",
"exportJson": "Vie JSON-tiedostoon",
"exportCsv": "Vie CSV-tiedostoon",
"searchPlaceholder": "Etsi kulua…",
"ActiveUserModal": {
"title": "Kuka olet?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Créer la première :)",
"noExpenses": "Votre groupe n'a effectué aucune dépense pour le moment.",
"exportJson": "Exporter en JSON",
"exportCsv": "Exporter en CSV",
"searchPlaceholder": "Rechercher une dépense…",
"ActiveUserModal": {
"title": "Qui êtes-vous ?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Crea la prima",
"noExpenses": "Il tuo gruppo non contiene ancora spese.",
"exportJson": "Esporta file JSON",
"exportCsv": "Esporta file CSV",
"searchPlaceholder": "Cerca una spesa…",
"ActiveUserModal": {
"title": "Chi sei?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Stwórz swój pierwszy",
"noExpenses": "Twoja grupa nie ma jeszcze żadnych wydatków.",
"exportJson": "Eksportuj do JSONa",
"exportCsv": "Eksportuj do CSVa",
"searchPlaceholder": "Szukaj wydatku...",
"ActiveUserModal": {
"title": "Kim jesteś?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Adaug-o pe prima",
"noExpenses": "Grupul tău nu conține nicio cheltuială încă.",
"exportJson": "Salvează în JSON",
"exportCsv": "Salvează în CSV",
"searchPlaceholder": "Caută o cheltuială…",
"ActiveUserModal": {
"title": "Cum te numești?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Создать первый расход",
"noExpenses": "У вашей группы пока что нет расходов.",
"exportJson": "Экспортировать в JSON",
"exportCsv": "Экспортировать в CSV",
"searchPlaceholder": "Поиск расходов…",
"ActiveUserModal": {
"title": "Кто вы?",

View File

@@ -21,6 +21,7 @@
"createFirst": "Створіть першу витрату",
"noExpenses": "У вашій групі ще немає витрат",
"exportJson": "Експортувати у JSON",
"exportCsv": "Експортувати у CSV",
"searchPlaceholder": "Пошук витрат...",
"ActiveUserModal": {
"title": "Хто ви?",

View File

@@ -21,6 +21,7 @@
"createFirst": "创建首个消费",
"noExpenses": "你的群组内目前没有任何消费。",
"exportJson": "导出到JSON",
"exportCsv": "导出到CSV",
"searchPlaceholder": "查找消费……",
"ActiveUserModal": {
"title": "你是哪位?",

View File

@@ -21,6 +21,7 @@
"createFirst": "新增第一筆消費紀錄",
"noExpenses": "你的群組內目前沒有任何消費紀錄。",
"exportJson": "匯出為 JSON",
"exportCsv": "匯出為 CSV",
"searchPlaceholder": "搜尋消費紀錄……",
"ActiveUserModal": {
"title": "你是誰?",