sleeksettings-revamp / index.html
NiNiyas's picture
<div id="section-user" class="settings-section">
991b5ab verified
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>User Settings | SleekSettings</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.css" rel="stylesheet" type="text/css" />
<script src="https://unpkg.com/feather-icons"></script>
<style>
.settings-section {
transition: all 0.3s ease;
}
.avatar-upload:hover .avatar-preview {
transform: scale(1.05);
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}
.floating-label {
transform: translateY(-50%);
background: white;
padding: 0 0.5rem;
}
</style>
</head>
<body class="bg-base-200 min-h-screen">
<div class="container mx-auto px-4 py-8 max-w-4xl">
<div class="settings-section bg-white rounded-xl shadow-lg overflow-hidden border border-base-300">
<!-- Header -->
<div class="bg-gradient-to-r from-primary to-primary-focus px-6 py-4">
<div class="flex items-center justify-between">
<h2 class="text-2xl font-bold text-white flex items-center gap-2">
<i data-feather="user" class="w-5 h-5"></i>
User Settings
</h2>
<div class="badge badge-accent badge-lg">Profile</div>
</div>
</div>
<div class="p-6">
<!-- Profile Information -->
<div class="mb-10">
<div class="flex items-center mb-6">
<div class="w-1 h-8 bg-primary rounded-full mr-3"></div>
<h3 class="text-xl font-semibold">Profile Information</h3>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- Username -->
<div class="form-control">
<div class="relative">
<input type="text" value="NiNiyas" class="input input-bordered w-full peer" readonly />
<label class="absolute left-4 top-0 text-sm text-gray-500 pointer-events-none transition-all duration-200 peer-placeholder-shown:text-base peer-placeholder-shown:text-gray-400 peer-placeholder-shown:top-4">
Username
</label>
</div>
</div>
<!-- Email -->
<div class="form-control">
<div class="relative">
<input type="email" placeholder=" " class="input input-bordered w-full peer" value="user@example.com" />
<label class="absolute left-4 top-0 text-sm text-gray-500 pointer-events-none transition-all duration-200 peer-placeholder-shown:text-base peer-placeholder-shown:text-gray-400 peer-placeholder-shown:top-4">
Email
</label>
</div>
</div>
<!-- Display Name -->
<div class="form-control">
<div class="relative">
<input type="text" value="NiNiyas" class="input input-bordered w-full peer" />
<label class="absolute left-4 top-0 text-sm text-gray-500 pointer-events-none transition-all duration-200 peer-placeholder-shown:text-base peer-placeholder-shown:text-gray-400 peer-placeholder-shown:top-4">
Display Name
</label>
</div>
</div>
<!-- Language -->
<div class="form-control">
<div class="relative">
<select class="select select-bordered w-full peer">
<option value="en" selected>English</option>
<option value="es">Spanish</option>
<option value="fr">French</option>
<option value="de">German</option>
</select>
<label class="absolute left-4 -top-2.5 text-sm text-gray-500 bg-white px-1">
Language
</label>
</div>
</div>
</div>
</div>
<!-- Avatar Section -->
<div class="mb-10">
<div class="flex items-center mb-6">
<div class="w-1 h-8 bg-primary rounded-full mr-3"></div>
<h3 class="text-xl font-semibold">Profile Picture</h3>
</div>
<div class="avatar-upload flex flex-col md:flex-row items-center gap-6">
<div class="avatar-preview relative transition-all duration-300">
<div class="w-24 h-24 rounded-full bg-primary flex items-center justify-center text-white text-3xl font-bold shadow-md">
N
</div>
<div class="absolute -bottom-2 -right-2 bg-accent rounded-full p-1 shadow-lg">
<i data-feather="camera" class="w-4 h-4 text-white"></i>
</div>
</div>
<div class="flex-1">
<div class="space-y-2">
<button class="btn btn-primary btn-outline">
<i data-feather="upload" class="w-4 h-4 mr-2"></i>
Upload New Photo
</button>
<button class="btn btn-ghost btn-sm text-error">
<i data-feather="trash-2" class="w-4 h-4 mr-2"></i>
Remove Photo
</button>
<p class="text-sm text-gray-500">JPG, PNG or GIF (Max 2MB)</p>
</div>
</div>
</div>
</div>
<!-- Action Buttons -->
<div class="flex justify-end gap-3 pt-4 border-t border-base-300">
<button class="btn btn-ghost">Cancel</button>
<button class="btn btn-primary gap-2">
<i data-feather="save" class="w-4 h-4"></i>
Save Changes
</button>
</div>
</div>
</div>
</div>
<script>
feather.replace();
// Floating label functionality
document.querySelectorAll('.form-control input, .form-control select').forEach(input => {
if(input.value) {
input.previousElementSibling.classList.add('!top-0', '!text-sm');
}
input.addEventListener('focus', () => {
input.previousElementSibling.classList.add('!top-0', '!text-sm');
});
input.addEventListener('blur', () => {
if(!input.value) {
input.previousElementSibling.classList.remove('!top-0', '!text-sm');
}
});
});
</script>
</body>
</html>