Spaces:
Running
Running
File size: 14,711 Bytes
fe44f69 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Settings - DevinAI Clone</title>
<link rel="stylesheet" href="style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
* {
font-family: 'Inter', sans-serif;
}
.code-font {
font-family: 'JetBrains Mono', monospace;
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<custom-navbar></custom-navbar>
<custom-sidebar></custom-sidebar>
<main class="ml-0 md:ml-64 pt-16 px-4 md:px-8 pb-8">
<div class="max-w-4xl mx-auto">
<!-- Header Section -->
<div class="mb-8 mt-6">
<h1 class="text-3xl md:text-4xl font-bold text-gray-900">Settings</h1>
<p class="text-gray-600 mt-2">Configure your AI assistant and account preferences</p>
</div>
<!-- Settings Tabs -->
<div class="bg-white rounded-xl shadow-lg border border-gray-200 overflow-hidden mb-8">
<div class="border-b border-gray-200">
<nav class="flex">
<button class="px-6 py-4 border-b-2 border-blue-600 text-blue-600 font-semibold">General</button>
<button class="px-6 py-4 text-gray-600 font-medium hover:text-blue-600">AI Configuration</button>
<button class="px-6 py-4 text-gray-600 font-medium hover:text-blue-600">Team</button>
<button class="px-6 py-4 text-gray-600 font-medium hover:text-blue-600">Billing</button>
</nav>
</div>
<div class="p-8">
<form id="settings-form">
<!-- Profile Settings -->
<div class="mb-10">
<h2 class="text-xl font-bold text-gray-900 mb-6 flex items-center">
<i data-feather="user" class="w-5 h-5 mr-2 text-blue-600"></i>
Profile Settings
</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Full Name</label>
<input type="text" value="Alex Johnson" class="w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Email Address</label>
<input type="email" value="alex@example.com" class="w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Job Role</label>
<select class="w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition">
<option>Full-Stack Developer</option>
<option>Frontend Developer</option>
<option>Backend Developer</option>
<option>DevOps Engineer</option>
<option>Product Manager</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Timezone</label>
<select class="w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition">
<option>UTC-05:00 (Eastern Time)</option>
<option>UTC-08:00 (Pacific Time)</option>
<option>UTC+00:00 (GMT)</option>
<option>UTC+01:00 (Central European Time)</option>
</select>
</div>
</div>
</div>
<!-- AI Preferences -->
<div class="mb-10">
<h2 class="text-xl font-bold text-gray-900 mb-6 flex items-center">
<i data-feather="cpu" class="w-5 h-5 mr-2 text-purple-600"></i>
AI Assistant Preferences
</h2>
<div class="space-y-6">
<div class="flex items-center justify-between">
<div>
<h3 class="font-medium text-gray-900">Auto-code Completion</h3>
<p class="text-sm text-gray-600">AI suggests code completions as you type</p>
</div>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" checked class="sr-only peer">
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-blue-600"></div>
</label>
</div>
<div class="flex items-center justify-between">
<div>
<h3 class="font-medium text-gray-900">Code Review Automation</h3>
<p class="text-sm text-gray-600">AI automatically reviews code for best practices</p>
</div>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" checked class="sr-only peer">
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-blue-600"></div>
</label>
</div>
<div class="flex items-center justify-between">
<div>
<h3 class="font-medium text-gray-900">Bug Detection</h3>
<p class="text-sm text-gray-600">AI scans code for potential bugs and security issues</p>
</div>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer">
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-blue-600"></div>
</label>
</div>
</div>
</div>
<!-- Notification Settings -->
<div class="mb-10">
<h2 class="text-xl font-bold text-gray-900 mb-6 flex items-center">
<i data-feather="bell" class="w-5 h-5 mr-2 text-green-600"></i>
Notifications
</h2>
<div class="space-y-4">
<div class="flex items-center">
<input type="checkbox" checked class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500">
<label class="ml-3 text-gray-700">Email notifications for completed tasks</label>
</div>
<div class="flex items-center">
<input type="checkbox" checked class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500">
<label class="ml-3 text-gray-700">Push notifications for AI suggestions</label>
</div>
<div class="flex items-center">
<input type="checkbox" class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500">
<label class="ml-3 text-gray-700">Weekly project summaries</label>
</div>
</div>
</div>
<!-- Danger Zone -->
<div class="border-t border-gray-200 pt-8">
<h2 class="text-xl font-bold text-gray-900 mb-6 flex items-center">
<i data-feather="alert-triangle" class="w-5 h-5 mr-2 text-red-600"></i>
Danger Zone
</h2>
<div class="bg-red-50 border border-red-200 rounded-lg p-6">
<div class="flex flex-col md:flex-row justify-between items-start md:items-center">
<div>
<h3 class="font-bold text-red-800">Reset AI Training Data</h3>
<p class="text-red-700 text-sm mt-1">This will delete all custom AI training data and reset to defaults.</p>
</div>
<button type="button" class="mt-4 md:mt-0 bg-white border border-red-600 text-red-600 hover:bg-red-50 px-5 py-2.5 rounded-lg font-medium transition-colors">
Reset Data
</button>
</div>
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mt-6">
<div>
<h3 class="font-bold text-red-800">Delete Account</h3>
<p class="text-red-700 text-sm mt-1">Permanently delete your account and all associated data.</p>
</div>
<button type="button" class="mt-4 md:mt-0 bg-red-600 hover:bg-red-700 text-white px-5 py-2.5 rounded-lg font-medium transition-colors">
Delete Account
</button>
</div>
</div>
</div>
<!-- Save Button -->
<div class="flex justify-end mt-10">
<button type="submit" class="bg-blue-600 hover:bg-blue-700 text-white px-8 py-3 rounded-lg font-semibold shadow-lg hover:shadow-xl transition-all duration-300 flex items-center">
<i data-feather="save" class="w-5 h-5 mr-2"></i>
Save Changes
</button>
</div>
</form>
</div>
</div>
</div>
</main>
<custom-footer></custom-footer>
<script src="components/navbar.js"></script>
<script src="components/sidebar.js"></script>
<script src="components/footer.js"></script>
<script src="script.js"></script>
<script>
feather.replace();
// Update active state in sidebar
document.addEventListener('DOMContentLoaded', function() {
const sidebarLinks = document.querySelector('custom-sidebar').shadowRoot.querySelectorAll('.menu-item');
sidebarLinks.forEach(link => {
link.classList.remove('active');
if (link.textContent.includes('Settings')) {
link.classList.add('active');
}
});
// Form submission handler
const form = document.getElementById('settings-form');
if (form) {
form.addEventListener('submit', function(e) {
e.preventDefault();
// Show success notification
if (window.App && window.App.showNotification) {
window.App.showNotification('Settings saved successfully!', 'success');
}
});
}
});
</script>
</body>
</html> |