diff options
| author | Adam Soltys <[email protected]> | 2023-02-02 23:26:34 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-02-02 23:29:42 -0800 |
| commit | 916f331e0e9a051830ce988639bb2149788e8228 (patch) | |
| tree | a2dc51e4f16fab464788c54dd60e6c18dc8923b0 /src/lib | |
| parent | 8ebbc178b68da89470bac68f65a365bc6366747b (diff) | |
| download | coinos-ui-916f331e0e9a051830ce988639bb2149788e8228.tar.gz coinos-ui-916f331e0e9a051830ce988639bb2149788e8228.zip | |
move invoices, combine profile and dashboard
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/invoice.js | 4 | ||||
| -rw-r--r-- | src/lib/socket.js | 11 | ||||
| -rw-r--r-- | src/lib/store.js | 1 | ||||
| -rw-r--r-- | src/lib/ticket.js | 2 | ||||
| -rw-r--r-- | src/lib/utils.js | 26 |
5 files changed, 37 insertions, 7 deletions
diff --git a/src/lib/invoice.js b/src/lib/invoice.js index 983cde2a..4c487172 100644 --- a/src/lib/invoice.js +++ b/src/lib/invoice.js @@ -29,6 +29,6 @@ export default async ({ cookies, request, url }) => { throw redirect(307, `/${user.username}/request/${request_id}`); } - if (invoice.prompt) throw redirect(307, `/invoice/${hash}/tip`); - else throw redirect(307, `/invoice/${hash}`); + if (invoice.prompt) throw redirect(307, `/${user.username}/invoice/${hash}/tip`); + else throw redirect(307, `/${user.username}/invoice/${hash}`); }; diff --git a/src/lib/socket.js b/src/lib/socket.js index 4044d2a2..986fc268 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -60,10 +60,13 @@ export const messages = (data) => ({ let { amount, invoice } = data; invalidate('app:invoice'); - let payments = get(payments); - let i = payments.findIndex((p) => p.id === data.id); - if (~i) (payments[i] = data), payments.set(payments); - else newPayment.set(true); + let p = get(payments); + let i = p.findIndex((p) => p.id === data.id); + + if (~i) { + p[i] = data; + payments.set(p); + } else newPayment.set(true); invalidate((url) => url.pathname === '/payments'); diff --git a/src/lib/store.js b/src/lib/store.js index d38eb411..93ac3d47 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -32,6 +32,7 @@ const persistLocal = (key, defaultValue) => { return s; }; +export const animatedRate = writable(0); export const avatar = writable(); export const banner = writable(); export const colorTheme = writable('from-primary to-gradient'); diff --git a/src/lib/ticket.js b/src/lib/ticket.js index 708c10f4..e1ebcb8c 100644 --- a/src/lib/ticket.js +++ b/src/lib/ticket.js @@ -6,7 +6,7 @@ export const createTicket = async (cookies, username) => { let { ticket } = await get('/ticket'); let { address } = await post( - '/invoice', + `/${username}/invoice`, { invoice: { network: 'liquid' }, user: { username } }, auth(cookies) ); diff --git a/src/lib/utils.js b/src/lib/utils.js index 2b5dda90..d0b0b1c2 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -202,3 +202,29 @@ export const stretch = async (password, salt) => ); export const bip32 = await BIP32Factory(ecc); + +function get_bigrams(string) { + var s = string.toLowerCase(); + var v = s.split(''); + for (var i = 0; i < v.length; i++) { + v[i] = s.slice(i, i + 2); + } + return v; +} + +export function ss(str1, str2) { + if (str1.length > 0 && str2.length > 0) { + var pairs1 = get_bigrams(str1); + var pairs2 = get_bigrams(str2); + var union = pairs1.length + pairs2.length; + var hits = 0; + for (var x = 0; x < pairs1.length; x++) { + for (var y = 0; y < pairs2.length; y++) { + if (pairs1[x] == pairs2[y]) hit_count++; + } + } + if (hits > 0) return (2.0 * hits) / union; + } + + return 0.0; +} |
