Files
ai-gift-planner-mockup/person.html
Norbert Maciaszek 0357cf2eb7 add first mockup
2025-12-26 23:13:35 +01:00

387 lines
26 KiB
HTML

<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Szczegóły Osoby - Gift Planner</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="styles.css">
<script src="https://unpkg.com/lucide@latest"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="main.js" defer></script>
</head>
<body class="bg-gray-50 min-h-screen">
<div class="flex h-screen overflow-hidden">
<!-- Sidebar (Copy from index.html) -->
<aside class="w-64 bg-white border-r border-gray-200 hidden lg:flex flex-col">
<div class="p-6 flex items-center gap-3">
<div class="w-10 h-10 gradient-bg rounded-xl flex items-center justify-center text-white">
<i data-lucide="gift"></i>
</div>
<h1 class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-indigo-600 to-purple-600">
Gift Planner
</h1>
</div>
<nav class="flex-1 px-4 py-4 space-y-2">
<a href="dashboard.html" class="flex items-center gap-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="layout-dashboard"></i> Dashboard
</a>
<a href="updates.html" class="flex items-center gap-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="bell"></i> Aktualizacje
</a>
<a href="occasions.html" class="flex items-center gap-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="calendar"></i> Okazje
</a>
<a href="persons.html" class="flex items-center gap-3 px-4 py-3 bg-indigo-50 text-indigo-700 rounded-xl font-medium">
<i data-lucide="users"></i> Osoby
</a>
<a href="budget.html" class="flex items-center gap-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="wallet"></i> Budżet
</a>
</nav>
</aside>
<!-- Main Content -->
<main class="flex-1 overflow-y-auto bg-gray-50 p-4 lg:p-8 pb-24 lg:pb-8">
<div class="max-w-5xl mx-auto">
<button onclick="window.history.back()" class="flex items-center gap-2 text-gray-500 hover:text-indigo-600 transition-colors mb-8 font-medium">
<i data-lucide="arrow-left" class="w-4 h-4"></i> Powrót do listy osób
</button>
<!-- Simplified Profile Header -->
<section class="flex flex-col md:flex-row items-center gap-8 mb-12">
<div class="relative">
<div class="w-32 h-32 rounded-[2.5rem] bg-indigo-50 border-4 border-white overflow-hidden shadow-2xl">
<img src="https://ui-avatars.com/api/?name=Mama&background=f0f9ff&color=6366f1&size=256" class="w-full h-full object-cover">
</div>
<button onclick="openModal('modal-edit-person')" class="absolute -bottom-2 -right-2 bg-white p-2 rounded-xl shadow-lg border border-gray-100 text-gray-400 hover:text-indigo-600 transition-all">
<i data-lucide="camera" class="w-4 h-4"></i>
</button>
</div>
<div class="flex-1 text-center md:text-left">
<div class="flex flex-col md:flex-row items-center gap-4 mb-3">
<h2 class="text-4xl font-black text-gray-900">Mama</h2>
<span class="px-4 py-1 bg-indigo-100 text-indigo-700 text-[10px] font-black uppercase tracking-widest rounded-full">Rodzina</span>
</div>
<p class="text-gray-500 font-medium mb-4">"Uwielbia gotować, zajmować się ogrodem i praktykować jogę."</p>
<div class="flex flex-wrap justify-center md:justify-start gap-2">
<span class="px-3 py-1 bg-white border border-gray-200 rounded-lg text-xs font-bold text-gray-400">#kuchnia</span>
<span class="px-3 py-1 bg-white border border-gray-200 rounded-lg text-xs font-bold text-gray-400">#ogród</span>
<span class="px-3 py-1 bg-white border border-gray-200 rounded-lg text-xs font-bold text-gray-400">#wellness</span>
</div>
</div>
<div class="flex gap-3">
<button class="bg-indigo-600 text-white px-8 py-3 rounded-2xl font-bold shadow-xl shadow-indigo-100 hover:opacity-90 transition-all">
Baza Pomysłów
</button>
</div>
</section>
<!-- Personal Dates / Individual Occasions (Actionable) -->
<section class="mb-12">
<div class="flex items-center justify-between mb-6">
<h3 class="text-xl font-black text-gray-900 leading-tight">Mini-Okazje</h3>
<button class="text-xs font-bold text-indigo-600 hover:underline">+ Nowa data</button>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
<!-- Birthday (Actionable) -->
<div class="bg-white p-6 rounded-[2.5rem] border border-gray-100 shadow-sm relative overflow-hidden group hover:border-indigo-300 transition-all flex flex-col justify-between h-48">
<div class="relative z-10">
<div class="flex items-center justify-between mb-4">
<div class="w-12 h-12 bg-pink-50 rounded-2xl flex items-center justify-center text-pink-500">
<i data-lucide="cake" class="w-6 h-6"></i>
</div>
<span class="text-[10px] font-black text-pink-500 bg-pink-50 px-3 py-1 rounded-full uppercase">Za 76 dni</span>
</div>
<p class="text-[10px] font-black text-gray-400 uppercase tracking-widest mb-1">Urodziny</p>
<p class="text-lg font-black text-gray-900 leading-tight">12 Marca</p>
</div>
<button onclick="openModal('modal-add-gift')" class="relative z-10 w-full py-2 bg-gray-50 text-indigo-600 text-xs font-bold rounded-xl border border-indigo-100 hover:bg-indigo-600 hover:text-white transition-all">
Planuj prezent
</button>
<i data-lucide="cake" class="absolute -right-6 -bottom-6 w-32 h-32 text-pink-500 opacity-[0.03] group-hover:scale-110 transition-transform"></i>
</div>
<!-- Mother's Day (Actionable) -->
<div class="bg-white p-6 rounded-[2.5rem] border border-gray-100 shadow-sm relative overflow-hidden group hover:border-indigo-300 transition-all flex flex-col justify-between h-48">
<div class="relative z-10">
<div class="flex items-center justify-between mb-4">
<div class="w-12 h-12 bg-red-50 rounded-2xl flex items-center justify-center text-red-500">
<i data-lucide="heart" class="w-6 h-6"></i>
</div>
<span class="text-[10px] font-black text-gray-400 bg-gray-50 px-3 py-1 rounded-full uppercase">Za 152 dni</span>
</div>
<p class="text-[10px] font-black text-gray-400 uppercase tracking-widest mb-1">Dzień Matki</p>
<p class="text-lg font-black text-gray-900 leading-tight">26 Maja</p>
</div>
<button onclick="openModal('modal-add-gift')" class="relative z-10 w-full py-2 bg-gray-50 text-indigo-600 text-xs font-bold rounded-xl border border-indigo-100 hover:bg-indigo-600 hover:text-white transition-all">
Planuj prezent
</button>
</div>
<!-- Name Day (Actionable) -->
<div class="bg-white p-6 rounded-[2.5rem] border border-gray-100 shadow-sm relative overflow-hidden group hover:border-indigo-300 transition-all flex flex-col justify-between h-48">
<div class="relative z-10">
<div class="flex items-center justify-between mb-4">
<div class="w-12 h-12 bg-indigo-50 rounded-2xl flex items-center justify-center text-indigo-500">
<i data-lucide="star" class="w-6 h-6"></i>
</div>
<span class="text-[10px] font-black text-indigo-500 bg-indigo-50 px-3 py-1 rounded-full uppercase tracking-widest">Wkrótce</span>
</div>
<p class="text-[10px] font-black text-gray-400 uppercase tracking-widest mb-1">Imieniny</p>
<p class="text-lg font-black text-gray-900 leading-tight">24 Sierpnia</p>
</div>
<button onclick="openModal('modal-add-gift')" class="relative z-10 w-full py-2 bg-gray-50 text-indigo-600 text-xs font-bold rounded-xl border border-indigo-100 hover:bg-indigo-600 hover:text-white transition-all">
Planuj prezent
</button>
</div>
<!-- Add New Mini-Occasion -->
<div class="bg-gray-50 border-2 border-dashed border-gray-200 rounded-[2.5rem] flex flex-col items-center justify-center p-6 h-48 cursor-pointer hover:bg-white hover:border-indigo-300 hover:shadow-xl transition-all group">
<div class="w-12 h-12 rounded-2xl bg-white flex items-center justify-center text-gray-300 group-hover:text-indigo-600 group-hover:scale-110 transition-all mb-4 shadow-sm">
<i data-lucide="plus"></i>
</div>
<p class="text-xs font-black text-gray-400 group-hover:text-indigo-600 uppercase tracking-widest transition-colors">Dodaj okazję</p>
</div>
</div>
</section>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-12">
<!-- Left: Gift Planning -->
<div class="lg:col-span-2 space-y-12">
<div>
<div class="flex items-center justify-between mb-8">
<h3 class="text-xl font-black text-gray-900 flex items-center gap-3 leading-tight">
<i data-lucide="calendar-check" class="text-indigo-600"></i> Aktywne prezenty
</h3>
<div class="p-1 bg-white rounded-xl shadow-sm border border-gray-100 flex gap-1">
<button class="px-4 py-1.5 bg-indigo-600 text-white text-[10px] font-black rounded-lg uppercase shadow-lg shadow-indigo-100">Wszystkie</button>
<button class="px-4 py-1.5 text-gray-400 text-[10px] font-black rounded-lg uppercase hover:bg-gray-50">Planowane</button>
</div>
</div>
<!-- Occasion: Christmas 2025 (Global Event) -->
<div class="space-y-6 mb-10">
<div class="flex items-center gap-3">
<div class="w-2 h-2 rounded-full bg-indigo-600"></div>
<span class="text-xs font-black text-indigo-900 uppercase tracking-widest">Boże Narodzenie 2025</span>
<div class="flex-1 h-[1px] bg-indigo-100"></div>
</div>
<div class="grid gap-4">
<div onclick="window.location.href='gift.html'" class="bg-white p-5 rounded-[2rem] border border-gray-100 shadow-sm hover:shadow-xl transition-all cursor-pointer flex items-center gap-6 group">
<div class="w-20 h-20 rounded-2xl overflow-hidden shrink-0 shadow-inner">
<img src="https://images.unsplash.com/photo-1517668808822-9ebb02f2a0e6?auto=format&fit=crop&q=80&w=200" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500">
</div>
<div class="flex-1">
<h4 class="font-black text-gray-900 mb-1">Ekspres Sage Barista</h4>
<p class="text-[10px] font-bold text-gray-400 flex items-center gap-1.5 uppercase">
<i data-lucide="link" class="w-3 h-3"></i> Media Expert
</p>
</div>
<div class="text-right">
<p class="text-xl font-black text-gray-900 mb-1 leading-none">2 499 PLN</p>
<span class="text-[10px] font-black text-white bg-green-500 px-3 py-1 rounded-full uppercase tracking-tighter">Kupiony</span>
</div>
</div>
</div>
</div>
<!-- Occasion: Urodziny (Mini-Occasion Event) -->
<div class="space-y-6">
<div class="flex items-center gap-3">
<div class="w-2 h-2 rounded-full bg-pink-500"></div>
<span class="text-xs font-black text-pink-600 uppercase tracking-widest">Najbliższe Urodziny</span>
<div class="flex-1 h-[1px] bg-pink-100"></div>
</div>
<div class="bg-pink-50/30 p-8 rounded-[2rem] border border-dashed border-pink-200 flex flex-col items-center text-center">
<div class="w-12 h-12 bg-white rounded-2xl flex items-center justify-center text-pink-500 shadow-sm mb-4">
<i data-lucide="package-plus"></i>
</div>
<p class="text-sm font-bold text-pink-900 mb-1">Brak prezentu na Urodziny</p>
<p class="text-xs text-pink-600/70 mb-4 max-w-[200px]">Masz już datę, czas zaplanować coś wyjątkowego!</p>
<button onclick="openModal('modal-add-gift')" class="bg-pink-500 text-white px-6 py-2 rounded-xl text-xs font-bold shadow-lg shadow-pink-100 hover:bg-pink-600 transition-all">
Dodaj pierwszy pomysł
</button>
</div>
</div>
</div>
<!-- AI Recommendations Specifically for Her -->
<div class="bg-indigo-900 rounded-[2.5rem] p-8 text-white relative overflow-hidden">
<div class="relative z-10">
<h4 class="text-xl font-black mb-2 flex items-center gap-2">
<i data-lucide="sparkles" class="text-indigo-300"></i> Sugestie dla Mamy
</h4>
<p class="text-indigo-200 text-sm mb-6 max-w-sm">Na podstawie profilu "Wellness & Kuchnia" AI przygotowało 3 nowe propozycje.</p>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div class="bg-white/10 backdrop-blur-md p-4 rounded-2xl border border-white/10 hover:bg-white/20 transition-all cursor-pointer">
<p class="text-xs font-bold mb-1">Mata do akupresury</p>
<p class="text-[10px] text-indigo-300">Kategoria: Wellness</p>
</div>
<div class="bg-white/10 backdrop-blur-md p-4 rounded-2xl border border-white/10 hover:bg-white/20 transition-all cursor-pointer">
<p class="text-xs font-bold mb-1">Zestaw herbat BIO</p>
<p class="text-[10px] text-indigo-300">Kategoria: Kuchnia</p>
</div>
<div class="bg-white/10 backdrop-blur-md p-4 rounded-2xl border border-white/10 hover:bg-white/20 transition-all cursor-pointer">
<p class="text-xs font-bold mb-1">Kurs ceramiki</p>
<p class="text-[10px] text-indigo-300">Kategoria: Hobby</p>
</div>
</div>
</div>
<i data-lucide="brain" class="absolute -right-10 -bottom-10 w-48 h-48 opacity-10"></i>
</div>
</div>
<!-- Right: AI Profiler & Preferences -->
<div class="space-y-8">
<section class="bg-white rounded-[2rem] p-6 shadow-sm border border-gray-100">
<h4 class="text-sm font-black text-gray-900 mb-4 flex items-center gap-2">
<i data-lucide="user-plus" class="text-indigo-600"></i> Profilowanie AI
</h4>
<p class="text-xs text-gray-500 mb-4 leading-relaxed">Dodaj więcej informacji o Mamie, aby AI mogło lepiej dopasować prezenty do jej gustu.</p>
<div class="space-y-3 mb-6">
<div class="p-3 bg-gray-50 rounded-xl flex items-center justify-between">
<span class="text-xs font-bold text-gray-700">Styl życia</span>
<span class="text-[10px] font-black text-indigo-600 uppercase">Active</span>
</div>
<div class="p-3 bg-gray-50 rounded-xl flex items-center justify-between">
<span class="text-xs font-bold text-gray-700">Ulubione kolory</span>
<div class="flex gap-1">
<div class="w-3 h-3 rounded-full bg-blue-400"></div>
<div class="w-3 h-3 rounded-full bg-indigo-200"></div>
</div>
</div>
</div>
<textarea class="w-full bg-gray-50 border border-gray-100 rounded-2xl p-4 text-xs text-gray-600 placeholder-gray-300 h-32 focus:ring-2 focus:ring-indigo-500 outline-none mb-4" placeholder="Wpisz luźne spostrzeżenia, np. 'Mama nie lubi gadżetów, woli przeżycia...'"></textarea>
<button class="w-full py-3 bg-indigo-50 text-indigo-700 font-bold rounded-xl text-xs hover:bg-indigo-100 transition-all">Aktualizuj profil AI</button>
</section>
<section class="bg-white rounded-[2rem] p-6 shadow-sm border border-gray-100">
<h4 class="text-sm font-black text-gray-900 mb-4 flex items-center gap-2">
<i data-lucide="history" class="text-indigo-600"></i> Ostatnio kupione
</h4>
<div class="space-y-4">
<div class="flex items-center gap-3">
<div class="w-10 h-10 bg-gray-100 rounded-lg shrink-0"></div>
<div class="flex-1">
<p class="text-xs font-bold text-gray-700">Wyciskarka do soków</p>
<p class="text-[10px] text-gray-400">Maj 2025</p>
</div>
<span class="text-xs font-black text-gray-900">899 PLN</span>
</div>
</div>
</section>
</div>
</div>
</div>
</main>
</div>
<!-- Modal: Edytuj Osobę -->
<div id="modal-edit-person" class="modal-overlay">
<div class="modal-content">
<div class="flex items-center justify-between mb-8">
<h3 class="text-2xl font-black text-gray-900">Edytuj Profil</h3>
<button onclick="closeModal('modal-edit-person')" class="text-gray-400 hover:text-gray-600">
<i data-lucide="x"></i>
</button>
</div>
<form class="space-y-6">
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Imię / Nick</label>
<input type="text" value="Mama" class="form-input" required>
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Relacja</label>
<select class="form-input">
<option selected>Rodzina</option>
<option>Przyjaciel / Przyjaciółka</option>
<option>Praca</option>
</select>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Wiek</label>
<input type="number" value="58" class="form-input">
</div>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Zainteresowania</label>
<input type="text" value="Gotowanie, Ogród, Joga" class="form-input">
</div>
<button type="submit" class="w-full gradient-bg text-white py-4 rounded-2xl font-bold shadow-xl shadow-indigo-100 mt-4">
Zapisz zmiany
</button>
</form>
</div>
</div>
<!-- Modal: Dodaj Prezent -->
<div id="modal-add-gift" class="modal-overlay">
<div class="modal-content">
<div class="flex items-center justify-between mb-8">
<h3 class="text-2xl font-black text-gray-900">Nowy Prezent</h3>
<button onclick="closeModal('modal-add-gift')" class="text-gray-400 hover:text-gray-600">
<i data-lucide="x"></i>
</button>
</div>
<form class="space-y-6">
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Nazwa Prezentu</label>
<input type="text" placeholder="np. Słuchawki Sony" class="form-input" required>
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Szacowana Cena (PLN)</label>
<input type="number" placeholder="0.00" class="form-input" required>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Status</label>
<select class="form-input">
<option>Idea</option>
<option>Wybrany</option>
<option>Kupiony</option>
<option>Zapakowany</option>
</select>
</div>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Link do produktu</label>
<input type="url" placeholder="https://..." class="form-input">
</div>
<button type="submit" class="w-full gradient-bg text-white py-4 rounded-2xl font-bold shadow-xl shadow-indigo-100 mt-4">
Dodaj prezent
</button>
</form>
</div>
</div>
<!-- Mobile Nav -->
<nav class="lg:hidden fixed bottom-0 left-0 right-0 bg-white border-t border-gray-200 p-2 flex justify-around items-center z-50">
<a href="dashboard.html" class="flex flex-col items-center p-2 text-gray-400">
<i data-lucide="layout-dashboard" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Home</span>
</a>
<a href="occasions.html" class="flex flex-col items-center p-2 text-gray-400">
<i data-lucide="calendar" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Okazje</span>
</a>
<a href="persons.html" class="flex flex-col items-center p-2 text-indigo-600">
<i data-lucide="users" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Osoby</span>
</a>
<a href="updates.html" class="flex flex-col items-center p-2 text-gray-400">
<i data-lucide="bell" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Status</span>
</a>
</nav>
<script>
lucide.createIcons();
</script>
</body>
</html>
</body>
</html>