Add 1.html
This commit is contained in:
commit
20564a74cf
348
1.html
Normal file
348
1.html
Normal file
@ -0,0 +1,348 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Invoice {{invoiceNumber}}</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
padding: 40px;
|
||||
color: #1a1a1a;
|
||||
line-height: 1.6;
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 48px;
|
||||
padding-bottom: 24px;
|
||||
border-bottom: 3px solid {{highlightColor}};
|
||||
}
|
||||
|
||||
.company-info {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.company-name {
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
color: {{highlightColor}};
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.company-details {
|
||||
font-size: 13px;
|
||||
color: #666;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.invoice-title {
|
||||
text-align: right;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.invoice-title h1 {
|
||||
font-size: 36px;
|
||||
font-weight: 700;
|
||||
color: #1a1a1a;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.invoice-number {
|
||||
font-size: 16px;
|
||||
color: #666;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.invoice-meta {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 40px;
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.meta-section {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.meta-section h3 {
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
color: #999;
|
||||
margin-bottom: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.meta-content {
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.meta-content div {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.customer-name {
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
color: #1a1a1a;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.dates-section {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.date-item {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.date-label {
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.date-value {
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.items-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.items-table thead {
|
||||
background-color: {{highlightColorLight}};
|
||||
}
|
||||
|
||||
.items-table th {
|
||||
padding: 14px 12px;
|
||||
text-align: left;
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
color: #666;
|
||||
font-weight: 600;
|
||||
border-bottom: 2px solid {{highlightColor}};
|
||||
}
|
||||
|
||||
.items-table th:last-child,
|
||||
.items-table td:last-child {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.items-table tbody tr {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.items-table tbody tr:hover {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.items-table td {
|
||||
padding: 16px 12px;
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.item-description {
|
||||
font-weight: 500;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
||||
.totals-section {
|
||||
margin-left: auto;
|
||||
width: 350px;
|
||||
padding: 24px;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.total-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 0;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.total-row.subtotal {
|
||||
color: #666;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.total-row.grand-total {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: {{highlightColor}};
|
||||
border-top: 2px solid {{highlightColor}};
|
||||
padding-top: 16px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top: 48px;
|
||||
padding-top: 24px;
|
||||
border-top: 1px solid #eee;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.notes-section {
|
||||
margin-top: 32px;
|
||||
padding: 20px;
|
||||
background-color: #f9f9f9;
|
||||
border-left: 4px solid {{highlightColor}};
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.notes-section h3 {
|
||||
font-size: 14px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
color: #666;
|
||||
margin-bottom: 8px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.notes-section p {
|
||||
font-size: 13px;
|
||||
color: #555;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.items-table tbody tr:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<div class="company-info">
|
||||
<div class="company-name">{{companyName}}</div>
|
||||
<div class="company-details">
|
||||
{{#companyAddress}}
|
||||
<div>{{companyAddress}}</div>
|
||||
{{/companyAddress}}
|
||||
{{#companyEmail}}
|
||||
<div>{{companyEmail}}</div>
|
||||
{{/companyEmail}}
|
||||
{{#companyPhone}}
|
||||
<div>{{companyPhone}}</div>
|
||||
{{/companyPhone}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="invoice-title">
|
||||
<h1>INVOICE</h1>
|
||||
<div class="invoice-number">#{{invoiceNumber}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="invoice-meta">
|
||||
<div class="meta-section">
|
||||
<h3>Bill To</h3>
|
||||
<div class="meta-content">
|
||||
<div class="customer-name">{{customerName}}</div>
|
||||
{{#customerAddress}}
|
||||
<div>{{customerAddress}}</div>
|
||||
{{/customerAddress}}
|
||||
{{#customerEmail}}
|
||||
<div>{{customerEmail}}</div>
|
||||
{{/customerEmail}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="meta-section dates-section">
|
||||
<div class="date-item">
|
||||
<div class="date-label">Issue Date</div>
|
||||
<div class="date-value">{{issueDate}}</div>
|
||||
</div>
|
||||
{{#dueDate}}
|
||||
<div class="date-item">
|
||||
<div class="date-label">Due Date</div>
|
||||
<div class="date-value">{{dueDate}}</div>
|
||||
</div>
|
||||
{{/dueDate}}
|
||||
{{#status}}
|
||||
<div class="date-item">
|
||||
<div class="date-label">Status</div>
|
||||
<div class="date-value">{{status}}</div>
|
||||
</div>
|
||||
{{/status}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="items-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Description</th>
|
||||
<th>Quantity</th>
|
||||
<th>Unit Price</th>
|
||||
<th>Total</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#items}}
|
||||
<tr>
|
||||
<td class="item-description">{{description}}</td>
|
||||
<td>{{quantity}}</td>
|
||||
<td>{{unitPrice}}</td>
|
||||
<td>{{lineTotal}}</td>
|
||||
</tr>
|
||||
{{/items}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="totals-section">
|
||||
{{#subtotal}}
|
||||
<div class="total-row subtotal">
|
||||
<span>Subtotal</span>
|
||||
<span>{{subtotal}}</span>
|
||||
</div>
|
||||
{{/subtotal}}
|
||||
{{#tax}}
|
||||
<div class="total-row">
|
||||
<span>Tax</span>
|
||||
<span>{{tax}}</span>
|
||||
</div>
|
||||
{{/tax}}
|
||||
<div class="total-row grand-total">
|
||||
<span>Total</span>
|
||||
<span>{{total}} {{currency}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#notes}}
|
||||
<div class="notes-section">
|
||||
<h3>Notes</h3>
|
||||
<p>{{notes}}</p>
|
||||
</div>
|
||||
{{/notes}}
|
||||
|
||||
<div class="footer">
|
||||
<p>Thank you for your business!</p>
|
||||
<p>{{companyName}} • Generated on {{issueDate}}</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user