обавлена страница для пожертвований

- Создан новый шаблон donate.html с информацией о пожертвованиях

- обавлены QR-коды для криптовалютных кошельков (Bitcoin и TonCoin)

- обавлен эндпоинт /donate в app.py

- обавлен пункт меню 'Support Us' в навигацию

- есь контент страницы на английском языке

- даптивный дизайн с использованием Bootstrap
This commit is contained in:
Vlad 2025-05-07 01:03:20 +03:00
parent 273eec2726
commit 00764d9f2b
3 changed files with 94 additions and 6 deletions

6
app.py
View File

@ -769,7 +769,7 @@ def ads_txt():
def logo():
return send_file(app_path+"/static/favicon.ico")
@app.route('/rate')
@app.route('/limit')
def rate_limit():
try:
return render_template('rate_limit.html', site=site)
@ -777,6 +777,10 @@ def rate_limit():
app.logger.error(traceback.format_exc())
return 'bad request!', 500
@app.route('/donate')
def donate():
return render_template('donate.html')
def get_ip(req) -> str:
if 'X-Forwarded-For' in req.headers:

67
templates/donate.html Normal file
View File

@ -0,0 +1,67 @@
{% extends "head.html" %}
{% block content %}
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card shadow">
<div class="card-body text-center">
<h1 class="card-title mb-4">Support SalvageDB</h1>
<div class="mb-5">
<p class="lead">
For 15 years, we have been providing free access to vehicle history information,
helping people make informed decisions when purchasing used vehicles.
</p>
<p>
Our database contains information about damaged, salvaged, and rebuilt
vehicles, helping to avoid purchasing a car with hidden issues.
</p>
</div>
<div class="mb-5">
<h2 class="h4 mb-3">Support Our Project</h2>
<p>
Your support helps us continue providing quality service and developing
our database. We accept donations in cryptocurrency.
</p>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<div class="card h-100">
<div class="card-body">
<h3 class="h5 mb-3">Bitcoin</h3>
<img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=16uL5x6qx8yF7k4uxyQVfz5N7yLE9F3iCZ"
alt="Bitcoin QR Code" class="img-fluid mb-3">
<p class="mb-2">Wallet Address:</p>
<code class="d-block mb-3">16uL5x6qx8yF7k4uxyQVfz5N7yLE9F3iCZ</code>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card h-100">
<div class="card-body">
<h3 class="h5 mb-3">TonCoin</h3>
<img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=UQDi0mgMaDqXORp7UzV6n7E5WFC0yre0on63BSO2tIa7umFe"
alt="TonCoin QR Code" class="img-fluid mb-3">
<p class="mb-2">Wallet Address:</p>
<code class="d-block mb-3">UQDi0mgMaDqXORp7UzV6n7E5WFC0yre0on63BSO2tIa7umFe</code>
</div>
</div>
</div>
</div>
<div class="mt-4">
<p class="text-muted">
Thank you for your support! Every donation helps us improve our service
and provide better information to our users.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -16,12 +16,12 @@
<meta property="fb:admins" content="100000893732418">
<meta http-equiv="Content-Language" content="en">
<title>{% block title %}{% endblock %} - {{ site }}</title>
<link href="https://storage.googleapis.com/static.salvagedb.com/favicon.ico" rel="shortcut icon"
type="image/x-icon">
<link href="/static/icons/icon-72x72.png" rel="shortcut icon"
type="image/png">
<link rel="manifest" href="/static/manifest.json">
<meta name="theme-color" content="#0d6efd">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/bootstrap-responsive.min.css" rel="stylesheet">
<link href="/static/plus.css" rel="stylesheet">
<link href="/static/plus2.css" rel="stylesheet">
<link href="/static/styles.css" rel="stylesheet">
<!-- Yatomo -->
@ -65,6 +65,20 @@
});
</script>
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/static/sw.js')
.then(registration => {
console.log('ServiceWorker registration successful');
})
.catch(err => {
console.log('ServiceWorker registration failed: ', err);
});
});
}
</script>
<link rel="stylesheet"
href="data:text/css;charset=utf-8;base64,LyogU2V0IHRoZSBhcHAgYXR0cmlidXRlIHRvIHlvdXIgYXBwJ3MgZGFzaC1kZWxpbWl0ZWQgYWxpYXMuICovCmNsb3VkZmxhcmUtYXBwW2FwcD0ieW91ci1hcHAtbmFtZSJdIHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW46IDAuNWVtIDAuMmVtOwogIG91dGxpbmU6IDFweCBkb3R0ZWQ7CiAgcGFkZGluZzogMC41ZW07Cn0KCi8qIFVzZSBuYXRpdmUgZWxlbWVudHMgd2hlbiB5b3UnZCBsaWtlIHRvIGluaGVyaXQgc29tZSBzdHlsZXMgZnJvbSB0aGUgcGFnZS4gKi8KY2xvdWRmbGFyZS1hcHBbYXBwPSJ5b3VyLWFwcC1uYW1lIl0gcCB7CiAgdGV4dC1pbmRlbnQ6IDA7Cn0KCi8qIFVzZSBlbSB1bml0cyB0byBzY2FsZSBlbGVtZW50cyBmb3IgZGlmZmVyZW50IGluaGVyaXRlZCBzdHlsZXMuICovCmNsb3VkZmxhcmUtYXBwW2FwcD0ieW91ci1hcHAtbmFtZSJdIGgxIHsKICBmb250LXNpemU6IDEuOGVtOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgovKiBVc2UgY3VzdG9tIGVsZW1lbnRzIHRvIGF2b2lkIHN0eWxlIGluaGVyaXRhbmNlLiAqLwpjbG91ZGZsYXJlLWFwcFthcHA9InlvdXItYXBwLW5hbWUiXSBleGFtcGxlLWJ1dHRvbiB7CiAgYm9yZGVyOiAxcHggc29saWQ7Cn0KCi8qIFByZWZpeCBjbGFzc2VzIHdpdGggeW91ciBhcHAncyBhbGlhcyB0byBhdm9pZCBzdHlsZSBjb2xsaXNpb25zLiAqLwpjbG91ZGZsYXJlLWFwcFthcHA9InlvdXItYXBwLW5hbWUiXSAuZXhhbXBsZS1oaWdobGlnaHRlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OwogIG91dGxpbmU6IDAuMmVtIHNvbGlkIHllbGxvdzsKfQo=">
{% block head %}{% endblock %}
@ -90,6 +104,9 @@
<li class="nav-item">
<a class="nav-link" href="/decodevin.html">Decode VIN</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('donate') }}">Support Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="mailto:info@salvagedb.com">Contact</a>
</li>