labels and stuff
This commit is contained in:
70
app/data/assets/templates/address_label_dk1201.html
Normal file
70
app/data/assets/templates/address_label_dk1201.html
Normal 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>
|
105
app/data/assets/templates/address_label_dk1241.html
Normal file
105
app/data/assets/templates/address_label_dk1241.html
Normal 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>
|
136
app/data/assets/templates/pull_sheet.html
Normal file
136
app/data/assets/templates/pull_sheet.html
Normal 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>
|
Reference in New Issue
Block a user