make more AI

This commit is contained in:
Norbert Maciaszek
2025-12-28 21:24:48 +01:00
parent 7b95faef4a
commit 69069587c5
17 changed files with 1534 additions and 670 deletions

257
gift.html
View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Szczegóły Prezentu - Gift Planner</title>
<title>Szczegóły Prezentu (Premium) - Gift Planner</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="styles.css">
<script src="https://unpkg.com/lucide@latest"></script>
@@ -34,6 +34,10 @@
<a href="inspirations.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="sparkles"></i> Inspiracje
</a>
<a href="search.html" class="flex items-center gap-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors group">
<i data-lucide="search" class="group-hover:text-indigo-600 transition-colors"></i> Wyszukiwarka
<span class="ml-auto bg-indigo-100 text-indigo-600 text-[8px] px-1.5 py-0.5 rounded font-black uppercase">AI</span>
</a>
<a href="blog.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="book-open"></i> Poradniki
</a>
@@ -47,6 +51,23 @@
<i data-lucide="wallet"></i> Budżet
</a>
</nav>
<div class="p-4 border-t border-gray-100">
<a href="settings.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="settings"></i> Ustawienia
</a>
<div class="flex items-center gap-3 p-4 mt-2">
<div class="w-10 h-10 rounded-full bg-gradient-to-br from-indigo-100 to-purple-100 flex items-center justify-center text-indigo-600 font-bold">
NK
</div>
<div class="flex-1 overflow-hidden">
<p class="text-sm font-semibold truncate">Norbert K.</p>
<div class="flex items-center gap-1">
<i data-lucide="zap" class="w-2.5 h-2.5 text-yellow-500 fill-yellow-500"></i>
<p class="text-[10px] font-bold text-gray-500 uppercase">120 PKT</p>
</div>
</div>
</div>
</div>
</aside>
<!-- Main Content -->
@@ -63,7 +84,7 @@
<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-purple-500 text-white text-[10px] font-black px-3 py-1 rounded-full uppercase tracking-widest">Wręczony</span>
<span class="bg-emerald-500 text-white text-[10px] font-black px-3 py-1 rounded-full uppercase tracking-widest border border-emerald-400">Oszczędzanie Aktywne</span>
</div>
<h2 class="text-3xl font-black mb-6">Sage Barista Express dla: Mama</h2>
@@ -85,7 +106,7 @@
</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">
<button 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">
@@ -96,6 +117,60 @@
<i data-lucide="gift" class="absolute -right-10 -bottom-10 w-64 h-64 text-white/5 opacity-10"></i>
</section>
<!-- AI: Uzupełnij Prezent -->
<section class="bg-gradient-to-br from-indigo-900 via-indigo-800 to-indigo-950 rounded-[3rem] p-8 lg:p-10 shadow-2xl relative overflow-hidden border border-indigo-700">
<div class="flex flex-col md:flex-row md:items-center justify-between gap-6 mb-10 relative z-10">
<div class="flex items-center gap-4">
<div class="w-14 h-14 bg-white/10 backdrop-blur-md rounded-2xl flex items-center justify-center text-white border border-white/20">
<i data-lucide="wand-2" class="w-8 h-8"></i>
</div>
<div>
<div class="flex items-center gap-2 mb-1">
<span class="bg-indigo-400/30 text-indigo-100 text-[10px] font-black px-2 py-0.5 rounded uppercase tracking-widest border border-indigo-400/30">AI Power</span>
<h3 class="text-2xl font-black text-white">Uzupełnij prezent</h3>
</div>
<p class="text-indigo-200/80 text-sm font-medium">Dobierz dodatki, które sprawią, że prezent będzie kompletny.</p>
</div>
</div>
<button class="bg-white text-indigo-900 px-6 py-3 rounded-2xl font-black text-xs hover:bg-indigo-50 transition-all flex items-center gap-2 shadow-lg">
ODŚWIEŻ SUGESTIE <span class="bg-indigo-100 text-indigo-600 px-2 py-0.5 rounded">-3 <i data-lucide="zap" class="w-3 h-3 inline fill-indigo-600"></i></span>
</button>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 gap-6 relative z-10">
<div class="bg-white/5 backdrop-blur-sm rounded-[2.5rem] p-5 border border-white/10 hover:bg-white/10 transition-all group flex items-center gap-5">
<div class="w-24 h-24 bg-white rounded-3xl overflow-hidden shrink-0 shadow-xl">
<img src="https://images.unsplash.com/photo-1559056191-4917a3bc9404?auto=format&fit=crop&q=80&w=200" class="w-full h-full object-cover">
</div>
<div class="flex-1">
<p class="text-[10px] font-black text-indigo-300 uppercase tracking-widest mb-1">Kawa Specialty</p>
<h4 class="font-black text-white mb-2 leading-tight">Ethiopia 250g</h4>
<div class="flex items-center justify-between">
<span class="text-lg font-black text-white">59 PLN</span>
<button class="w-10 h-10 bg-indigo-500 text-white rounded-xl flex items-center justify-center hover:bg-indigo-400 transition-all">
<i data-lucide="plus" class="w-5 h-5"></i>
</button>
</div>
</div>
</div>
<div class="bg-white/5 backdrop-blur-sm rounded-[2.5rem] p-5 border border-white/10 hover:bg-white/10 transition-all group flex items-center gap-5">
<div class="w-24 h-24 bg-white rounded-3xl overflow-hidden shrink-0 shadow-xl">
<img src="https://images.unsplash.com/photo-1579227114347-15d08fc37cae?auto=format&fit=crop&q=80&w=200" class="w-full h-full object-cover">
</div>
<div class="flex-1">
<p class="text-[10px] font-black text-indigo-300 uppercase tracking-widest mb-1">Akcesorium</p>
<h4 class="font-black text-white mb-2 leading-tight">Dzbanek Rhino</h4>
<div class="flex items-center justify-between">
<span class="text-lg font-black text-white">120 PLN</span>
<button class="w-10 h-10 bg-indigo-500 text-white rounded-xl flex items-center justify-center hover:bg-indigo-400 transition-all">
<i data-lucide="plus" class="w-5 h-5"></i>
</button>
</div>
</div>
</div>
</div>
</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">
@@ -119,7 +194,7 @@
</div>
</section>
<!-- Feedback Loop (New Functionality) -->
<!-- Feedback Loop -->
<section class="bg-gradient-to-br from-purple-50 to-white rounded-[2.5rem] p-8 shadow-sm border border-purple-100">
<div class="flex items-center justify-between mb-6">
<h3 class="text-xl font-black text-gray-900 flex items-center gap-2">
@@ -149,23 +224,21 @@
</button>
</div>
</div>
<div>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Notatka zwrotna (dla AI i przyszłych planów)</label>
<textarea placeholder="Np. 'Ekspres super, ale kolor mógłby być ciemniejszy' lub 'Najlepszy prezent w tym roku!'" class="w-full px-5 py-4 bg-white border border-purple-100 rounded-3xl focus:ring-2 focus:ring-purple-500 outline-none transition-all text-sm font-medium text-gray-700 min-h-[100px] shadow-inner"></textarea>
<label class="block text-[10px] font-black text-gray-400 uppercase tracking-widest mb-2 ml-1">Notatka zwrotna</label>
<textarea placeholder="Np. 'Ekspres super, ale kolor mógłby być ciemniejszy'..." class="w-full px-5 py-4 bg-white border border-purple-100 rounded-3xl focus:ring-2 focus:ring-purple-500 outline-none transition-all text-sm font-medium text-gray-700 min-h-[100px] shadow-inner"></textarea>
</div>
<button class="w-full bg-purple-600 text-white py-4 rounded-2xl font-black shadow-xl shadow-purple-200 hover:bg-purple-700 transition-all flex items-center justify-center gap-2">
<i data-lucide="save"></i> Zapisz feedback
</button>
</div>
</section>
<!-- Price Info (Linked to Master) -->
<!-- Price Info in Plan -->
<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>
<a href="#" 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">
@@ -184,37 +257,29 @@
</section>
</div>
<!-- Link Preview / Action Section -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-gray-100">
<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 -->
<!-- Right Column -->
<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>
<!-- Premium Price Card (Ceneo) -->
<section class="bg-white rounded-[2.5rem] p-8 shadow-sm border border-emerald-100 relative">
<div class="absolute -top-3 left-8 bg-emerald-500 text-white text-[10px] font-black px-3 py-1 rounded-full uppercase tracking-widest border-4 border-white shadow-sm">
Monitorowanie Aktywne
</div>
<div class="flex items-center justify-between mb-6 pt-2">
<p class="text-[10px] font-black text-gray-400 uppercase tracking-widest">Najlepsza Cena (Ceneo)</p>
<span class="text-green-600 text-[10px] font-black flex items-center">
<i data-lucide="trending-down" class="w-3 h-3 mr-1"></i> -120 PLN Dziś!
</span>
</div>
<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="space-y-3 mb-6">
<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>
@@ -225,66 +290,14 @@
</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 class="w-full flex items-center justify-center gap-2 py-4 bg-emerald-600 text-white font-black rounded-2xl shadow-xl shadow-emerald-100 hover:bg-emerald-700 transition-all">
<i data-lucide="bell-off" class="w-5 h-5"></i> WYŁĄCZ ALERT CENOWY
</button>
</section>
<!-- AI Similar Products Section -->
<section class="mt-12 bg-white rounded-[3.5rem] p-10 lg:p-12 shadow-sm border border-gray-100 mb-12">
<div class="flex flex-col md:flex-row md:items-center justify-between gap-6 mb-10">
<div class="flex items-center gap-4">
<div class="w-14 h-14 bg-indigo-900 rounded-2xl flex items-center justify-center text-white shadow-xl shadow-indigo-100">
<i data-lucide="brain-circuit" class="w-8 h-8"></i>
</div>
<div>
<h3 class="text-3xl font-black text-gray-900">Pasujące do tego prezentu</h3>
<p class="text-gray-500 font-medium">Biorąc pod uwagę ten prezent, AI sugeruje dodatki, które dopełnią Twój plan.</p>
</div>
</div>
<a href="inspirations.html" class="flex items-center gap-2 text-indigo-600 font-black text-sm uppercase tracking-widest hover:gap-3 transition-all">
Szukaj więcej <i data-lucide="chevron-right"></i>
</a>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8">
<!-- Similar Item 1 -->
<div class="bg-gray-50 rounded-[2.5rem] p-6 border border-gray-100 hover:border-indigo-200 hover:bg-white transition-all group relative">
<div class="absolute top-4 left-4 bg-indigo-600 text-white text-[10px] font-black px-3 py-1 rounded-full z-10 shadow-lg">SUGESTIA AI</div>
<div class="aspect-square bg-white rounded-3xl overflow-hidden mb-6 shadow-sm border border-gray-100">
<img src="https://images.unsplash.com/photo-1559056191-4917a3bc9404?auto=format&fit=crop&q=80&w=400" class="w-full h-full object-cover">
</div>
<h4 class="font-black text-gray-900 mb-1 leading-tight">Kawa Specialty Ethiopia 250g</h4>
<p class="text-xs text-gray-400 font-bold uppercase tracking-widest mb-4">Zestaw idealny</p>
<div class="flex items-center justify-between">
<span class="text-lg font-black text-indigo-600">59 PLN</span>
<button class="w-10 h-10 bg-indigo-600 text-white rounded-xl flex items-center justify-center hover:scale-110 transition-all">
<i data-lucide="plus-circle" class="w-5 h-5"></i>
</button>
</div>
</div>
<!-- Similar Item 2 -->
<div class="bg-gray-50 rounded-[2.5rem] p-6 border border-gray-100 hover:border-indigo-200 hover:bg-white transition-all group relative">
<div class="absolute top-4 left-4 bg-indigo-600 text-white text-[10px] font-black px-3 py-1 rounded-full z-10 shadow-lg">UZUPEŁNIENIE</div>
<div class="aspect-square bg-white rounded-3xl overflow-hidden mb-6 shadow-sm border border-gray-100">
<img src="https://images.unsplash.com/photo-1579227114347-15d08fc37cae?auto=format&fit=crop&q=80&w=400" class="w-full h-full object-cover">
</div>
<h4 class="font-black text-gray-900 mb-1 leading-tight">Dzbanek do mleka Rhino</h4>
<p class="text-xs text-gray-400 font-bold uppercase tracking-widest mb-4">Akcesorium</p>
<div class="flex items-center justify-between">
<span class="text-lg font-black text-indigo-600">120 PLN</span>
<button class="w-10 h-10 bg-indigo-600 text-white rounded-xl flex items-center justify-center hover:scale-110 transition-all">
<i data-lucide="plus-circle" class="w-5 h-5"></i>
</button>
</div>
</div>
</div>
</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>
<h4 class="text-[10px] font-black text-gray-400 uppercase tracking-widest 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">
@@ -307,53 +320,35 @@
</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>
<!-- Chart Script -->
<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)',
label: 'Cena',
data: [2650, 2600, 2650, 2550, 2500, 2499, 2499],
borderColor: '#6366f1',
borderColor: '#10b981',
borderWidth: 4,
tension: 0.4,
pointRadius: 4,
pointBackgroundColor: '#fff',
pointBorderColor: '#6366f1',
pointBorderColor: '#10b981',
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)');
gradient.addColorStop(0, 'rgba(16, 185, 129, 0.1)');
gradient.addColorStop(1, 'rgba(16, 185, 129, 0)');
return gradient;
}
}]
@@ -363,42 +358,16 @@
maintainAspectRatio: false,
plugins: { legend: { display: false } },
scales: {
x: {
grid: { display: false },
ticks: { font: { size: 10, weight: 'bold' }, color: '#94a3b8' }
},
x: { grid: { display: false }, ticks: { font: { size: 9, weight: 'bold' }, color: '#94a3b8' } },
y: {
display: true,
grid: { color: '#f8fafc' },
ticks: { font: { size: 10, weight: 'bold' }, color: '#94a3b8' }
display: true,
grid: { color: '#f8fafc' },
border: { display: false },
ticks: { font: { size: 9, weight: 'bold' }, color: '#94a3b8' }
}
}
}
});
</script>
<!-- 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="inspirations.html" class="flex flex-col items-center p-2 text-gray-400">
<i data-lucide="sparkles" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Pomysły</span>
</a>
<a href="blog.html" class="flex flex-col items-center p-2 text-gray-400">
<i data-lucide="book-open" class="w-6 h-6"></i>
<span class="text-[10px] font-bold mt-1">Blog</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>
</body>
</html>