Обновлен файл .cursorignore: исключены файлы, не имеющие смысла для контекста проекта (gips.txt, ips.txt, killapp.sh, refresh_ip.sh, sync_cloud_nginx.sh, watchdog.sh)

This commit is contained in:
Vlad 2025-05-12 17:40:57 +03:00
parent e52f7ea5d9
commit 5609607c72
10 changed files with 281 additions and 38 deletions

6
.cursorignore Normal file
View File

@ -0,0 +1,6 @@
gips.txt
ips.txt
killapp.sh
refresh_ip.sh
sync_cloud_nginx.sh
watchdog.sh

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

51
static/manifest.json Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
static/stamp256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
static/stamp_big.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

39
templates/base.html Normal file
View 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
View 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>&copy; {{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>

View File

@ -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 %}