From 6822a7f86e4fdcfd2b25879ce889fb7fe21fd5f6 Mon Sep 17 00:00:00 2001 From: Rubens Flinco Date: Fri, 17 May 2024 15:52:45 -0300 Subject: [PATCH] =?UTF-8?q?Nova=20vers=C3=A3o=20com=20melhorias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 2 +- README.md | 8 +-- extrato-nubank.js | 133 ++++++++++++++++++++++++++++++------------ manifest.json | 29 ++++++--- nubank-ofx-master.crx | Bin 0 -> 38416 bytes nubank-ofx-master.pem | 28 +++++++++ 6 files changed, 148 insertions(+), 52 deletions(-) create mode 100644 nubank-ofx-master.crx create mode 100644 nubank-ofx-master.pem diff --git a/LICENSE b/LICENSE index 04d2679..093aa37 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Gustavo Honorato +Copyright (c) 2023 Rubens Flinco Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 8212580..af4e051 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,2 @@ -# nubank-ofx -Extensão do Chrome que adiciona um botão para exportação do extrato em OFX - -** **ATENÇÃO** ** - -Como não sou mais um usuário deste serviço e estou muito ocupado, não tenho meios mais de manter esse projeto. Se você tem interesse, abra uma issue solicitando a transferência do projeto. +# NuBank OFX - MeuDinheiroWeb +Adiciona um botão para exportação do extrato em OFX do NuBank otimizado para MeuDinheiroWeb, com opção de exportar com a data das transalações na fatura ou com as datas da compra da transalação que geralmente tem uma diferença de 1 dia. \ No newline at end of file diff --git a/extrato-nubank.js b/extrato-nubank.js index 357f73a..4850cb0 100644 --- a/extrato-nubank.js +++ b/extrato-nubank.js @@ -1,4 +1,4 @@ -(function() { +(function () { const startOfx = () => { return ` @@ -36,8 +36,15 @@ NEWFILEUID:NONE ${description} `; - const normalizeAmount = (text) => - text.replace('.', '').replace(',','.'); + const normalizeAmount = (text) => { + let amount = text.replace('.', '').replace(',', '.'); + if (String(amount).includes("-")) { + amount = amount.replace('-', '+'); + } else { + amount = "-" + amount; + } + return amount; + } const normalizeDay = (date) => date.split(' ')[0]; @@ -62,74 +69,128 @@ NEWFILEUID:NONE return months[month]; } - const normalizeYear = (date) => { + const normalizeYear = (date, ifJan = true) => { + const openMonth = (document.querySelector('md-tab.ng-scope.active .period').textContent.trim()).toLocaleUpperCase(); const dateArray = date.split(' '); if (dateArray.length > 2) { - return '20'+dateArray[2]; + return '20' + dateArray[2]; } else { - return new Date().getFullYear(); + if((ifJan) && (openMonth.includes("JAN"))){ + return Number(new Date().getFullYear())-1; + }else{ + return new Date().getFullYear(); + } }; } - const normalizeDate = (date) => - normalizeYear(date)+normalizeMonth(date)+normalizeDay(date); + const normalizeDate = (date, dataCompra = false) => { + const [year, month, day] = [ + normalizeYear(date), + normalizeMonth(date), + normalizeDay(date) + ]; + if (dataCompra === false) { + const dataFatura = `${year}${month}${day}`; + return dataFatura; + } else { + const newDate = new Date(`${year}-${month}-${day}`); + newDate.setDate(newDate.getDate() - 1); - const exportOfx = (ofx) => { + const normalizedDate = newDate.toISOString().slice(0, 10).replace(/-/g, ''); + return normalizedDate; + } + }; + + const exportOfx = (ofx, appendNameFile) => { const openMonth = " " + document.querySelector('md-tab.ng-scope.active .period').textContent.trim(); - const period = normalizeYear(openMonth) + "-" + normalizeMonth(openMonth); + const period = normalizeYear(openMonth, false) + "-" + normalizeMonth(openMonth); link = document.createElement("a"); - link.setAttribute("href", 'data:application/x-ofx,'+encodeURIComponent(ofx)); - link.setAttribute("download", "nubank-" + period + ".ofx"); + link.setAttribute("href", 'data:application/x-ofx,' + encodeURIComponent(ofx)); + link.setAttribute("download", `nubank-${appendNameFile}-${period}.ofx`); link.click(); } const generateOfx = () => { let ofx = startOfx(); - document.querySelectorAll('.charge:not([style=\'display:none\'])').forEach(function(charge){ - const date = normalizeDate(charge.querySelector('.time').textContent); + document.querySelectorAll('.md-tab-content:not(.ng-hide) .charge:not([style=\'display:none\'])').forEach(function (charge) { const description = charge.querySelector('.description').textContent.trim(); + const date = normalizeDate(charge.querySelector('.time').textContent, false); const amount = normalizeAmount(charge.querySelector('.amount').textContent); ofx += bankStatement(date, amount, description); }); ofx += endOfx(); - exportOfx(ofx); + exportOfx(ofx, "data-fatura"); } - const createExportButton = () => { - const button = document.createElement('button'); - button.classList.add('nu-button'); - button.classList.add('secondary'); - button.setAttribute('role', 'gen-ofx'); - button.textContent = "Exportar para OFX"; + const generateOfxDataCompra = () => { + let ofx = startOfx(); - button.addEventListener('click', generateOfx) + document.querySelectorAll('.md-tab-content:not(.ng-hide) .charge:not([style=\'display:none\'])').forEach(function (charge) { + const description = charge.querySelector('.description').textContent.trim(); + const date = normalizeDate(charge.querySelector('.time').textContent, true); + const amount = normalizeAmount(charge.querySelector('.amount').textContent); + + ofx += bankStatement(date, amount, description); + }); - return button; + ofx += endOfx(); + exportOfx(ofx, "data-compra"); } - const exportOfxButtonAlreadyExists = () => - document.querySelectorAll(".summary.open [role=\"gen-ofx\"]").length > 0 + const createExportButtonNew = () => { + const div = document.createElement('div'); + div.classList.add('extension-nubank-ofx-meu-dinheiro-web'); - const insertExportButtonCallback = (mutationList, observer) => { - if(mutationList == undefined || exportOfxButtonAlreadyExists()) return; + const btn1 = document.createElement('button'); + btn1.classList.add('nu-button'); + btn1.classList.add('secondary'); + btn1.setAttribute('role', 'gen-ofx'); + btn1.textContent = "Exportar para OFX (Data da fatura)"; + btn1.addEventListener('click', generateOfx); - const generateBoletoButton = document.querySelector('.summary.open .nu-button'); - if (generateBoletoButton == undefined) return; + const btn2 = document.createElement('button'); + btn2.classList.add('nu-button'); + btn2.classList.add('secondary'); + btn2.setAttribute('role', 'gen-ofx-2'); + btn2.textContent = "Exportar para OFX (Data da compra)"; + btn2.addEventListener('click', generateOfxDataCompra); - const exportOfxButton = createExportButton(); - generateBoletoButton.parentNode.appendChild(exportOfxButton); + div.appendChild(btn1); + div.appendChild(btn2); - observer.disconnect(); + return div; } - const targetElement = document.querySelector('.bills-browser'); - const config = { attributes: true, childList: true, subtree: true } + const insertExportButtonCallback = (mutationList, observer) => { + if (mutationList === null || (mutationList?.length <= 0)) { + return; + }; + + const billsBrowser = document.querySelector('.bills-browser'); + if (billsBrowser === null || (billsBrowser?.length <= 0)) { + return; + }; + + const nuPageBtns = document.querySelectorAll('.bills-browser .summary .nu-button'); + if (nuPageBtns?.length > 0) { + for (let i = 0; i < nuPageBtns.length; i++) { + const exportOfxButton = createExportButtonNew(); + nuPageBtns[i].parentNode.appendChild(exportOfxButton); + } + } + + const extensionActive = document.querySelectorAll('.extension-nubank-ofx-meu-dinheiro-web'); + if (extensionActive?.length > 0) { + observer.disconnect() + return; + } + + } const observer = new MutationObserver(insertExportButtonCallback); - observer.observe(targetElement, config) + observer.observe(document, { attributes: true, childList: true, subtree: true }); })(); - diff --git a/manifest.json b/manifest.json index 2fa76f3..4600da6 100644 --- a/manifest.json +++ b/manifest.json @@ -1,14 +1,25 @@ { - "manifest_version": 2, - - "name": "NuBank OFX", - "description": "Adiciona um botão para exportação do extrato em OFX do NuBank", - "version": "1.1", - "icons": { "16": "nubank-ofx-16.png", - "48": "nubank-ofx-48.png", - "128": "nubank-ofx-128.png" }, + "manifest_version": 3, + "name": "NuBank OFX - MeuDinheiroWeb", + "description": "Adiciona um botão para exportação do extrato em OFX do NuBank otimizado para MeuDinheiroWeb, com opção de exportar com a data das transalações na fatura ou com as datas da compra da transalação que geralmente tem uma diferença de 1 dia.", + "version": "2", + "icons": { + "16": "nubank-ofx-16.png", + "48": "nubank-ofx-48.png", + "128": "nubank-ofx-128.png" + }, + "action": { + "default_icon": { + "16": "nubank-ofx-16.png", + "48": "nubank-ofx-48.png", + "128": "nubank-ofx-128.png" + } + }, + "permissions": [ + "activeTab" + ], "content_scripts": [{ "matches": ["https://*.nubank.com.br/*"], "js": ["extrato-nubank.js"] }] -} +} \ No newline at end of file diff --git a/nubank-ofx-master.crx b/nubank-ofx-master.crx new file mode 100644 index 0000000000000000000000000000000000000000..ee0b1599613891b012ad256e083202bf1b783fc6 GIT binary patch literal 38416 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