Обновлен файл .cursorignore: исключены файлы, не имеющие смысла для контекста проекта (gips.txt, ips.txt, killapp.sh, refresh_ip.sh, sync_cloud_nginx.sh, watchdog.sh)
This commit is contained in:
parent
e52f7ea5d9
commit
5609607c72
6
.cursorignore
Normal file
6
.cursorignore
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
gips.txt
|
||||||
|
ips.txt
|
||||||
|
killapp.sh
|
||||||
|
refresh_ip.sh
|
||||||
|
sync_cloud_nginx.sh
|
||||||
|
watchdog.sh
|
||||||
@ -1,31 +0,0 @@
|
|||||||
from PIL import Image
|
|
||||||
import os
|
|
||||||
|
|
||||||
def generate_icons():
|
|
||||||
# Создаем директорию если её нет
|
|
||||||
if not os.path.exists('static/icons'):
|
|
||||||
os.makedirs('static/icons')
|
|
||||||
|
|
||||||
# Открываем исходное изображение
|
|
||||||
source = Image.open('static/Logo2.png')
|
|
||||||
|
|
||||||
# Размеры иконок
|
|
||||||
sizes = [72, 96, 128, 144, 152, 192, 384, 512]
|
|
||||||
|
|
||||||
# Генерируем иконки каждого размера
|
|
||||||
for size in sizes:
|
|
||||||
# Создаем новое изображение с белым фоном
|
|
||||||
icon = Image.new('RGBA', (size, size), (255, 255, 255, 0))
|
|
||||||
|
|
||||||
# Изменяем размер исходного изображения
|
|
||||||
resized = source.resize((size, size), Image.Resampling.LANCZOS)
|
|
||||||
|
|
||||||
# Вставляем в центр
|
|
||||||
icon.paste(resized, (0, 0))
|
|
||||||
|
|
||||||
# Сохраняем
|
|
||||||
icon.save(f'static/icons/icon-{size}x{size}.png', 'PNG')
|
|
||||||
print(f'Создана иконка {size}x{size}')
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
generate_icons()
|
|
||||||
BIN
static/logo2.png
Normal file
BIN
static/logo2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
51
static/manifest.json
Normal file
51
static/manifest.json
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"name": "Salvagedb",
|
||||||
|
"short_name": "Salvagedb",
|
||||||
|
"description": "Check vehicle history and salvage information",
|
||||||
|
"start_url": "/",
|
||||||
|
"display": "standalone",
|
||||||
|
"background_color": "#ffffff",
|
||||||
|
"theme_color": "#0d6efd",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-72x72.png",
|
||||||
|
"sizes": "72x72",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-96x96.png",
|
||||||
|
"sizes": "96x96",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-128x128.png",
|
||||||
|
"sizes": "128x128",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-144x144.png",
|
||||||
|
"sizes": "144x144",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-152x152.png",
|
||||||
|
"sizes": "152x152",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-384x384.png",
|
||||||
|
"sizes": "384x384",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/static/icons/icon-512x512.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
static/salvagedblogo.png
Normal file
BIN
static/salvagedblogo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 94 KiB |
BIN
static/stamp256.png
Normal file
BIN
static/stamp256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
BIN
static/stamp_big.png
Normal file
BIN
static/stamp_big.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
39
templates/base.html
Normal file
39
templates/base.html
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>{% block title %}{{ site }}{% endblock %}</title>
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
|
||||||
|
{% block head %}{% endblock %}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="{{ url_for('index_html') }}">{{ site }}</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarNav">
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ url_for('index_html') }}">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ url_for('decodevin_html') }}">Decode VIN</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ url_for('donate') }}">Support Us</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
{% block scripts %}{% endblock %}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
178
templates/report_pdf.html
Normal file
178
templates/report_pdf.html
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Vehicle History Report</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #333;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
.header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
border-bottom: 2px solid #333;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
.header h1 {
|
||||||
|
font-size: 24px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.header p {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
.report-date {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.section {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
font-size: 18px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
table, th, td {
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
th, td {
|
||||||
|
padding: 10px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
th {
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
margin-top: 50px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #666;
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
.disclaimer {
|
||||||
|
font-size: 10px;
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="header">
|
||||||
|
<h1>Vehicle History Report</h1>
|
||||||
|
<p>SALVAGEDB.COM - Comprehensive Vehicle History Check</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="report-date">
|
||||||
|
<p>Report Date: {{report_date}}</p>
|
||||||
|
<p>Report ID: {{report_id}}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<h2 class="section-title">Vehicle Information</h2>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><strong>VIN</strong></td>
|
||||||
|
<td>{{vin}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Make</strong></td>
|
||||||
|
<td>{{det[0][1]}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Model</strong></td>
|
||||||
|
<td>{{det[0][2]}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Year</strong></td>
|
||||||
|
<td>{{det[0][3]}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Body Style</strong></td>
|
||||||
|
<td>{{det[0][4]}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Engine</strong></td>
|
||||||
|
<td>{{det[0][5]}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Cylinders</strong></td>
|
||||||
|
<td>{{det[0][6]}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Drive</strong></td>
|
||||||
|
<td>{{det[0][7]}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if his %}
|
||||||
|
<div class="section">
|
||||||
|
<h2 class="section-title">Salvage History</h2>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>VIN</th>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Odometer</th>
|
||||||
|
<th>Odometer Status</th>
|
||||||
|
<th>Primary Damage</th>
|
||||||
|
<th>Secondary Damage</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for it in his %}
|
||||||
|
<tr>
|
||||||
|
<td>{{it[1]}}</td>
|
||||||
|
<td>{{it[2]}}</td>
|
||||||
|
<td>{{it[3]}}</td>
|
||||||
|
<td>{{it[4]}}</td>
|
||||||
|
<td>{{it[5]}}</td>
|
||||||
|
<td>{{it[6]}}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="section">
|
||||||
|
<div class="alert-warning" style="padding: 15px; background-color: #fcf8e3; border: 1px solid #faebcc; color: #8a6d3b;">
|
||||||
|
<h2 style="font-size: 16px; margin: 0;">Salvage history not found.</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="disclaimer">
|
||||||
|
<p><strong>Disclaimer:</strong> This report provides information about salvage or junk vehicles; damage from hail, flood or fire; mileage discrepancies or odometer rollback; and gray market vehicles. We do not claim that the car got in our databank has salvage title, but the fact that it has been damaged for sure. Our site helps people avoid buying a damaged vehicle in the past.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
<p>© {{current_year}} SalvageDB.com - All Rights Reserved</p>
|
||||||
|
<p>This report is provided as is without any guarantees or warranty. For additional assistance, please contact us.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -54,13 +54,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- PDF Report Download Button -->
|
|
||||||
<div class="mt-3">
|
|
||||||
<a href="/salvagereport/{{vin}}" class="btn btn-primary w-100">
|
|
||||||
<i class="fas fa-file-pdf me-2"></i> Download PDF Report
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -98,6 +91,13 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- PDF Report Download Button -->
|
||||||
|
<div class="mt-3">
|
||||||
|
<a href="/salvagereport/{{vin}}" class="btn btn-primary w-100">
|
||||||
|
<i class="fas fa-file-pdf me-2"></i> Download PDF Report
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user