diff --git a/client/src/pages/Settings.tsx b/client/src/pages/Settings.tsx
index 6b604df..d24c4dd 100644
--- a/client/src/pages/Settings.tsx
+++ b/client/src/pages/Settings.tsx
@@ -33,6 +33,11 @@ import type {
RegenBackupCodesOk,
ChangePasswordOk,
RevokeAllSessionsOk,
+ NextcloudConnectOk,
+ DocumentsListOk,
+ DocumentUploadOk,
+ DocumentDownloadOk,
+ UserDocument,
} from '@/shared/types';
// ── Small presentational bits ────────────────────────────────
@@ -538,6 +543,382 @@ function SessionsCard() {
);
}
+// ── Nextcloud Integration ───────────────────────────────────
+function NextcloudCard({ user }: { user: AuthUser }) {
+ const qc = useQueryClient();
+ const connected = !!user.nextcloud_url;
+
+ const [url, setUrl] = useState(user.nextcloud_url || '');
+ const [username, setUsername] = useState(user.nextcloud_user || '');
+ const [appPassword, setAppPassword] = useState('');
+ const [webdavPath, setWebdavPath] = useState(user.webdav_learning_path || '');
+ const [disconnectOpen, setDisconnectOpen] = useState(false);
+ const [msg, setMsg] = useState Export generated documents to your Nextcloud.
+ Upload and manage documents via S3 storage (PDF, images, Word docs, text files). Max 10 MB per file.
+ Nextcloud Integration
+ Documents
+