myvirtualpal-vrmate / settings.html
thymogul's picture
this button isnt working
437994a verified
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Settings - MyVirtualPal</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
}
.gradient-bg {
background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
}
.settings-card {
background: rgba(30, 41, 59, 0.7);
backdrop-filter: blur(10px);
}
</style>
</head>
<body class="gradient-bg text-gray-100 min-h-screen">
<div class="container mx-auto py-8 px-4">
<!-- Header -->
<header class="flex justify-between items-center mb-8">
<div class="flex items-center space-x-3">
<a href="index.html" class="p-2 rounded-full hover:bg-gray-800 transition">
<i data-feather="arrow-left"></i>
</a>
<h1 class="text-2xl font-bold">Settings</h1>
</div>
<div>
<button class="p-2 rounded-full hover:bg-gray-800 transition">
<i data-feather="save"></i>
</button>
</div>
</header>
<!-- Settings Cards -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- VRM Model Settings -->
<div class="settings-card rounded-xl p-6 shadow-lg">
<div class="flex items-center justify-between mb-4">
<h2 class="text-lg font-semibold flex items-center space-x-2">
<i data-feather="user" class="w-5 h-5"></i>
<span>VRM Model</span>
</h2>
<button class="text-indigo-400 hover:text-indigo-300">
<i data-feather="refresh-cw" class="w-5 h-5"></i>
</button>
</div>
<div class="space-y-4">
<div>
<label class="block text-sm font-medium mb-1">Model File</label>
<div class="flex space-x-2">
<input type="text" placeholder="Select VRM file..." class="flex-1 bg-gray-800 border border-gray-700 rounded-lg py-2 px-3 focus:outline-none focus:ring-2 focus:ring-indigo-500">
<button class="bg-gray-800 hover:bg-gray-700 text-white rounded-lg px-4 transition hovered-element" data-click-bound="true">
Browse
</button>
</div>
</div>
<div>
<label class="block text-sm font-medium mb-1">Model Scale</label>
<input type="range" min="0.5" max="2" step="0.1" value="1" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
</div>
<div>
<label class="block text-sm font-medium mb-1">Animation</label>
<select class="w-full bg-gray-800 border border-gray-700 rounded-lg py-2 px-3 focus:outline-none focus:ring-2 focus:ring-indigo-500">
<option>Idle</option>
<option>Happy</option>
<option>Thoughtful</option>
<option>Listening</option>
</select>
</div>
</div>
</div>
<!-- AI Settings -->
<div class="settings-card rounded-xl p-6 shadow-lg">
<div class="flex items-center justify-between mb-4">
<h2 class="text-lg font-semibold flex items-center space-x-2">
<i data-feather="cpu" class="w-5 h-5"></i>
<span>AI Configuration</span>
</h2>
<button class="text-indigo-400 hover:text-indigo-300">
<i data-feather="info" class="w-5 h-5"></i>
</button>
</div>
<div class="space-y-4">
<div>
<label class="block text-sm font-medium mb-1">Personality</label>
<select class="w-full bg-gray-800 border border-gray-700 rounded-lg py-2 px-3 focus:outline-none focus:ring-2 focus:ring-indigo-500">
<option>Friendly</option>
<option>Professional</option>
<option>Casual</option>
<option>Humorous</option>
</select>
</div>
<div>
<label class="flex items-center space-x-2">
<input type="checkbox" class="rounded bg-gray-800 border-gray-700 text-indigo-600 focus:ring-indigo-500">
<span class="text-sm">Enable Voice Responses</span>
</label>
</div>
<div>
<label class="flex items-center space-x-2">
<input type="checkbox" class="rounded bg-gray-800 border-gray-700 text-indigo-600 focus:ring-indigo-500" checked>
<span class="text-sm">Enable Local Processing</span>
</label>
</div>
</div>
</div>
<!-- Appearance -->
<div class="settings-card rounded-xl p-6 shadow-lg">
<div class="flex items-center justify-between mb-4">
<h2 class="text-lg font-semibold flex items-center space-x-2">
<i data-feather="eye" class="w-5 h-5"></i>
<span>Appearance</span>
</h2>
</div>
<div class="space-y-4">
<div>
<label class="block text-sm font-medium mb-1">Theme</label>
<div class="flex space-x-2">
<button class="flex-1 py-2 px-3 rounded-lg border border-gray-700 bg-gray-800">
Dark
</button>
<button class="flex-1 py-2 px-3 rounded-lg border border-gray-700 hover:bg-gray-800">
Light
</button>
<button class="flex-1 py-2 px-3 rounded-lg border border-gray-700 hover:bg-gray-800">
System
</button>
</div>
</div>
<div>
<label class="block text-sm font-medium mb-1">Accent Color</label>
<div class="grid grid-cols-5 gap-2">
<button class="h-8 rounded-full bg-indigo-600 border-2 border-indigo-400"></button>
<button class="h-8 rounded-full bg-blue-600"></button>
<button class="h-8 rounded-full bg-green-600"></button>
<button class="h-8 rounded-full bg-yellow-600"></button>
<button class="h-8 rounded-full bg-red-600"></button>
</div>
</div>
</div>
</div>
<!-- System -->
<div class="settings-card rounded-xl p-6 shadow-lg">
<div class="flex items-center justify-between mb-4">
<h2 class="text-lg font-semibold flex items-center space-x-2">
<i data-feather="settings" class="w-5 h-5"></i>
<span>System</span>
</h2>
</div>
<div class="space-y-4">
<div>
<label class="block text-sm font-medium mb-1">Performance Mode</label>
<select class="w-full bg-gray-800 border border-gray-700 rounded-lg py-2 px-3 focus:outline-none focus:ring-2 focus:ring-indigo-500">
<option>Balanced</option>
<option>Performance</option>
<option>Battery Saver</option>
</select>
</div>
<div>
<label class="block text-sm font-medium mb-1">Resource Usage</label>
<div class="bg-gray-800 rounded-lg p-3 text-sm">
<div class="flex justify-between mb-1">
<span>CPU</span>
<span>12%</span>
</div>
<div class="w-full bg-gray-700 rounded-full h-1.5">
<div class="bg-indigo-600 h-1.5 rounded-full" style="width: 12%"></div>
</div>
<div class="flex justify-between mt-3 mb-1">
<span>GPU</span>
<span>24%</span>
</div>
<div class="w-full bg-gray-700 rounded-full h-1.5">
<div class="bg-indigo-600 h-1.5 rounded-full" style="width: 24%"></div>
</div>
<div class="flex justify-between mt-3 mb-1">
<span>Memory</span>
<span>1.2GB / 8GB</span>
</div>
<div class="w-full bg-gray-700 rounded-full h-1.5">
<div class="bg-indigo-600 h-1.5 rounded-full" style="width: 15%"></div>
</div>
</div>
</div>
<button class="w-full mt-4 py-2 bg-indigo-600 hover:bg-indigo-700 text-white rounded-lg transition">
Show Advanced Settings
</button>
</div>
</div>
</div>
</div>
<script>
// Initialize Feather Icons
feather.replace();
// Add event handlers to all interactive elements
document.querySelectorAll('button, input[type="checkbox"], select, input[type="range"]').forEach(element => {
if (!element.hasAttribute('data-click-bound')) {
element.addEventListener('click', (e) => {
e.preventDefault();
if (element.tagName === 'BUTTON') {
// Handle theme buttons
if (element.parentElement.classList.contains('flex') &&
element.parentElement.classList.contains('space-x-2')) {
element.parentElement.querySelectorAll('button').forEach(btn => {
btn.classList.remove('bg-gray-800');
btn.classList.add('hover:bg-gray-800');
});
element.classList.add('bg-gray-800');
element.classList.remove('hover:bg-gray-800');
return;
}
// Handle color buttons
if (element.parentElement.classList.contains('grid') &&
element.parentElement.classList.contains('grid-cols-5')) {
element.parentElement.querySelectorAll('button').forEach(btn => {
btn.classList.remove('border-2', 'border-indigo-400');
});
element.classList.add('border-2', 'border-indigo-400');
return;
}
// Handle other buttons
alert(`Button clicked: ${element.querySelector('i')?.getAttribute('data-feather') || 'Settings action'}`);
}
});
element.setAttribute('data-click-bound', 'true');
}
});
</script>
</body>
</html>