@vibes.diy/use-vibes-base 0.12.6-dev4 → 0.12.6-dev7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +14 -8
- package/index.js.map +1 -1
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
1
|
+
import { useEffect, useState, useCallback } from 'react';
|
|
2
2
|
import { fireproof, ImgFile, toCloud as originalToCloud, useFireproof as originalUseFireproof, } from 'use-fireproof';
|
|
3
3
|
import { ManualRedirectStrategy } from './ManualRedirectStrategy.js';
|
|
4
4
|
export { fireproof, ImgFile, ManualRedirectStrategy };
|
|
5
|
+
function generateLedgerName(dbName) {
|
|
6
|
+
const origin = typeof window !== 'undefined'
|
|
7
|
+
? window.location.origin.replace(/[^a-z0-9]/gi, '-')
|
|
8
|
+
: 'unknown-origin';
|
|
9
|
+
return `${origin}-${dbName}`;
|
|
10
|
+
}
|
|
5
11
|
export function toCloud(opts) {
|
|
6
12
|
const attachable = originalToCloud({
|
|
7
13
|
...opts,
|
|
@@ -16,12 +22,12 @@ export const useFireproof = (nameOrDatabase) => {
|
|
|
16
22
|
const dbName = typeof nameOrDatabase === 'string' ? nameOrDatabase : nameOrDatabase?.name || 'default';
|
|
17
23
|
const syncKey = `fireproof-sync-${dbName}`;
|
|
18
24
|
const wasSyncEnabled = typeof window !== 'undefined' && localStorage.getItem(syncKey) === 'true';
|
|
19
|
-
const attachConfig = wasSyncEnabled ? toCloud() : undefined;
|
|
25
|
+
const attachConfig = wasSyncEnabled ? toCloud({ ledger: generateLedgerName(dbName) }) : undefined;
|
|
20
26
|
const result = originalUseFireproof(nameOrDatabase, attachConfig ? { attach: attachConfig } : {});
|
|
21
27
|
const [manualAttach, setManualAttach] = useState(null);
|
|
22
28
|
useEffect(() => {
|
|
23
29
|
if (manualAttach === 'pending' && result.database) {
|
|
24
|
-
const cloudConfig = toCloud();
|
|
30
|
+
const cloudConfig = toCloud({ ledger: generateLedgerName(dbName) });
|
|
25
31
|
result.database
|
|
26
32
|
.attach(cloudConfig)
|
|
27
33
|
.then((attached) => {
|
|
@@ -33,8 +39,8 @@ export const useFireproof = (nameOrDatabase) => {
|
|
|
33
39
|
setManualAttach({ state: 'error', error });
|
|
34
40
|
});
|
|
35
41
|
}
|
|
36
|
-
}, [manualAttach, result.database, syncKey]);
|
|
37
|
-
const enableSync = () => {
|
|
42
|
+
}, [manualAttach, result.database, syncKey, dbName]);
|
|
43
|
+
const enableSync = useCallback(() => {
|
|
38
44
|
if (!wasSyncEnabled && !manualAttach) {
|
|
39
45
|
setManualAttach('pending');
|
|
40
46
|
}
|
|
@@ -48,7 +54,7 @@ export const useFireproof = (nameOrDatabase) => {
|
|
|
48
54
|
}
|
|
49
55
|
}
|
|
50
56
|
}, 100);
|
|
51
|
-
};
|
|
57
|
+
}, [wasSyncEnabled, manualAttach]);
|
|
52
58
|
useEffect(() => {
|
|
53
59
|
const button = document.getElementById('vibes-login-link');
|
|
54
60
|
if (!button)
|
|
@@ -61,14 +67,14 @@ export const useFireproof = (nameOrDatabase) => {
|
|
|
61
67
|
button.removeEventListener('click', handleClick);
|
|
62
68
|
};
|
|
63
69
|
}, [enableSync]);
|
|
64
|
-
const disableSync = () => {
|
|
70
|
+
const disableSync = useCallback(() => {
|
|
65
71
|
localStorage.removeItem(syncKey);
|
|
66
72
|
if (result.attach?.ctx?.tokenAndClaims?.state === 'ready' &&
|
|
67
73
|
result.attach.ctx.tokenAndClaims.reset) {
|
|
68
74
|
result.attach.ctx.tokenAndClaims.reset();
|
|
69
75
|
}
|
|
70
76
|
setManualAttach(null);
|
|
71
|
-
};
|
|
77
|
+
}, [syncKey, result.attach]);
|
|
72
78
|
const syncEnabled = (wasSyncEnabled &&
|
|
73
79
|
(result.attach?.state === 'attached' || result.attach?.state === 'attaching')) ||
|
|
74
80
|
(manualAttach && typeof manualAttach === 'object' && manualAttach.state === 'attached');
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/use-vibes-base",
|
|
3
|
-
"version": "0.12.6-
|
|
3
|
+
"version": "0.12.6-dev7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Core components and utilities for use-vibes (internal workspace package)",
|
|
6
6
|
"exports": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@fireproof/core-runtime": "^0.23.13",
|
|
16
16
|
"@fireproof/core-types-base": "^0.23.13",
|
|
17
17
|
"@fireproof/core-types-protocols-cloud": "^0.23.11",
|
|
18
|
-
"call-ai": "^0.12.6-
|
|
18
|
+
"call-ai": "^0.12.6-dev7",
|
|
19
19
|
"react-dom": "^19.1.1",
|
|
20
20
|
"use-fireproof": "^0.23.13",
|
|
21
21
|
"uuid": "^11.1.0"
|