add first mockup

This commit is contained in:
Norbert Maciaszek
2025-12-26 23:13:35 +01:00
parent 0be01758e3
commit 0357cf2eb7
19 changed files with 3599 additions and 0 deletions

203
occasions.html Normal file
View File

@@ -0,0 +1,203 @@
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wszystkie Okazje - 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="main.js" defer></script>
</head>
<body class="bg-gray-50 min-h-screen">
<div class="flex h-screen overflow-hidden">
<!-- Sidebar -->
<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 bg-indigo-50 text-indigo-700 rounded-xl font-medium">
<i data-lucide="calendar"></i> Okazje
</a>
<a href="persons.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="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">
<div class="flex flex-col md:flex-row md:items-center justify-between gap-6 mb-10">
<div>
<h2 class="text-3xl font-black text-gray-900 leading-tight">Twoje Okazje</h2>
<p class="text-gray-500">Zarządzaj wydarzeniami i planuj prezenty z wyprzedzeniem.</p>
</div>
<button onclick="openModal('modal-new-occasion')" class="gradient-bg text-white px-8 py-3 rounded-2xl font-bold shadow-lg shadow-indigo-200 hover:opacity-90 transition-all flex items-center gap-2">
<i data-lucide="plus" class="w-5 h-5"></i> Zaplanuj nowe wydarzenie
</button>
</div>
<!-- Filters -->
<div class="flex flex-wrap items-center gap-4 mb-8">
<button class="px-6 py-2 bg-indigo-600 text-white rounded-xl text-sm font-bold shadow-sm">Wszystkie (5)</button>
<button class="px-6 py-2 bg-white text-gray-500 rounded-xl text-sm font-bold border border-gray-100 hover:bg-gray-50 transition-colors">Aktywne (2)</button>
<button class="px-6 py-2 bg-white text-gray-500 rounded-xl text-sm font-bold border border-gray-100 hover:bg-gray-50 transition-colors">Zakończone (3)</button>
<div class="flex-1"></div>
<div class="relative">
<i data-lucide="search" class="w-4 h-4 absolute left-4 top-1/2 -translate-y-1/2 text-gray-400"></i>
<input type="text" placeholder="Szukaj okazji..." class="pl-12 pr-6 py-2 bg-white border border-gray-200 rounded-xl text-sm focus:ring-2 focus:ring-indigo-500 outline-none w-64">
</div>
</div>
<!-- Grid -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Occasion 1 (Active) -->
<div class="group bg-white rounded-3xl overflow-hidden border border-gray-200 shadow-sm hover:shadow-xl hover:-translate-y-1 transition-all duration-300">
<div class="h-48 relative overflow-hidden">
<img src="https://images.unsplash.com/photo-1543589077-47d81606c1bf?auto=format&fit=crop&q=80&w=800" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent"></div>
<div class="absolute top-4 right-4 bg-white/90 backdrop-blur-md px-3 py-1 rounded-full text-[10px] font-black uppercase text-indigo-700">W planowaniu</div>
<div class="absolute bottom-4 left-6">
<p class="text-white text-xs font-bold opacity-80 mb-1">24 Grudnia 2025</p>
<h3 class="text-white text-xl font-black">Boże Narodzenie 2025</h3>
</div>
</div>
<div class="p-6">
<div class="flex items-center justify-between mb-4">
<span class="text-xs font-semibold text-gray-400">Budżet: 5 000 PLN</span>
<span class="text-xs font-bold text-indigo-600">80% Gotowe</span>
</div>
<div class="w-full bg-gray-100 h-1.5 rounded-full overflow-hidden mb-6">
<div class="h-full progress-bar-gradient" style="width: 80%"></div>
</div>
<button onclick="window.location.href='occasion.html'" class="w-full py-3 bg-gray-50 text-indigo-600 font-bold rounded-2xl border border-indigo-100 group-hover:bg-indigo-600 group-hover:text-white transition-all">
Szczegóły okazji
</button>
</div>
</div>
<!-- Occasion 2 (Active) -->
<div class="group bg-white rounded-3xl overflow-hidden border border-gray-200 shadow-sm hover:shadow-xl hover:-translate-y-1 transition-all duration-300">
<div class="h-48 relative overflow-hidden">
<img src="https://images.unsplash.com/photo-1464349172904-124bb97af094?auto=format&fit=crop&q=80&w=800" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent"></div>
<div class="absolute top-4 right-4 bg-white/90 backdrop-blur-md px-3 py-1 rounded-full text-[10px] font-black uppercase text-purple-700">Oczekiwanie</div>
<div class="absolute bottom-4 left-6">
<p class="text-white text-xs font-bold opacity-80 mb-1">15 Stycznia 2026</p>
<h3 class="text-white text-xl font-black">Urodziny Mai 🎂</h3>
</div>
</div>
<div class="p-6">
<div class="flex items-center justify-between mb-4">
<span class="text-xs font-semibold text-gray-400">Budżet: 300 PLN</span>
<span class="text-xs font-bold text-gray-400">0% Gotowe</span>
</div>
<div class="w-full bg-gray-100 h-1.5 rounded-full overflow-hidden mb-6">
<div class="h-full bg-gray-200" style="width: 0%"></div>
</div>
<button class="w-full py-3 bg-gray-50 text-purple-600 font-bold rounded-2xl border border-purple-100 group-hover:bg-purple-600 group-hover:text-white transition-all">
Szczegóły okazji
</button>
</div>
</div>
<!-- Occasion 3 (Archived) -->
<div class="group bg-white rounded-3xl overflow-hidden border border-gray-100 shadow-sm opacity-60 grayscale hover:opacity-100 hover:grayscale-0 transition-all duration-300">
<div class="h-48 relative overflow-hidden">
<img src="https://images.unsplash.com/photo-1549416878-b9ca35c2d47b?auto=format&fit=crop&q=80&w=800" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent"></div>
<div class="absolute top-4 right-4 bg-gray-200 text-gray-600 px-3 py-1 rounded-full text-[10px] font-black uppercase">Zakończone</div>
<div class="absolute bottom-4 left-6">
<p class="text-white text-xs font-bold opacity-80 mb-1">Grudzień 2024</p>
<h3 class="text-white text-xl font-black">Boże Narodzenie 2024</h3>
</div>
</div>
<div class="p-6">
<div class="flex items-center justify-between mb-4">
<span class="text-xs font-semibold text-gray-400">Wydano: 4 200 PLN</span>
<span class="text-xs font-bold text-green-600">100% Sukces</span>
</div>
<div class="w-full bg-green-100 h-1.5 rounded-full overflow-hidden mb-6">
<div class="h-full bg-green-500" style="width: 100%"></div>
</div>
<button class="w-full py-3 bg-gray-50 text-gray-400 font-bold rounded-2xl border border-gray-100">
Zobacz archiwum
</button>
</div>
</div>
</div>
</main>
</div>
<!-- Mobile Navigation -->
<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="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>
<a href="occasions.html" class="flex flex-col items-center p-2 text-indigo-600">
<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-gray-400">
<i data-lucide="users" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Osoby</span>
</a>
</nav>
<!-- Modal: Nowa Okazja -->
<div id="modal-new-occasion" 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">Nowa Okazja</h3>
<button onclick="closeModal('modal-new-occasion')" 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 Okazji</label>
<input type="text" placeholder="np. Urodziny Kamila" 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">Data</label>
<input type="date" class="form-input" required>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Budżet (PLN)</label>
<input type="number" placeholder="0.00" class="form-input">
</div>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Opis (opcjonalnie)</label>
<textarea placeholder="Krótki opis wydarzenia..." class="form-input h-24 resize-none"></textarea>
</div>
<button type="submit" class="w-full gradient-bg text-white py-4 rounded-2xl font-bold shadow-xl shadow-indigo-100 mt-4">
Stwórz okazję
</button>
</form>
</div>
</div>
<script>lucide.createIcons();</script>
</body>
</html>