From 6472c70960d41d1a765048bff295d0f841749096 Mon Sep 17 00:00:00 2001 From: alcroito <alcroito.code@pm.me> Date: Sat, 3 Aug 2024 20:18:33 +0200 Subject: [PATCH] Shorten hidden category names imported from YNAB4 (#3122) Imported hidden categories had the parent category entity id (UUID) appended to the end of the name, making the category name quite long and somewhat hard to read. Remove the entity id from the end, and replace the apostrophe that divides the master category from the sub category with a forward slash. This shortens the name, ensuring a better chance that the full category name fits into the default table cell width. Co-authored-by: DJ Mountney <david@twkie.net> --- .../loot-core/src/server/importers/ynab4.ts | 18 +++++++++++++++++- upcoming-release-notes/3122.md | 6 ++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 upcoming-release-notes/3122.md diff --git a/packages/loot-core/src/server/importers/ynab4.ts b/packages/loot-core/src/server/importers/ynab4.ts index 97e04c97c..e6c474e67 100644 --- a/packages/loot-core/src/server/importers/ynab4.ts +++ b/packages/loot-core/src/server/importers/ynab4.ts @@ -71,8 +71,24 @@ async function importCategories( // on insertion order for (const category of subCategories) { if (!category.isTombstone) { + let categoryName = category.name; + + // Hidden categories have the parent category entity id + // appended to the end of the sub category name. + // The format is 'MasterCategory ` SubCategory ` entityId'. + // Remove the id to shorten the name. + if (masterCategory.name === 'Hidden Categories') { + const categoryNameParts = categoryName.split(' ` '); + + // Remove the last part, which is the entityId. + categoryNameParts.pop(); + + // Join the remaining parts with a slash between them. + categoryName = categoryNameParts.join('/').trim(); + } + const id = await actual.createCategory({ - name: category.name, + name: categoryName, group_id: entityIdMap.get(category.masterCategoryId), }); entityIdMap.set(category.entityId, id); diff --git a/upcoming-release-notes/3122.md b/upcoming-release-notes/3122.md new file mode 100644 index 000000000..b60b2e12d --- /dev/null +++ b/upcoming-release-notes/3122.md @@ -0,0 +1,6 @@ +--- +category: Enhancements +authors: [alcroito] +--- + +Shorten hidden category names imported from YNAB4. -- GitLab