tre / index.html
protae5544's picture
undefined - Initial Deployment
375bfce verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elegant Profile Page</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
<style>
.divider {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.profile-shadow {
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
</style>
</head>
<body class="bg-white font-sans antialiased">
<div class="max-w-4xl mx-auto p-4">
<!-- Logo Section -->
<div class="flex justify-center mb-8">
<img src="https://via.placeholder.com/200x80?text=LOGO" alt="Company Logo" class="h-20">
</div>
<!-- Section 1: Header Bar -->
<div class="bg-gray-800 p-4 rounded-t-lg shadow-md opacity-95">
<div class="flex items-center justify-between">
<div class="text-white text-2xl font-bold tracking-wider">PROFILE</div>
<div class="text-white text-sm">EST. 2023</div>
</div>
</div>
<!-- Section 2: Profile Image -->
<div class="bg-white p-8 flex justify-center items-center">
<div class="w-64 h-80 md:w-72 md:h-96 relative overflow-hidden rounded-lg profile-shadow">
<img src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60"
alt="Profile Image"
class="w-full h-full object-cover object-center">
<div class="absolute inset-0 bg-black bg-opacity-10"></div>
</div>
</div>
<!-- Section 3: Information Section -->
<div class="bg-white p-6 rounded-lg profile-shadow opacity-95">
<div id="profile-info" class="space-y-6">
<!-- Data will be populated from JSON -->
</div>
</div>
<!-- Section 4: Footer -->
<div class="bg-gray-800 p-6 rounded-b-lg mt-4 profile-shadow opacity-95">
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="text-center md:text-left">
<h3 class="font-semibold text-white mb-3">Contact Info</h3>
<p class="text-gray-300"><i class="fas fa-map-marker-alt mr-2"></i> 123 Main St, City</p>
<p class="text-gray-300"><i class="fas fa-phone-alt mr-2"></i> (123) 456-7890</p>
<p class="text-gray-300"><i class="fas fa-envelope mr-2"></i> [email protected]</p>
</div>
<div class="text-center md:text-right">
<h3 class="font-semibold text-white mb-3">Quick Links</h3>
<p class="text-gray-300 hover:text-white cursor-pointer">About Us</p>
<p class="text-gray-300 hover:text-white cursor-pointer">Services</p>
<p class="text-gray-300 hover:text-white cursor-pointer">Contact</p>
</div>
</div>
<div class="mt-6 text-center text-gray-400 text-sm">
&copy; 2023 Your Company. All rights reserved.
</div>
</div>
</div>
<script>
// JSON data for profile information
// Easy-to-edit profile data structure
const profileData = {
"basic": {
"title": "Basic Information",
"items": [
{"label": "Name", "value": "John Doe"},
{"label": "Position", "value": "Senior Developer"},
{"label": "Experience", "value": "8+ Years"},
{"label": "Location", "value": "Bangkok, Thailand"}
]
},
"details": {
"title": "Professional Details",
"items": [
{"label": "Specialization", "value": "Web Development"},
{"label": "Technologies", "value": "JavaScript, React, Node.js"},
{"label": "Education", "value": "MSc Computer Science"},
{"label": "Availability", "value": "Full-time"}
]
}
};
// Function to populate profile information
function populateProfileInfo() {
const container = document.getElementById('profile-info');
for (const [key, section] of Object.entries(profileData)) {
// Create section container
const sectionDiv = document.createElement('div');
sectionDiv.className = 'divider pb-6 last:border-0 last:pb-0';
// Create section title
const title = document.createElement('h2');
title.className = 'text-xl font-bold text-gray-800 mb-4';
title.textContent = section.title;
sectionDiv.appendChild(title);
// Create items grid
const itemsGrid = document.createElement('div');
itemsGrid.className = 'grid grid-cols-1 md:grid-cols-2 gap-4';
// Add items
section.items.forEach(item => {
const itemDiv = document.createElement('div');
itemDiv.className = 'flex flex-col md:flex-row';
const label = document.createElement('span');
label.className = 'text-gray-600 font-medium md:w-1/3';
label.textContent = item.label;
const value = document.createElement('span');
value.className = 'text-gray-800 md:w-2/3';
value.textContent = item.value;
itemDiv.appendChild(label);
itemDiv.appendChild(value);
itemsGrid.appendChild(itemDiv);
});
sectionDiv.appendChild(itemsGrid);
container.appendChild(sectionDiv);
}
}
// Call the function when the page loads
document.addEventListener('DOMContentLoaded', populateProfileInfo);
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=protae5544/tre" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>