labels and stuff

This commit is contained in:
2025-04-13 21:11:55 -04:00
parent 56c2d1de47
commit 18b32c8514
26 changed files with 1627 additions and 25 deletions

View File

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
/* Setting up the page size for DK1201 label - 90x29mm */
@page {
size: 90mm 29mm;
margin: 0;
}
/* Force page breaks after each label */
body {
margin: 0;
padding: 0;
width: 90mm;
height: 29mm;
position: relative;
font-family: Arial, sans-serif;
}
.label-container {
width: 100%;
height: 100%;
position: relative;
box-sizing: border-box;
padding: 2mm;
page-break-after: always;
}
/* Main address centered */
.address {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 85mm;
text-align: center;
}
.recipient-name {
font-size: 10pt;
font-weight: bold;
margin-bottom: 1mm;
}
.address-line {
font-size: 9pt;
line-height: 1.2;
margin-bottom: 0.5mm;
}
.city-line {
font-size: 9pt;
font-weight: bold;
text-transform: uppercase;
}
</style>
</head>
<body>
<div class="label-container">
<div class="address">
<div class="recipient-name">{{ recipient_name }}</div>
<div class="address-line">{{ address_line1 }}</div>
{% if address_line2 %}<div class="address-line">{{ address_line2 }}</div>{% endif %}
<div class="city-line">{{ city }}, {{ state }} {{ zip_code }}</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,105 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
/* Setting up the page size for landscape orientation - 6x4 inches */
@page {
size: 6in 4in; /* Landscape orientation */
margin: 0;
}
/* Force page breaks after each label */
body {
margin: 0;
padding: 0;
width: 6in; /* Adjusted for landscape */
height: 4in; /* Adjusted for landscape */
position: relative;
font-family: Arial, sans-serif;
}
.label-container {
width: 100%;
height: 100%;
position: relative;
box-sizing: border-box;
padding: 0.25in;
page-break-after: always; /* Ensures a page break after each label */
}
/* Return address image in top left */
.return-address {
position: absolute;
top: 0.25in;
left: 0.25in;
width: 2.75in;
height: 0.85in;
object-fit: contain;
}
/* Stamp area in top right */
.stamp-area {
position: absolute;
top: 0.25in;
right: 0.25in;
width: 0.8in;
height: 0.9in;
border: 1px dashed #999;
display: flex;
justify-content: center;
align-items: center;
}
.stamp-text {
font-size: 8pt;
color: #999;
text-align: center;
}
/* Main address centered in the middle */
.address {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 3.5in;
text-align: center;
}
.recipient-name {
font-size: 14pt;
font-weight: bold;
margin-bottom: 0.1in;
}
.address-line {
font-size: 12pt;
line-height: 1.3;
margin-bottom: 0.05in;
}
.city-line {
font-size: 12pt;
font-weight: bold;
text-transform: uppercase;
}
</style>
</head>
<body>
<div class="label-container">
<img src="{{ return_address_path }}" class="return-address" alt="Return Address">
<div class="stamp-area">
<span class="stamp-text">PLACE<br>STAMP<br>HERE</span>
</div>
<div class="address">
<div class="recipient-name">{{ recipient_name }}</div>
<div class="address-line">{{ address_line1 }}</div>
{% if address_line2 %}<div class="address-line">{{ address_line2 }}</div>{% endif %}
<div class="city-line">{{ city }}, {{ state }} {{ zip_code }}</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
@page {
size: letter;
margin: 0.5cm;
}
body {
font-family: Arial, sans-serif;
line-height: 1.2;
font-size: 9pt;
}
.header {
text-align: center;
margin-bottom: 10px;
}
.header h1 {
margin-bottom: 2px;
font-size: 12pt;
}
.header p {
color: #666;
margin: 0;
font-size: 8pt;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
border: 2px solid #000;
}
th {
background-color: #f5f5f5;
padding: 4px;
text-align: left;
border: 1px solid #000;
font-size: 8pt;
font-weight: bold;
}
td {
padding: 3px;
border: 1px solid #000;
font-size: 9pt;
}
tr:hover {
background-color: #f9f9f9;
}
.foil {
font-weight: bold;
background-color: #e0e0e0;
}
.multiple {
font-style: italic;
}
.foil.multiple {
font-weight: bold;
font-style: italic;
background-color: #e0e0e0;
}
.quantity {
text-align: center;
width: 30px;
}
.set {
width: 150px;
}
.condition {
width: 80px;
}
.rarity {
width: 30px;
text-align: center;
}
.product-name {
width: 200px;
}
/* Add alternating row colors */
tbody tr:nth-child(even) {
background-color: #f0f0f0;
}
/* Ensure hover effect works with alternating colors */
tbody tr:hover {
background-color: #e0e0e0;
}
</style>
</head>
<body>
<div class="header">
<h1>Pull Sheet</h1>
<p>Generated on {{ generation_date }}</p>
</div>
<table>
<thead>
<tr>
<th class="product-name">Product Name</th>
<th class="condition">Condition</th>
<th class="quantity">Qty</th>
<th class="set">Set</th>
<th class="rarity">Rarity</th>
</tr>
</thead>
<tbody>
{% for item in items %}
<tr class="{{ 'foil' if 'Foil' in item.condition else '' }} {{ 'multiple' if item.quantity|int > 1 else '' }}">
<td class="product-name">{{ item.product_name }}</td>
<td class="condition">{{ item.condition }}</td>
<td class="quantity">{{ item.quantity }}</td>
<td class="set">{{ item.set }}</td>
<td class="rarity">{{ item.rarity }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>