← back to Model Arena
data/artifacts/1a25203f4053/hermes3-8b.html
159 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wallcovering Catalog</title>
<style>
/* Reset default browser styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Arial, sans-serif;
}
body {
max-width: 1440px;
margin: 0 auto;
padding: 20px;
}
h1 {
text-align: center;
margin-bottom: 30px;
}
.catalog {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 20px;
}
.product {
border: 1px solid #ccc;
padding: 10px;
position: relative;
}
.product img {
max-width: 100%;
height: auto;
}
.product h3 {
margin-bottom: 5px;
}
.product p {
color: #888;
}
/* Filters */
.filters {
display: flex;
justify-content: space-between;
gap: 10px;
margin-bottom: 20px;
}
.filter-btn {
padding: 5px 10px;
border: 1px solid #ccc;
cursor: pointer;
}
/* Search */
.search-container {
margin-bottom: 20px;
}
.search-input {
padding: 5px;
border: 1px solid #ccc;
width: calc(100% - 60px);
}
.search-btn {
padding: 5px 10px;
border: 1px solid #ccc;
}
/* Sort */
.sort-container {
margin-bottom: 20px;
}
.sort-option {
margin-right: 10px;
cursor: pointer;
}
/* Empty state and error state */
.empty-state,
.error-state {
text-align: center;
margin-top: 50px;
}
.empty-state img,
.error-state img {
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
<h1>Wallcovering Catalog</h1>
<!-- Filters -->
<div class="filters">
<button class="filter-btn">All</button>
<button class="filter-btn">Textured</button>
<button class="filter-btn">Solid Color</button>
<button class="filter-btn">Patterned</button>
</div>
<!-- Search -->
<div class="search-container">
<input type="text" class="search-input" placeholder="Search by name or SKU...">
<button class="search-btn">Search</button>
</div>
<!-- Sort -->
<div class="sort-container">
<span class="sort-option" aria-haspopup="listbox" role="option" aria-label="Sort by">Sort by:</span>
<span class="sort-option" aria-haspopup="listbox" role="option" aria-label="Price (low to high)">Price (low to high)</span>
<span class="sort-option" aria-haspopup="listbox" role="option" aria-label="Price (high to low)">Price (high to low)</span>
</div>
<!-- Catalog -->
<div class="catalog">
<!-- Repeat this structure for each product, adjust data accordingly -->
<div class="product">
<img src="texture-wallpaper.jpg" alt="">
<h3>Textured Linen</h3>
<p>Sku: TXT-001 | $50/sq yard | In Stock</p>
</div>
<!-- More products... -->
</div>
<!-- Empty State -->
<div class="empty-state">
<img src="empty-state.png" alt="">
<h2>No results found.</h2>
</div>
<!-- Error State -->
<div class="error-state hidden">
<img src="error-state.png" alt="">
<h2>Error occurred. Please try again later.</h2>
</div>
<script>
// Add your JavaScript functionality here
console.log("Add interactivity using JavaScript");
</script>
</body>
</html>