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

290 lines
18 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 Prezentu - 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 -->
<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="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 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">
<button onclick="window.history.back()" class="flex items-center gap-2 text-gray-500 hover:text-indigo-600 transition-colors mb-6 font-medium">
<i data-lucide="arrow-left" class="w-4 h-4"></i> Powrót
</button>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
<!-- Left Column: Planning Info -->
<div class="lg:col-span-2 space-y-8">
<!-- Planning Record Header -->
<section class="bg-indigo-900 rounded-[2.5rem] p-8 shadow-2xl relative overflow-hidden text-white">
<div class="relative z-10">
<div class="flex items-center gap-2 mb-4">
<span class="bg-indigo-500 text-[10px] font-black px-3 py-1 rounded-full uppercase tracking-widest">Planowanie Prezentu #1024</span>
<span class="bg-green-500 text-white text-[10px] font-black px-3 py-1 rounded-full uppercase tracking-widest">Kupiony</span>
</div>
<h2 class="text-3xl font-black mb-6">Sage Barista Express dla: Mama</h2>
<div class="flex flex-wrap gap-8 items-center mb-8">
<div class="flex items-center gap-3">
<div class="w-10 h-10 rounded-full bg-white/10 flex items-center justify-center border border-white/20"><i data-lucide="calendar"></i></div>
<div>
<p class="text-[10px] text-indigo-300 font-bold uppercase">Okazja</p>
<p class="text-sm font-black">Boże Narodzenie 2025</p>
</div>
</div>
<div class="flex items-center gap-3">
<div class="w-10 h-10 rounded-full bg-white/10 flex items-center justify-center border border-white/20"><i data-lucide="wallet"></i></div>
<div>
<p class="text-[10px] text-indigo-300 font-bold uppercase">Budżet na osobę</p>
<p class="text-sm font-black">1 200 PLN</p>
</div>
</div>
</div>
<div class="flex gap-4">
<button onclick="window.location.href='product.html'" class="bg-white text-indigo-900 px-6 py-3 rounded-2xl font-bold flex items-center gap-2 hover:bg-indigo-50 transition-all">
<i data-lucide="box"></i> Zarządzaj produktem
</button>
<button class="bg-indigo-800 text-white px-6 py-3 rounded-2xl font-bold border border-indigo-700 hover:bg-indigo-700 transition-all">
Edytuj plan
</button>
</div>
</div>
<i data-lucide="gift" class="absolute -right-10 -bottom-10 w-64 h-64 text-white/5 opacity-10"></i>
</section>
<!-- Personal Notes -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-gray-100">
<h3 class="text-xl font-black text-gray-900 mb-6 flex items-center gap-2">
<i data-lucide="sticky-note" class="text-indigo-600"></i> Twoje Notatki i Planowanie
</h3>
<div class="space-y-6">
<div class="p-6 bg-gray-50 rounded-3xl border border-gray-100">
<p class="text-sm text-gray-600 italic leading-relaxed">"Mówiła, że jej stary ekspres już ledwo zipie. Ten ma wbudowany młynek, na pewno jej się spodoba! Kolor Brushed Stainless Steel pasuje do kuchni."</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="p-4 bg-white rounded-2xl border border-gray-100 flex items-center justify-between">
<span class="text-xs font-bold text-gray-500">Sklep zakupu</span>
<span class="text-xs font-black text-indigo-600">Media Expert</span>
</div>
<div class="p-4 bg-white rounded-2xl border border-gray-100 flex items-center justify-between">
<span class="text-xs font-bold text-gray-500">Numer zamówienia</span>
<span class="text-xs font-black text-gray-900">#ME-12345/ABC</span>
</div>
</div>
</div>
</section>
<!-- Price Info (Linked to Master) -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-gray-100">
<div class="flex items-center justify-between mb-8">
<h3 class="text-xl font-black text-gray-900">Analiza ceny w Twoim planie</h3>
<a href="product.html" class="text-xs font-bold text-indigo-600 hover:underline">Pełna historia produktu</a>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<div class="p-6 bg-indigo-50 rounded-3xl border border-indigo-100">
<p class="text-[10px] text-indigo-400 font-black uppercase mb-1">Cena Twojego zakupu</p>
<p class="text-2xl font-black text-indigo-900 leading-none">2 499 PLN</p>
</div>
<div class="p-6 bg-green-50 rounded-3xl border border-green-100">
<p class="text-[10px] text-green-400 font-black uppercase mb-1">Obecna cena rynkowa</p>
<p class="text-2xl font-black text-green-600 leading-none">2 489 PLN</p>
</div>
<div class="p-6 bg-gray-50 rounded-3xl border border-gray-100">
<p class="text-[10px] text-gray-400 font-black uppercase mb-1">Różnica</p>
<p class="text-2xl font-black text-gray-400 leading-none">+10 PLN</p>
</div>
</div>
</section>
</div>
<!-- Link Preview / Action Section -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-gray-100">
<h3 class="text-xl font-black text-gray-900 mb-6 flex items-center gap-2">
<i data-lucide="external-link" class="text-indigo-600"></i> Informacje o produkcie
</h3>
<div class="border border-gray-100 rounded-3xl p-6 flex flex-col md:flex-row items-center gap-6 hover:bg-gray-50 transition-colors cursor-pointer mb-8">
<div class="w-20 h-20 bg-indigo-50 rounded-2xl flex items-center justify-center shrink-0">
<span class="text-xl font-black text-indigo-600 uppercase">C</span>
</div>
<div class="flex-1">
<h4 class="font-bold text-gray-900">Sage Barista Express BES875 - Ceneo.pl</h4>
<p class="text-xs text-gray-400 line-clamp-1">https://www.ceneo.pl/31894721#crid=123456&pid=12345</p>
</div>
<button class="bg-indigo-600 text-white px-6 py-3 rounded-2xl font-bold shadow-lg shadow-indigo-100 whitespace-nowrap">Otwórz sklep</button>
</div>
<div class="bg-indigo-50 border border-indigo-100 rounded-3xl p-8 flex flex-col items-center text-center">
<div class="w-14 h-14 bg-white rounded-full flex items-center justify-center text-indigo-600 shadow-sm mb-4">
<i data-lucide="sparkles" class="w-6 h-6 animate-pulse"></i>
</div>
<h4 class="text-lg font-black text-indigo-900 mb-2">Potrzebujesz kartki lub życzeń?</h4>
<p class="text-sm text-indigo-600 mb-6 max-w-sm">AI może wygenerować personalizowane życzenia bożonarodzeniowe, które idealnie pasują do tego prezentu.</p>
<button class="bg-indigo-600 text-white px-8 py-3 rounded-2xl font-bold shadow-xl">Generuj życzenia</button>
</div>
</section>
</div>
<!-- Right Column: Price Analysis -->
<div class="space-y-8">
<!-- Price Card -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-gray-100">
<p class="text-[10px] font-black text-gray-400 uppercase tracking-widest mb-1">Aktualna Cena (Ceneo)</p>
<div class="flex items-end gap-3 mb-6">
<h3 class="text-4xl font-black text-gray-900 leading-none">2 499 PLN</h3>
<span class="text-green-600 text-sm font-black flex items-center mb-1">
<i data-lucide="trending-down" class="w-4 h-4 mr-1"></i> -120 PLN
</span>
</div>
<div class="h-48 mb-6">
<canvas id="giftPriceChart"></canvas>
</div>
<div class="space-y-4">
<div class="p-4 bg-gray-50 rounded-2xl border border-gray-100 flex items-center justify-between">
<p class="text-xs font-bold text-gray-500">Najwyższa (30 dni)</p>
<p class="text-sm font-black text-gray-900">2 650 PLN</p>
</div>
<div class="p-4 bg-gray-50 rounded-2xl border border-gray-100 flex items-center justify-between">
<p class="text-xs font-bold text-gray-500">Najniższa (30 dni)</p>
<p class="text-sm font-black text-green-600">2 489 PLN</p>
</div>
</div>
<button class="w-full mt-6 flex items-center justify-center gap-2 py-4 bg-green-50 text-green-700 font-bold rounded-2xl border border-green-100 hover:bg-green-100 transition-colors">
<i data-lucide="bell" class="w-5 h-5"></i> Alert cenowy aktywny
</button>
</section>
<!-- Status History -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-gray-100">
<h4 class="text-sm font-black text-gray-900 mb-6">Historia Statusu</h4>
<div class="space-y-6 relative before:absolute before:left-3 before:top-2 before:bottom-2 before:w-0.5 before:bg-gray-100">
<div class="relative pl-10">
<div class="absolute left-0 top-1 w-6 h-6 bg-green-500 rounded-full border-4 border-white shadow-sm flex items-center justify-center">
<i data-lucide="check" class="w-3 h-3 text-white"></i>
</div>
<p class="text-xs font-black text-gray-900">Kupiony</p>
<p class="text-[10px] text-gray-400 font-medium">12 Grudnia 2025, 14:20</p>
</div>
<div class="relative pl-10">
<div class="absolute left-0 top-1 w-6 h-6 bg-indigo-500 rounded-full border-4 border-white shadow-sm flex items-center justify-center">
<i data-lucide="mouse-pointer-2" class="w-3 h-3 text-white"></i>
</div>
<p class="text-xs font-black text-gray-900">Wybrany</p>
<p class="text-[10px] text-gray-400 font-medium">08 Grudnia 2025, 09:15</p>
</div>
<div class="relative pl-10 opacity-40">
<div class="absolute left-0 top-1 w-6 h-6 bg-gray-200 rounded-full border-4 border-white shadow-sm"></div>
<p class="text-xs font-black text-gray-900">Idea dodana</p>
<p class="text-[10px] text-gray-400 font-medium">01 Grudnia 2025</p>
</div>
</div>
</section>
</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="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-gray-400">
<i data-lucide="users" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Osoby</span>
</a>
<a href="settings.html" class="flex flex-col items-center p-2 text-gray-400">
<i data-lucide="settings" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Opcje</span>
</a>
</nav>
<script>
lucide.createIcons();
// Detailed Price History Chart
const ctx = document.getElementById('giftPriceChart').getContext('2d');
new Chart(ctx, {
type: 'line',
data: {
labels: ['1', '5', '10', '15', '20', '25', '30'],
datasets: [{
label: 'Cena (PLN)',
data: [2650, 2600, 2650, 2550, 2500, 2499, 2499],
borderColor: '#6366f1',
borderWidth: 4,
tension: 0.4,
pointRadius: 4,
pointBackgroundColor: '#fff',
pointBorderColor: '#6366f1',
pointBorderWidth: 2,
fill: true,
backgroundColor: (context) => {
const gradient = context.chart.ctx.createLinearGradient(0, 0, 0, 200);
gradient.addColorStop(0, 'rgba(99, 102, 241, 0.1)');
gradient.addColorStop(1, 'rgba(99, 102, 241, 0)');
return gradient;
}
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: { legend: { display: false } },
scales: {
x: {
grid: { display: false },
ticks: { font: { size: 10, weight: 'bold' }, color: '#94a3b8' }
},
y: {
display: true,
grid: { color: '#f8fafc' },
ticks: { font: { size: 10, weight: 'bold' }, color: '#94a3b8' }
}
}
}
});
</script>
</body>
</html>