/** * Admin Account Limits Page * Configure account limits and quotas */ import { useState } from 'react'; import { Save, Shield, Loader2 } from 'lucide-react'; import { Card } from '../../components/ui/card'; export default function AdminAccountLimitsPage() { const [saving, setSaving] = useState(false); const [limits, setLimits] = useState({ maxSites: 10, maxTeamMembers: 5, maxStorageGB: 50, maxAPICallsPerMonth: 100000, maxConcurrentJobs: 10, rateLimitPerMinute: 100, }); const handleSave = async () => { setSaving(true); await new Promise(resolve => setTimeout(resolve, 1000)); setSaving(false); }; return (

Account Limits

Configure default account limits and quotas

Resource Limits

setLimits({ ...limits, maxSites: parseInt(e.target.value) })} className="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800" />
setLimits({ ...limits, maxTeamMembers: parseInt(e.target.value) })} className="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800" />
setLimits({ ...limits, maxStorageGB: parseInt(e.target.value) })} className="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800" />

API & Performance Limits

setLimits({ ...limits, maxAPICallsPerMonth: parseInt(e.target.value) })} className="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800" />
setLimits({ ...limits, maxConcurrentJobs: parseInt(e.target.value) })} className="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800" />
setLimits({ ...limits, rateLimitPerMinute: parseInt(e.target.value) })} className="w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800" />
); }