diff options
| author | Adam Soltys <[email protected]> | 2022-08-01 20:50:16 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-08-01 20:50:16 -0700 |
| commit | 1601b32772a5bde59da60f333f110c0dfc52b019 (patch) | |
| tree | 6abd4c0875de33b5b36321f71e3b610c37dda173 /src/lib/utils.js | |
| parent | b1913e4a7818d293685ab49c146d5e4f7e9543e5 (diff) | |
| download | coinos-ui-1601b32772a5bde59da60f333f110c0dfc52b019.tar.gz coinos-ui-1601b32772a5bde59da60f333f110c0dfc52b019.zip | |
update invoice when tip changes
Diffstat (limited to 'src/lib/utils.js')
| -rw-r--r-- | src/lib/utils.js | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/lib/utils.js b/src/lib/utils.js index 38f2a010..b80a548b 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -9,13 +9,15 @@ const base = browser ? '' : import.meta.env.VITE_COINOS_URL; export const get = (url) => fetch(base + url, { headers: { accept: 'application/json' } - }).then((r) => r.text()).then((body) => { - try { - return JSON.parse(body); - } catch(e) { - throw Error(body); - } - }) + }) + .then((r) => r.text()) + .then((body) => { + try { + return JSON.parse(body); + } catch (e) { + throw Error(body); + } + }); export const post = (url, body) => fetch(base + url, { @@ -27,3 +29,12 @@ export const post = (url, body) => export const copy = (text) => { navigator.clipboard.writeText(text); }; + +export function reverseFormat(val, locale) { + let parts = new Intl.NumberFormat(locale).formatToParts(1111.1); + let group = parts.find((part) => part.type === 'group').value; + let decimal = parts.find((part) => part.type === 'decimal').value; + let reversedVal = val.replace(new RegExp('\\' + group, 'g'), ''); + reversedVal = reversedVal.replace(new RegExp('\\' + decimal, 'g'), '.'); + return Number.isNaN(reversedVal) ? 0 : +reversedVal; +} |
