aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-02-02 23:26:34 -0800
committerAdam Soltys <[email protected]>2023-02-02 23:29:42 -0800
commit916f331e0e9a051830ce988639bb2149788e8228 (patch)
treea2dc51e4f16fab464788c54dd60e6c18dc8923b0 /src/lib
parent8ebbc178b68da89470bac68f65a365bc6366747b (diff)
downloadcoinos-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.js4
-rw-r--r--src/lib/socket.js11
-rw-r--r--src/lib/store.js1
-rw-r--r--src/lib/ticket.js2
-rw-r--r--src/lib/utils.js26
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;
+}