CoolFace
Apppublic

dav1dbartos/hookedonhandmade-hooks

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
index.html464 linesDownload Raw Back to root
1<!DOCTYPE html>2<html lang="en">3<head>4    <meta charset="UTF-8">5    <meta name="viewport" content="width=device-width, initial-scale=1.0">6    <title>PVhackovani | Háčkované věci</title>7    <link rel="icon" type="image/x-icon" href="/static/favicon.ico">8    <script src="https://cdn.tailwindcss.com"></script>9    <script src="https://unpkg.com/feather-icons"></script>10    <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>11    <style>12        @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Poppins:wght@300;400;600&display=swap');13        body {14            font-family: 'Poppins', sans-serif;15        }16        .handmade-bg {17            background-image: url('http://static.photos/textures/1200x630/42');18            background-size: cover;19            background-position: center;20            background-blend-mode: overlay;21        }22        .product-card:hover {23            transform: translateY(-5px);24            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);25        }26        .yarn-animation {27            animation: float 6s ease-in-out infinite;28        }29        @keyframes float {30            0%, 100% { transform: translateY(0); }31            50% { transform: translateY(-15px); }32        }33    </style>34</head>35<body class="bg-amber-50">36    <!-- Navigation -->37    <nav class="bg-white shadow-sm sticky top-0 z-50">38        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">39            <div class="flex justify-between h-16">40                <div class="flex items-center">41                    <img src="http://static.photos/craft/200x200/1" class="w-8 h-8 rounded-full mr-2" alt="Crochet Logo">42<span class="text-xl font-bold text-amber-900 font-serif">PVhackovani</span>43                </div>44                <div class="flex items-center space-x-8">45                    <a href="#" class="text-amber-900 hover:text-amber-600 transition">Home</a>46                    <a href="#" class="text-amber-900 hover:text-amber-600 transition">About</a>47                </div>48            </div>49        </div>50    </nav>51 52    <!-- Hero Section -->53    <section class="handmade-bg bg-amber-100 py-20">54        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">55            <div class="md:flex items-center">56                <div class="md:w-1/2 mb-10 md:mb-0">57                    <h1 class="text-4xl md:text-5xl font-bold text-amber-900 mb-4 font-serif">Handcrafted Crochet Treasures</h1>58                    <p class="text-lg text-amber-800 mb-8">Each stitch woven with love and care. Discover unique handmade crochet items that add warmth to your life.</p>59</div>60                <div class="md:w-1/2 flex justify-center">61                    <div class="relative yarn-animation">62                        <img src="http://static.photos/craft/640x360/1" alt="Crochet yarn balls" class="rounded-lg shadow-xl w-full max-w-md">63                    </div>64                </div>65            </div>66        </div>67    </section>68    <!-- Gallery Section -->69    <section class="py-16 bg-white">70        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">71            <div class="text-center mb-12">72                <h2 class="text-3xl font-bold text-amber-900 mb-4 font-serif">Our Creations Gallery</h2>73                <p class="text-amber-700 max-w-2xl mx-auto">Browse our collection of handcrafted crochet items</p>74            </div>75            76            <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6">77                <!-- Gallery Items -->78 79 80 81                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg" 82                    data-images='["http://static.photos/craft/640x360/1", "http://static.photos/craft/640x360/101", "http://static.photos/craft/640x360/102"]'>83                    <div class="relative overflow-hidden h-48">84                        <img src="http://static.photos/craft/640x360/1" alt="Crochet Blanket" class="w-full h-full object-cover transition duration-500 hover:scale-110">85                        <div class="absolute inset-0 flex items-center justify-between px-4 opacity-100">86                            <button class="image-prev bg-black bg-opacity-50 text-white rounded-full p-2 hover:bg-opacity-70 transition">87                                <i data-feather="chevron-left" class="w-5 h-5"></i>88                            </button>89                            <button class="image-next bg-black bg-opacity-50 text-white rounded-full p-2 hover:bg-opacity-70 transition">90                                <i data-feather="chevron-right" class="w-5 h-5"></i>91                            </button>92                        </div>93                    </div>94                    <div class="p-4">95                        <h3 class="font-bold text-amber-900">Cozy Blanket</h3>96                        <p class="text-sm text-gray-600">View Gallery</p>97                    </div>98                </div>99 100                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg"101                    data-images='["http://static.photos/craft/640x360/2", "http://static.photos/craft/640x360/201", "http://static.photos/craft/640x360/202", "http://static.photos/craft/640x360/203", "http://static.photos/craft/640x360/204"]'>102                    <div class="relative overflow-hidden h-48">103                        <img src="http://static.photos/craft/640x360/2" alt="Amigurumi Bunny" class="w-full h-full object-cover transition duration-500 hover:scale-110">104                        <div class="absolute inset-0 flex items-center justify-between px-4 opacity-100">105                            <button class="image-prev bg-black bg-opacity-50 text-white rounded-full p-2 hover:bg-opacity-70 transition">106                                <i data-feather="chevron-left" class="w-5 h-5"></i>107                            </button>108                            <button class="image-next bg-black bg-opacity-50 text-white rounded-full p-2 hover:bg-opacity-70 transition">109                                <i data-feather="chevron-right" class="w-5 h-5"></i>110                            </button>111                        </div>112                    </div>113                    <div class="p-4">114                        <h3 class="font-bold text-amber-900">Amigurumi Bunny</h3>115                        <p class="text-sm text-gray-600">View Gallery</p>116                    </div>117                </div>118 119 120 121 122 123                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">124                    <div class="relative overflow-hidden h-48">125                        <img src="http://static.photos/craft/640x360/2" alt="Amigurumi Bunny" class="w-full h-full object-cover transition duration-500 hover:scale-110">126                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">127                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>128                        </div>129                    </div>130                    <div class="p-4">131                        <h3 class="font-bold text-amber-900">Amigurumi Bunny</h3>132                        <p class="text-sm text-gray-600">View Gallery</p>133                    </div>134                </div>135                136                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">137                    <div class="relative overflow-hidden h-48">138                        <img src="http://static.photos/craft/640x360/3" alt="Winter Beanie" class="w-full h-full object-cover transition duration-500 hover:scale-110">139                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">140                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>141                        </div>142                    </div>143                    <div class="p-4">144                        <h3 class="font-bold text-amber-900">Winter Beanie</h3>145                        <p class="text-sm text-gray-600">View Gallery</p>146</div>147                </div>148                149                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">150                    <div class="relative overflow-hidden h-48">151                        <img src="http://static.photos/craft/640x360/4" alt="Crochet Scarf" class="w-full h-full object-cover transition duration-500 hover:scale-110">152                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">153                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>154                        </div>155                    </div>156                    <div class="p-4">157                        <h3 class="font-bold text-amber-900">Cozy Scarf</h3>158                        <p class="text-sm text-gray-600">View Gallery</p>159</div>160                </div>161                162                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">163                    <div class="relative overflow-hidden h-48">164                        <img src="http://static.photos/craft/640x360/5" alt="Granny Square Bag" class="w-full h-full object-cover transition duration-500 hover:scale-110">165                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">166                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>167                        </div>168                    </div>169                    <div class="p-4">170                        <h3 class="font-bold text-amber-900">Granny Square Bag</h3>171                        <p class="text-sm text-gray-600">View Gallery</p>172</div>173                </div>174                175                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">176                    <div class="relative overflow-hidden h-48">177                        <img src="http://static.photos/craft/640x360/6" alt="Baby Booties" class="w-full h-full object-cover transition duration-500 hover:scale-110">178                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">179                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>180                        </div>181                    </div>182                    <div class="p-4">183                        <h3 class="font-bold text-amber-900">Baby Booties</h3>184                        <p class="text-sm text-gray-600">View Gallery</p>185</div>186                </div>187                188                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">189                    <div class="relative overflow-hidden h-48">190                        <img src="http://static.photos/craft/640x360/7" alt="Market Tote" class="w-full h-full object-cover transition duration-500 hover:scale-110">191                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">192                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>193                        </div>194                    </div>195                    <div class="p-4">196                        <h3 class="font-bold text-amber-900">Market Tote</h3>197                        <p class="text-sm text-gray-600">View Gallery</p>198</div>199                </div>200                201                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">202                    <div class="relative overflow-hidden h-48">203                        <img src="http://static.photos/craft/640x360/8" alt="Cat Ear Headband" class="w-full h-full object-cover transition duration-500 hover:scale-110">204                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">205                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>206                        </div>207                    </div>208                    <div class="p-4">209                        <h3 class="font-bold text-amber-900">Cat Ear Headband</h3>210                        <p class="text-sm text-gray-600">View Gallery</p>211</div>212                </div>213                214                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">215                    <div class="relative overflow-hidden h-48">216                        <img src="http://static.photos/craft/640x360/9" alt="Coffee Cozy" class="w-full h-full object-cover transition duration-500 hover:scale-110">217                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">218                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>219                        </div>220                    </div>221                    <div class="p-4">222                        <h3 class="font-bold text-amber-900">Coffee Cozy</h3>223                        <p class="text-sm text-gray-600">View Gallery</p>224</div>225                </div>226                227                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">228                    <div class="relative overflow-hidden h-48">229                        <img src="http://static.photos/craft/640x360/10" alt="Potholder Set" class="w-full h-full object-cover transition duration-500 hover:scale-110">230                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">231                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>232                        </div>233                    </div>234                    <div class="p-4">235                        <h3 class="font-bold text-amber-900">Potholder Set</h3>236                        <p class="text-sm text-gray-600">View Gallery</p>237</div>238                </div>239                240                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">241                    <div class="relative overflow-hidden h-48">242                        <img src="http://static.photos/craft/640x360/11" alt="Basket" class="w-full h-full object-cover transition duration-500 hover:scale-110">243                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">244                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>245                        </div>246                    </div>247                    <div class="p-4">248                        <h3 class="font-bold text-amber-900">Storage Basket</h3>249                        <p class="text-sm text-gray-600">View Gallery</p>250</div>251                </div>252                253                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">254                    <div class="relative overflow-hidden h-48">255                        <img src="http://static.photos/craft/640x360/12" alt="Headband" class="w-full h-full object-cover transition duration-500 hover:scale-110">256                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">257                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>258                        </div>259                    </div>260                    <div class="p-4">261                        <h3 class="font-bold text-amber-900">Floral Headband</h3>262                        <p class="text-sm text-gray-600">View Gallery</p>263</div>264                </div>265                266                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">267                    <div class="relative overflow-hidden h-48">268                        <img src="http://static.photos/craft/640x360/13" alt="Amigurumi Bear" class="w-full h-full object-cover transition duration-500 hover:scale-110">269                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">270                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>271                        </div>272                    </div>273                    <div class="p-4">274                        <h3 class="font-bold text-amber-900">Amigurumi Bear</h3>275                        <p class="text-sm text-gray-600">View Gallery</p>276</div>277                </div>278                279                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">280                    <div class="relative overflow-hidden h-48">281                        <img src="http://static.photos/craft/640x360/14" alt="Lace Shawl" class="w-full h-full object-cover transition duration-500 hover:scale-110">282                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">283                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>284                        </div>285                    </div>286                    <div class="p-4">287                        <h3 class="font-bold text-amber-900">Lace Shawl</h3>288                        <p class="text-sm text-gray-600">View Gallery</p>289</div>290                </div>291                292                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">293                    <div class="relative overflow-hidden h-48">294                        <img src="http://static.photos/craft/640x360/15" alt="Mittens" class="w-full h-full object-cover transition duration-500 hover:scale-110">295                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">296                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>297                        </div>298                    </div>299                    <div class="p-4">300                        <h3 class="font-bold text-amber-900">Wool Mittens</h3>301                        <p class="text-sm text-gray-600">View Gallery</p>302</div>303                </div>304                305                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">306                    <div class="relative overflow-hidden h-48">307                        <img src="http://static.photos/craft/640x360/16" alt="Coasters" class="w-full h-full object-cover transition duration-500 hover:scale-110">308                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">309                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>310                        </div>311                    </div>312                    <div class="p-4">313                        <h3 class="font-bold text-amber-900">Coaster Set</h3>314                        <p class="text-sm text-gray-600">View Gallery</p>315</div>316                </div>317                318                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">319                    <div class="relative overflow-hidden h-48">320                        <img src="http://static.photos/craft/640x360/17" alt="Bookmark" class="w-full h-full object-cover transition duration-500 hover:scale-110">321                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">322                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>323                        </div>324                    </div>325                    <div class="p-4">326                        <h3 class="font-bold text-amber-900">Bookmark Set</h3>327                        <p class="text-sm text-gray-600">View Gallery</p>328</div>329                </div>330                331                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">332                    <div class="relative overflow-hidden h-48">333                        <img src="http://static.photos/craft/640x360/18" alt="Bath Mat" class="w-full h-full object-cover transition duration-500 hover:scale-110">334                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">335                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>336                        </div>337                    </div>338                    <div class="p-4">339                        <h3 class="font-bold text-amber-900">Bath Mat</h3>340                        <p class="text-sm text-gray-600">View Gallery</p>341</div>342                </div>343                344                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">345                    <div class="relative overflow-hidden h-48">346                        <img src="http://static.photos/craft/640x360/19" alt="Sun Hat" class="w-full h-full object-cover transition duration-500 hover:scale-110">347                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">348                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>349                        </div>350                    </div>351                    <div class="p-4">352                        <h3 class="font-bold text-amber-900">Sun Hat</h3>353                        <p class="text-sm text-gray-600">View Gallery</p>354</div>355                </div>356                357                <div class="gallery-item bg-white rounded-lg overflow-hidden shadow-md transition duration-300 hover:shadow-lg">358                    <div class="relative overflow-hidden h-48">359                        <img src="http://static.photos/craft/640x360/20" alt="Plant Hanger" class="w-full h-full object-cover transition duration-500 hover:scale-110">360                        <div class="absolute inset-0 bg-black bg-opacity-0 flex items-center justify-center opacity-0 hover:opacity-100 hover:bg-opacity-20 transition">361                            <button class="bg-amber-600 text-white px-4 py-2 rounded-full">View Details</button>362                        </div>363                    </div>364                    <div class="p-4">365                        <h3 class="font-bold text-amber-900">Plant Hanger</h3>366                        <p class="text-sm text-gray-600">View Gallery</p>367</div>368                </div>369            </div>370            371        </div>372    </section>373<!-- Footer -->374    <footer class="bg-amber-800 text-amber-100 py-12">375        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">376            <div class="grid grid-cols-1 md:grid-cols-2 gap-40">377                <div>378                    <h3 class="text-lg font-bold mb-4 flex items-center">379                        <i data-feather="package" class="w-6 h-6 mr-2"></i> HookedOnHandmade380                    </h3>381                    <p class="text-sm">Handcrafted crochet items made with love and premium materials.</p>382                </div>383                <div>384                    <h3 class="text-lg font-bold mb-4">Kontakt</h3>385                    <div class="flex space-x-4 mb-4">386                    </div>387                    <p class="text-sm mb-2">388                        <i data-feather="mail" class="w-4 h-4 inline mr-2"></i> hello@hookedonhandmade.com389                    </p>390                    <p class="text-sm">391                        <i data-feather="phone" class="w-4 h-4 inline mr-2"></i> (555) 123-4567392                    </p>393                </div>394            </div>395            <div class="border-t border-amber-700 mt-12 pt-8 text-sm text-center">396                <p>&copy; 2025 PVhackovani</p>397            </div>398</div>399    </footer>400    <script>401        feather.replace();402        403        // Initialize image cycling for gallery items404        document.querySelectorAll('.gallery-item').forEach(item => {405            // Attempt to parse the data-images attribute.406            // Use an empty array if the attribute is missing or invalid.407            const imagesAttr = item.getAttribute('data-images');408            let images = [];409 410            if (imagesAttr) {411                try {412                    images = JSON.parse(imagesAttr);413                } catch (e) {414                    console.error("Error parsing data-images JSON for a gallery item:", e);415                }416            }417            418            const imgElement = item.querySelector('img');419            const imageNextButton = item.querySelector('.image-next');420            const imagePrevButton = item.querySelector('.image-prev');421 422            // Only set up rotation if we have more than one image AND the navigation buttons exist.423            if (images.length > 1 && imgElement && imageNextButton && imagePrevButton) {424                let currentImageIndex = 0;425 426                imageNextButton.addEventListener('click', (e) => {427                    e.stopPropagation(); // Stop event from propagating (e.g., to the parent item link)428                    currentImageIndex = (currentImageIndex + 1) % images.length;429                    imgElement.src = images[currentImageIndex];430                });431                432                imagePrevButton.addEventListener('click', (e) => {433                    e.stopPropagation(); // Stop event from propagating434                    // The formula handles negative indexing for seamless loop435                    currentImageIndex = (currentImageIndex - 1 + images.length) % images.length;436                    imgElement.src = images[currentImageIndex];437                });438            } else {439                // Optional: Hide navigation buttons if there's only one image or none specified440                // This ensures items without rotation don't show the buttons441                if (imageNextButton) imageNextButton.parentElement.style.display = 'none';442            }443        });444 445        // Simple animation for scroll reveal446document.addEventListener('DOMContentLoaded', function() {447            const observer = new IntersectionObserver((entries) => {448                entries.forEach(entry => {449                    if (entry.isIntersecting) {450                        entry.target.classList.add('animate-fadeIn');451                    }452                });453            }, {454                threshold: 0.1455            });456 457            document.querySelectorAll('.product-card, section').forEach((section) => {458                observer.observe(section);459            });460        });461    </script>462</body>463</html>464