import React, { useState } from 'react'; import { Card } from '../../ui/card'; import { Button } from '../../ui/button'; import { Input } from '../../ui/input'; import { Cloud, CheckCircle, RefreshCw, Server, Shield } from 'lucide-react'; import { useToast } from '../../../context/ToastContext'; import { ProgressBar } from '../../ui/progress'; export const CloudIntegrationView: React.FC = () => { const { addToast } = useToast(); const [isConnected, setIsConnected] = useState(false); const [url, setUrl] = useState(''); const [username, setUsername] = useState(''); const [autoSync, setAutoSync] = useState(true); const handleConnect = () => { if (!url || !username) return; // Simulate connection addToast("Connecting to Nextcloud...", "info"); setTimeout(() => { setIsConnected(true); addToast("Connected to Cloud Storage", "success"); }, 1500); }; return (
{/* Connection Status */}

Nextcloud Integration

Sync your projects, samples, and presets.

{isConnected && (
Connected
)}
{!isConnected ? (
setUrl(e.target.value)} icon={} /> setUsername(e.target.value)} icon={} /> } />
) : (
{url}
Host
Every 15 mins
Sync Frequency
Encrypted
Status
)}
{/* Sync Settings */} {isConnected && (

Sync Preferences

Auto-Sync
Automatically upload new projects
setAutoSync(!autoSync)} className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${autoSync ? 'bg-kodo-cyan' : 'bg-gray-600'}`} >
{['Projects', 'Samples', 'Presets'].map(type => ( {type} ))}

Storage Quota

65.4 GB
used of 100 GB
0 GB 100 GB
)}
); }; // Helper icons const GlobeIcon = ({className}:{className?:string}) => ; const UserIcon = ({className}:{className?:string}) => ; const LockIcon = ({className}:{className?:string}) => ;