Álvaro Valenzuela Valdes commited on
Commit ·
bf7f696
1
Parent(s): 7313918
🧠 Intelligence: GlobalSync now performs real-time data nourishment during initialization
Browse files
frontend/components/GlobalSync.tsx
CHANGED
|
@@ -17,9 +17,29 @@ export default function GlobalSync({ onComplete }: { onComplete: () => void }) {
|
|
| 17 |
];
|
| 18 |
|
| 19 |
useEffect(() => {
|
|
|
|
| 20 |
let currentMsg = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
const interval = setInterval(() => {
|
| 22 |
setProgress(prev => {
|
|
|
|
|
|
|
|
|
|
| 23 |
if (prev >= 100) {
|
| 24 |
clearInterval(interval);
|
| 25 |
setTimeout(onComplete, 500);
|
|
|
|
| 17 |
];
|
| 18 |
|
| 19 |
useEffect(() => {
|
| 20 |
+
let syncDone = false;
|
| 21 |
let currentMsg = 0;
|
| 22 |
+
|
| 23 |
+
const performSync = async () => {
|
| 24 |
+
try {
|
| 25 |
+
const { syncDatabase } = await import("../lib/api");
|
| 26 |
+
console.log("[GlobalSync] Starting background sync...");
|
| 27 |
+
await syncDatabase();
|
| 28 |
+
console.log("[GlobalSync] Sync finished successfully.");
|
| 29 |
+
} catch (e) {
|
| 30 |
+
console.error("[GlobalSync] Sync failed:", e);
|
| 31 |
+
} finally {
|
| 32 |
+
syncDone = true;
|
| 33 |
+
}
|
| 34 |
+
};
|
| 35 |
+
|
| 36 |
+
performSync();
|
| 37 |
+
|
| 38 |
const interval = setInterval(() => {
|
| 39 |
setProgress(prev => {
|
| 40 |
+
// If sync is not done, slow down near 90%
|
| 41 |
+
if (!syncDone && prev >= 90) return 90;
|
| 42 |
+
|
| 43 |
if (prev >= 100) {
|
| 44 |
clearInterval(interval);
|
| 45 |
setTimeout(onComplete, 500);
|