+
Connected!
+
Granted scopes:
+
+ {scopes.map(scope => (
+ -
+ {scope.replace('https://www.googleapis.com/auth/', '')}
+
+ ))}
+
+
+
Test Import (Small Batches)
+
+
+
+
+
+
+
+ {importProgress && (
+
+
{importProgress.service}: {importProgress.status}
+ {importProgress.status === 'importing' && (
+
- {importProgress.imported}/{importProgress.total}
+ )}
+ {importProgress.status === 'completed' && (
+
- {importProgress.imported} items imported
+ )}
+ {importProgress.errorMessage && (
+
{importProgress.errorMessage}
+ )}
+
+ )}
+
+
Stored Data (Encrypted in IndexedDB)
+
+
+
+ | Gmail |
+ {storedCounts.gmail} messages |
+
+ {storedCounts.gmail > 0 && }
+ |
+
+
+ | Drive |
+ {storedCounts.drive} files |
+
+ {storedCounts.drive > 0 && }
+ |
+
+
+ | Photos |
+ {storedCounts.photos} photos |
+
+ {storedCounts.photos > 0 && }
+ |
+
+
+ | Calendar |
+ {storedCounts.calendar} events |
+
+ {storedCounts.calendar > 0 && }
+ |
+
+
+
+
+ {viewingService && viewItems.length > 0 && (
+
+
+ {viewingService.charAt(0).toUpperCase() + viewingService.slice(1)} Items (Decrypted)
+
+
+
+ {viewItems.map((item, i) => (
+
+
{item.title}
+
+ {new Date(item.date).toLocaleString()}
+
+ {item.preview && (
+
+ {item.preview.substring(0, 100)}...
+
+ )}
+
+ ))}
+
+
+ )}
+
+
+
+ {logs.length === 0 ? (
+
Click an import button to see activity...
+ ) : (
+ logs.map((log, i) =>
{log}
)
+ )}
+
+ Debug Info
+
+{JSON.stringify({
+ isAuthed,
+ hasMasterKey: !!masterKey,
+ scopeCount: scopes.length,
+ storedCounts,
+ importProgress,
+ currentUrl: typeof window !== 'undefined' ? window.location.href : 'N/A'
+}, null, 2)}
+
+