life-arc / index.html
bjcstudentCOR's picture
Add 2 files
4d8b56e verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Holistic Life Architecture Dashboard</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<style>
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
.progress-ring {
transform: rotate(-90deg);
}
.progress-ring-circle {
transition: stroke-dashoffset 0.5s;
transform-origin: 50% 50%;
}
.habit-card:hover {
transform: translateY(-4px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.fade-in { animation: fadeIn 0.5s ease-in; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.skill-node {
transition: all 0.3s ease;
}
.skill-node:hover {
transform: scale(1.1);
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.nudge-bubble {
animation: float 3s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-5px); }
}
.quantum-bar {
background: linear-gradient(90deg, #4f46e5 0%, #10b981 50%, #f59e0b 100%);
background-size: 200% 100%;
animation: gradient 2s ease infinite;
}
@keyframes gradient {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
</style>
</head>
<body class="bg-gray-50 font-sans antialiased">
<div class="min-h-screen flex flex-col">
<!-- Header with Ethical AI Badge -->
<header class="bg-gradient-to-r from-indigo-600 to-purple-600 text-white shadow-lg">
<div class="container mx-auto px-4 py-4">
<div class="flex justify-between items-center">
<div class="flex items-center space-x-4">
<div class="relative">
<i class="fas fa-chess-queen text-3xl"></i>
<div class="absolute -bottom-1 -right-2 bg-green-500 text-white text-xs px-1 rounded-full flex items-center">
<span class="mr-1">AI</span>
<i class="fas fa-shield-alt text-xxs"></i>
</div>
</div>
<h1 class="text-2xl font-bold">LifeArchitect<span class="text-xs font-normal ml-2 bg-black bg-opacity-20 px-2 py-1 rounded-full">v2.3</span></h1>
</div>
<div class="flex items-center space-x-4">
<div class="relative group">
<div class="w-10 h-10 rounded-full bg-indigo-500 flex items-center justify-center cursor-pointer hover:bg-indigo-700 transition">
<i class="fas fa-user text-white"></i>
</div>
<span class="absolute -top-2 -right-2 bg-yellow-400 text-xs font-bold rounded-full h-5 w-5 flex items-center justify-center">3</span>
<div class="absolute right-0 mt-2 w-64 bg-white rounded-lg shadow-xl z-50 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300">
<div class="p-4">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center mr-3">
<i class="fas fa-user-astronaut text-indigo-600"></i>
</div>
<div>
<p class="font-medium text-gray-900">Architect</p>
<p class="text-xs text-gray-500">Level 7 Life Designer</p>
</div>
</div>
<div class="border-t border-gray-200 pt-3">
<a href="#" class="block px-2 py-1 text-sm text-gray-700 hover:bg-gray-100 rounded"><i class="fas fa-cog mr-2 text-gray-500"></i> Settings</a>
<a href="#" class="block px-2 py-1 text-sm text-gray-700 hover:bg-gray-100 rounded"><i class="fas fa-lock mr-2 text-gray-500"></i> Privacy Center</a>
<a href="#" class="block px-2 py-1 text-sm text-gray-700 hover:bg-gray-100 rounded"><i class="fas fa-sign-out-alt mr-2 text-gray-500"></i> Sign out</a>
</div>
</div>
</div>
</div>
<button class="bg-indigo-700 hover:bg-indigo-800 px-4 py-2 rounded-lg flex items-center space-x-2 transition group">
<span>Level Up</span>
<i class="fas fa-arrow-up group-hover:animate-bounce"></i>
</button>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<main class="flex-grow container mx-auto px-4 py-8">
<div class="grid grid-cols-1 lg:grid-cols-4 gap-8">
<!-- Left Sidebar - User Profile & Quick Access -->
<div class="lg:col-span-1 space-y-6">
<!-- User Profile with Ethical AI Consent -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex flex-col items-center">
<div class="relative mb-4">
<div class="w-24 h-24 rounded-full bg-indigo-100 flex items-center justify-center mb-2">
<i class="fas fa-user-astronaut text-indigo-600 text-4xl"></i>
</div>
<div class="absolute -bottom-2 -right-2 bg-green-500 text-white rounded-full p-1">
<i class="fas fa-bolt text-xs"></i>
</div>
</div>
<h2 class="text-xl font-bold">Architect</h2>
<p class="text-gray-500 text-sm">Level 7 Life Designer</p>
<!-- Quantum Progress Bar -->
<div class="w-full mt-4">
<div class="flex justify-between text-xs text-gray-500 mb-1">
<span>XP: 2,450/3,000</span>
<span>82%</span>
</div>
<div class="w-full h-2 rounded-full overflow-hidden">
<div class="quantum-bar h-2 rounded-full" style="width: 82%"></div>
</div>
</div>
<!-- Ethical AI Consent -->
<div class="mt-4 text-center">
<div class="text-xs text-gray-500 mb-1 flex items-center justify-center">
<i class="fas fa-shield-alt mr-1"></i>
<span>Ethical AI Mode: Active</span>
</div>
<button class="text-xs bg-gray-100 hover:bg-gray-200 px-3 py-1 rounded-full flex items-center mx-auto">
<span>View Data Permissions</span>
<i class="fas fa-chevron-right ml-1 text-xs"></i>
</button>
</div>
</div>
</div>
<!-- Daily Quest with Hyperbolic Discounting -->
<div class="bg-white rounded-xl shadow-md p-6">
<h3 class="font-bold text-lg mb-4 flex items-center">
<i class="fas fa-scroll text-yellow-500 mr-2"></i>
Today's Quest
</h3>
<div class="bg-yellow-50 rounded-lg p-4 mb-4 relative overflow-hidden">
<div class="absolute top-0 right-0 bg-yellow-100 text-yellow-800 text-xs px-2 py-1 rounded-bl-lg">Time-sensitive</div>
<h4 class="font-semibold text-yellow-800">Morning Momentum</h4>
<p class="text-sm text-yellow-700">Complete your morning routine before 8am</p>
<div class="flex justify-between items-center mt-2">
<div>
<span class="text-xs font-bold text-yellow-800">+150 XP</span>
<span class="text-xs text-yellow-600 ml-2"><i class="fas fa-clock mr-1"></i>2h 15m left</span>
</div>
<button class="text-xs bg-yellow-100 hover:bg-yellow-200 text-yellow-800 px-2 py-1 rounded flex items-center">
<span>Track</span>
<i class="fas fa-play ml-1 text-xs"></i>
</button>
</div>
</div>
<div class="text-center">
<button class="text-indigo-600 hover:text-indigo-800 text-sm font-medium flex items-center justify-center mx-auto">
<span>View All Quests</span>
<i class="fas fa-chevron-right ml-1"></i>
</button>
</div>
</div>
<!-- Skill Tree Visualization -->
<div class="bg-white rounded-xl shadow-md p-6">
<h3 class="font-bold text-lg mb-4 flex items-center">
<i class="fas fa-project-diagram text-purple-500 mr-2"></i>
Skill Tree
</h3>
<div class="space-y-3">
<div>
<div class="flex justify-between mb-1">
<span class="text-sm font-medium">Productivity</span>
<span class="text-xs text-gray-500">Lvl 5</span>
</div>
<div class="w-full bg-gray-200 rounded-full h-2">
<div class="bg-purple-500 h-2 rounded-full" style="width: 70%"></div>
</div>
</div>
<div>
<div class="flex justify-between mb-1">
<span class="text-sm font-medium">Wellness</span>
<span class="text-xs text-gray-500">Lvl 4</span>
</div>
<div class="w-full bg-gray-200 rounded-full h-2">
<div class="bg-blue-500 h-2 rounded-full" style="width: 60%"></div>
</div>
</div>
<div>
<div class="flex justify-between mb-1">
<span class="text-sm font-medium">Relationships</span>
<span class="text-xs text-gray-500">Lvl 3</span>
</div>
<div class="w-full bg-gray-200 rounded-full h-2">
<div class="bg-pink-500 h-2 rounded-full" style="width: 40%"></div>
</div>
</div>
</div>
<div class="mt-4 grid grid-cols-3 gap-2">
<div class="skill-node bg-purple-50 text-purple-800 p-2 rounded-lg text-center cursor-pointer">
<i class="fas fa-clock text-sm mb-1"></i>
<p class="text-xs">Time Mgmt</p>
</div>
<div class="skill-node bg-blue-50 text-blue-800 p-2 rounded-lg text-center cursor-pointer">
<i class="fas fa-heartbeat text-sm mb-1"></i>
<p class="text-xs">Sleep</p>
</div>
<div class="skill-node bg-pink-50 text-pink-800 p-2 rounded-lg text-center cursor-pointer">
<i class="fas fa-users text-sm mb-1"></i>
<p class="text-xs">Networking</p>
</div>
</div>
</div>
</div>
<!-- Main Dashboard - Life Architecture -->
<div class="lg:col-span-2 space-y-6">
<!-- Progress Overview with OODA Loop -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex justify-between items-center mb-6">
<h2 class="text-xl font-bold">Life Architecture</h2>
<div class="flex space-x-2">
<button class="px-3 py-1 bg-gray-100 hover:bg-gray-200 rounded-lg text-sm">Day</button>
<button class="px-3 py-1 bg-indigo-100 hover:bg-indigo-200 text-indigo-700 rounded-lg text-sm">Week</button>
<button class="px-3 py-1 bg-gray-100 hover:bg-gray-200 rounded-lg text-sm">Month</button>
</div>
</div>
<!-- OODA Loop Visualization -->
<div class="mb-6 p-4 bg-gray-50 rounded-lg">
<h3 class="font-semibold mb-3 flex items-center">
<i class="fas fa-sync-alt text-indigo-500 mr-2"></i>
OODA Cycle Status
</h3>
<div class="flex justify-around items-center">
<div class="text-center">
<div class="w-12 h-12 bg-indigo-100 rounded-full flex items-center justify-center mx-auto mb-2">
<i class="fas fa-eye text-indigo-600"></i>
</div>
<p class="text-xs font-medium">Observe</p>
<div class="w-2 h-2 bg-green-500 rounded-full mx-auto mt-1"></div>
</div>
<div class="text-center">
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2">
<i class="fas fa-brain text-blue-600"></i>
</div>
<p class="text-xs font-medium">Orient</p>
<div class="w-2 h-2 bg-yellow-500 rounded-full mx-auto mt-1"></div>
</div>
<div class="text-center">
<div class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mx-auto mb-2">
<i class="fas fa-chess text-purple-600"></i>
</div>
<p class="text-xs font-medium">Decide</p>
<div class="w-2 h-2 bg-green-500 rounded-full mx-auto mt-1"></div>
</div>
<div class="text-center">
<div class="w-12 h-12 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-2">
<i class="fas fa-bolt text-green-600"></i>
</div>
<p class="text-xs font-medium">Act</p>
<div class="w-2 h-2 bg-yellow-500 rounded-full mx-auto mt-1"></div>
</div>
</div>
</div>
<!-- Quantified Self Metrics -->
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6">
<div class="bg-indigo-50 rounded-lg p-4 text-center hover:bg-indigo-100 transition cursor-pointer">
<div class="text-indigo-600 mb-2">
<i class="fas fa-fire-alt text-2xl"></i>
</div>
<h3 class="font-bold">14</h3>
<p class="text-xs text-gray-500">Day Streak</p>
</div>
<div class="bg-green-50 rounded-lg p-4 text-center hover:bg-green-100 transition cursor-pointer">
<div class="text-green-600 mb-2">
<i class="fas fa-check-circle text-2xl"></i>
</div>
<h3 class="font-bold">87%</h3>
<p class="text-xs text-gray-500">Completion</p>
</div>
<div class="bg-yellow-50 rounded-lg p-4 text-center hover:bg-yellow-100 transition cursor-pointer">
<div class="text-yellow-600 mb-2">
<i class="fas fa-star text-2xl"></i>
</div>
<h3 class="font-bold">3.8</h3>
<p class="text-xs text-gray-500">Avg. Rating</p>
</div>
<div class="bg-purple-50 rounded-lg p-4 text-center hover:bg-purple-100 transition cursor-pointer">
<div class="text-purple-600 mb-2">
<i class="fas fa-trophy text-2xl"></i>
</div>
<h3 class="font-bold">Top 15%</h3>
<p class="text-xs text-gray-500">Ranking</p>
</div>
</div>
<!-- Habit Tracker with Failure Recovery -->
<div class="mb-6">
<div class="flex justify-between items-center mb-4">
<h3 class="font-semibold flex items-center">
<i class="fas fa-redo-alt text-indigo-500 mr-2"></i>
Habit Cycles
</h3>
<button class="text-indigo-600 hover:text-indigo-800 text-sm font-medium flex items-center">
<span>Add Recovery Plan</span>
<i class="fas fa-plus-circle ml-1"></i>
</button>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="habit-card bg-white border border-gray-200 rounded-lg p-4 transition cursor-pointer">
<div class="flex justify-between items-start mb-2">
<div>
<h4 class="font-medium">Morning Routine</h4>
<p class="text-xs text-gray-500">7:00 AM</p>
</div>
<span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">Active</span>
</div>
<div class="flex justify-between items-center">
<div class="flex space-x-1">
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
</div>
<button class="text-indigo-600 text-xs font-medium">Details</button>
</div>
<!-- Failure Recovery Nudge -->
<div class="mt-2 bg-blue-50 border border-blue-100 rounded p-2 text-xs text-blue-800 flex items-start">
<i class="fas fa-lightbulb mr-2 mt-0.5"></i>
<span>Missed yesterday? Try a 5-minute mini-routine to get back on track.</span>
</div>
</div>
<div class="habit-card bg-white border border-gray-200 rounded-lg p-4 transition cursor-pointer">
<div class="flex justify-between items-start mb-2">
<div>
<h4 class="font-medium">Deep Work</h4>
<p class="text-xs text-gray-500">9:00 AM</p>
</div>
<span class="bg-yellow-100 text-yellow-800 text-xs px-2 py-1 rounded">Pending</span>
</div>
<div class="flex justify-between items-center">
<div class="flex space-x-1">
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
</div>
<button class="text-indigo-600 text-xs font-medium">Details</button>
</div>
</div>
<div class="habit-card bg-white border border-gray-200 rounded-lg p-4 transition cursor-pointer">
<div class="flex justify-between items-start mb-2">
<div>
<h4 class="font-medium">Evening Review</h4>
<p class="text-xs text-gray-500">9:00 PM</p>
</div>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Scheduled</span>
</div>
<div class="flex justify-between items-center">
<div class="flex space-x-1">
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
</div>
<button class="text-indigo-600 text-xs font-medium">Details</button>
</div>
</div>
<div class="habit-card bg-white border border-gray-200 rounded-lg p-4 transition cursor-pointer">
<div class="flex justify-between items-start mb-2">
<div>
<h4 class="font-medium">Weekly Planning</h4>
<p class="text-xs text-gray-500">Sundays</p>
</div>
<span class="bg-purple-100 text-purple-800 text-xs px-2 py-1 rounded">New</span>
</div>
<div class="flex justify-between items-center">
<div class="flex space-x-1">
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
<div class="w-3 h-3 rounded-full bg-gray-300"></div>
</div>
<button class="text-indigo-600 text-xs font-medium">Setup</button>
</div>
</div>
</div>
</div>
<!-- Life Balance Wheel with Circadian Anchoring -->
<div>
<div class="flex justify-between items-center mb-4">
<h3 class="font-semibold flex items-center">
<i class="fas fa-chart-pie text-blue-500 mr-2"></i>
Life Balance
</h3>
<div class="flex items-center">
<i class="fas fa-moon text-gray-400 mr-1 text-xs"></i>
<span class="text-xs text-gray-500 mr-2">22:30</span>
<div class="relative">
<div class="w-4 h-4 rounded-full bg-blue-500"></div>
<div class="absolute -bottom-1 -right-1 w-2 h-2 rounded-full bg-green-500 border-2 border-white"></div>
</div>
<span class="text-xs text-gray-500 ml-2">06:30</span>
<i class="fas fa-sun text-yellow-400 ml-1 text-xs"></i>
</div>
</div>
<div class="flex justify-center">
<div class="relative w-64 h-64">
<canvas id="wheelChart" width="256" height="256"></canvas>
<div class="absolute inset-0 flex items-center justify-center">
<div class="text-center">
<p class="text-xs text-gray-500">Current</p>
<p class="text-xl font-bold">7.2</p>
<p class="text-xs text-gray-500">Balance Score</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Right Sidebar - AI Insights & Actions -->
<div class="lg:col-span-1 space-y-6">
<!-- AI Nudges with Behavioral Triggers -->
<div class="bg-white rounded-xl shadow-md p-6">
<div class="flex justify-between items-center mb-4">
<h3 class="font-bold text-lg flex items-center">
<i class="fas fa-robot text-indigo-500 mr-2"></i>
AI Coach
</h3>
<div class="flex items-center text-xs text-gray-500">
<i class="fas fa-shield-alt mr-1"></i>
<span>Ethical Mode</span>
</div>
</div>
<div class="space-y-3">
<!-- Nudge Bubble with Hyperbolic Discounting -->
<div class="nudge-bubble bg-indigo-50 border border-indigo-100 rounded-lg p-4">
<div class="flex items-start">
<div class="bg-indigo-100 text-indigo-600 p-2 rounded-full mr-3">
<i class="fas fa-bolt"></i>
</div>
<div>
<h4 class="font-medium text-indigo-800">Energy Boost Opportunity</h4>
<p class="text-sm text-indigo-700 mb-2">Your historical data shows high productivity after short breaks now.</p>
<div class="flex justify-between items-center">
<span class="text-xs text-indigo-600">+5 XP for trying</span>
<div class="flex space-x-2">
<button class="text-xs bg-indigo-100 hover:bg-indigo-200 text-indigo-800 px-2 py-1 rounded">Later</button>
<button class="text-xs bg-indigo-600 hover:bg-indigo-700 text-white px-2 py-1 rounded">Try Now</button>
</div>
</div>
</div>
</div>
</div>
<!-- Contextual Nudge -->
<div class="nudge-bubble bg-green-50 border border-green-100 rounded-lg p-4">
<div class="flex items-start">
<div class="bg-green-100 text-green-600 p-2 rounded-full mr-3">
<i class="fas fa-leaf"></i>
</div>
<div>
<h4 class="font-medium text-green-800">Mindful Moment</h4>
<p class="text-sm text-green-700 mb-2">You've been working for 52 minutes. Time for a breathing exercise?</p>
<div class="flex justify-between items-center">
<span class="text-xs text-green-600">+10 XP</span>
<div class="flex space-x-2">
<button class="text-xs bg-green-100 hover:bg-green-200 text-green-800 px-2 py-1 rounded">Skip</button>
<button class="text-xs bg-green-600 hover:bg-green-700 text-white px-2 py-1 rounded">Start</button>
</div>
</div>
</div>
</div>
</div>
<!-- Failure Recovery Nudge -->
<div class="nudge-bubble bg-yellow-50 border border-yellow-100 rounded-lg p-4">
<div class="flex items-start">
<div class="bg-yellow-100 text-yellow-600 p-2 rounded-full mr-3">
<i class="fas fa-hand-holding-heart"></i>
</div>
<div>
<h4 class="font-medium text-yellow-800">Compassionate Reminder</h4>
<p class="text-sm text-yellow-700 mb-2">You missed your evening routine yesterday. Want to try a 2-minute version today?</p>
<div class="flex justify-between items-center">
<span class="text-xs text-yellow-600">Streak saver available</span>
<div class="flex space-x-2">
<button class="text-xs bg-yellow-100 hover:bg-yellow-200 text-yellow-800 px-2 py-1 rounded">No</button>
<button class="text-xs bg-yellow-600 hover:bg-yellow-700 text-white px-2 py-1 rounded">Yes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Evidence-Based Recommendations -->
<div class="bg-white rounded-xl shadow-md p-6">
<h3 class="font-bold text-lg mb-4 flex items-center">
<i class="fas fa-flask text-purple-500 mr-2"></i>
Evidence Lab
</h3>
<div class="space-y-4">
<div class="flex items-start p-3 bg-blue-50 rounded-lg border border-blue-100">
<div class="bg-blue-100 text-blue-600 p-2 rounded mr-3">
<i class="fas fa-book"></i>
</div>
<div>
<p class="text-sm font-medium">Based on 12 studies</p>
<p class="text-xs text-blue-700">Morning sunlight exposure improves circadian rhythm by 73%</p>
</div>
</div>
<div class="flex items-start p-3 bg-green-50 rounded-lg border border-green-100">
<div class="bg-green-100 text-green-600 p-2 rounded mr-3">
<i class="fas fa-chart-line"></i>
</div>
<div>
<p class="text-sm font-medium">Your data trend</p>
<p class="text-xs text-green-700">Productivity peaks between 9:30-11:45am (82% success rate)</p>
</div>
</div>
<div class="flex items-start p-3 bg-purple-50 rounded-lg border border-purple-100">
<div class="bg-purple-100 text-purple-600 p-2 rounded mr-3">
<i class="fas fa-users"></i>
</div>
<div>
<p class="text-sm font-medium">Community finding</p>
<p class="text-xs text-purple-700">Top performers average 7.3h sleep (you're at 6.2h this week)</p>
</div>
</div>
</div>
<div class="mt-4 text-center">
<button class="text-indigo-600 hover:text-indigo-800 text-sm font-medium flex items-center justify-center mx-auto">
<span>View Research</span>
<i class="fas fa-external-link-alt ml-1 text-xs"></i>
</button>
</div>
</div>
<!-- Quick Actions with GDPR Compliance -->
<div class="bg-white rounded-xl shadow-md p-6">
<h3 class="font-bold text-lg mb-4 flex items-center">
<i class="fas fa-bolt text-orange-500 mr-2"></i>
Quick Actions
</h3>
<div class="grid grid-cols-2 gap-3">
<button class="bg-indigo-50 hover:bg-indigo-100 text-indigo-700 p-3 rounded-lg flex flex-col items-center transition">
<i class="fas fa-plus-circle text-xl mb-1"></i>
<span class="text-xs">New Habit</span>
</button>
<button class="bg-green-50 hover:bg-green-100 text-green-700 p-3 rounded-lg flex flex-col items-center transition">
<i class="fas fa-chart-line text-xl mb-1"></i>
<span class="text-xs">Insights</span>
</button>
<button class="bg-purple-50 hover:bg-purple-100 text-purple-700 p-3 rounded-lg flex flex-col items-center transition">
<i class="fas fa-cog text-xl mb-1"></i>
<span class="text-xs">Settings</span>
</button>
<button class="bg-yellow-50 hover:bg-yellow-100 text-yellow-700 p-3 rounded-lg flex flex-col items-center transition">
<i class="fas fa-trophy text-xl mb-1"></i>
<span class="text-xs">Rewards</span>
</button>
</div>
<div class="mt-4 pt-3 border-t border-gray-200 text-center">
<button class="text-xs text-gray-500 hover:text-gray-700 flex items-center justify-center mx-auto">
<i class="fas fa-download mr-1"></i>
<span>Export My Data</span>
</button>
</div>
</div>
</div>
</div>
</main>
<!-- Bottom Navigation (Mobile) -->
<nav class="lg:hidden bg-white border-t border-gray-200 fixed bottom-0 w-full">
<div class="flex justify-around items-center p-3">
<a href="#" class="text-indigo-600 flex flex-col items-center">
<i class="fas fa-home text-xl"></i>
<span class="text-xs mt-1">Home</span>
</a>
<a href="#" class="text-gray-500 flex flex-col items-center">
<i class="fas fa-tasks text-xl"></i>
<span class="text-xs mt-1">Habits</span>
</a>
<a href="#" class="text-gray-500 flex flex-col items-center">
<i class="fas fa-chart-bar text-xl"></i>
<span class="text-xs mt-1">Stats</span>
</a>
<a href="#" class="text-gray-500 flex flex-col items-center">
<i class="fas fa-user text-xl"></i>
<span class="text-xs mt-1">Profile</span>
</a>
</div>
</nav>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Life Balance Wheel Chart
const ctx = document.getElementById('wheelChart').getContext('2d');
const wheelChart = new Chart(ctx, {
type: 'radar',
data: {
labels: ['Health', 'Wealth', 'Relationships', 'Career', 'Growth', 'Fun'],
datasets: [{
data: [8, 7, 6, 9, 7, 5],
backgroundColor: 'rgba(99, 102, 241, 0.2)',
borderColor: 'rgba(99, 102, 241, 1)',
borderWidth: 2,
pointBackgroundColor: 'rgba(99, 102, 241, 1)',
pointRadius: 4
}]
},
options: {
scales: {
r: {
angleLines: {
display: true,
color: 'rgba(0, 0, 0, 0.1)'
},
suggestedMin: 0,
suggestedMax: 10,
ticks: {
display: false,
stepSize: 2
},
grid: {
color: 'rgba(0, 0, 0, 0.05)'
}
}
},
elements: {
line: {
tension: 0.1
}
},
plugins: {
legend: {
display: false
}
}
}
});
// Simulate loading animation
const loadingElements = document.querySelectorAll('.animate-pulse');
setTimeout(() => {
loadingElements.forEach(el => el.classList.remove('animate-pulse'));
}, 2000);
// Habit card interactions
const habitCards = document.querySelectorAll('.habit-card');
habitCards.forEach(card => {
card.addEventListener('click', function() {
this.classList.add('bg-gray-50');
setTimeout(() => {
this.classList.remove('bg-gray-50');
}, 300);
});
});
// Skill node interactions
const skillNodes = document.querySelectorAll('.skill-node');
skillNodes.forEach(node => {
node.addEventListener('click', function() {
this.classList.toggle('ring-2');
this.classList.toggle('ring-offset-2');
this.classList.toggle('ring-indigo-500');
});
});
// Nudge bubble interactions
const nudgeBubbles = document.querySelectorAll('.nudge-bubble');
nudgeBubbles.forEach(bubble => {
bubble.addEventListener('click', function(e) {
if (!e.target.closest('button')) {
this.classList.toggle('ring-2');
this.classList.toggle('ring-offset-2');
this.classList.toggle('ring-indigo-500');
}
});
});
});
// GDPR Compliance Modal
function showGDPRModal() {
const modal = document.createElement('div');
modal.className = 'fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4';
modal.innerHTML = `
<div class="bg-white rounded-lg shadow-xl max-w-md w-full max-h-[90vh] overflow-y-auto">
<div class="p-6">
<div class="flex justify-between items-center mb-4">
<h3 class="text-lg font-bold flex items-center">
<i class="fas fa-shield-alt text-indigo-500 mr-2"></i>
Data Privacy Center
</h3>
<button onclick="this.parentElement.parentElement.parentElement.remove()" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="space-y-4 text-sm text-gray-700">
<p>We prioritize your privacy and data security. Here's how we protect you:</p>
<ul class="list-disc pl-5 space-y-2">
<li>All data is encrypted in transit and at rest</li>
<li>We never sell or share your personal data</li>
<li>You control what data is collected and stored</li>
<li>All AI recommendations are explainable</li>
<li>GDPR-compliant data processing</li>
</ul>
<div class="mt-4 pt-4 border-t border-gray-200">
<div class="flex items-center justify-between mb-3">
<span>Activity Tracking</span>
<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-indigo-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-indigo-600"></div>
</label>
</div>
<div class="flex items-center justify-between">
<span>Personalized AI</span>
<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-indigo-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-indigo-600"></div>
</label>
</div>
</div>
</div>
<div class="mt-6 flex justify-between">
<button class="px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-800 rounded-lg">
Export Data
</button>
<button class="px-4 py-2 bg-indigo-600 hover:bg-indigo-700 text-white rounded-lg">
Save Preferences
</button>
</div>
</div>
</div>
`;
document.body.appendChild(modal);
}
</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=bjcstudentCOR/life-arc" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>