<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
{% block title %}NOVA-LINK
{% endblock %}
</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block stylesheets %}
<style>
/* Bootstrap CSS */
link {
href: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css";
rel: "stylesheet";
}
/* Bootstrap Icons */
link {
href: "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css";
rel: "stylesheet";
}
/* Favicon */
link {
rel: "icon";
href: "{{ asset('favicon.ico') }}";
}
:root {
--primary: rgb(255, 255, 255);
--secondary: #3498db;
--light: #ecf0f1;
--white: #ffffff;
--gray: #6c757d;
--primary_color: #4e73df;
--primary_dark_color: #2e59d9;
--site-name: "Nova-Link";
}
html,
body {
font-family: 'Helvetica', sans-serif;
height: 100%;
}
main {
flex: 1 0 auto; /* This makes the main container stretch */
}
body {
font-family: 'Arial', sans-serif;
margin: 0;
padding: 0;
color: #333;
background-color: var(--white);
display: flex;
flex-direction: column;
min-height: 100vh;
}
.navbar {
background-color: var(--primary);
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
border-bottom: 1px solid black;
}
.nav-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
display: flex;
align-items: center;
}
.navbar-brand {
color: white;
font-size: 1.8rem;
font-weight: 700;
text-decoration: none;
letter-spacing: 1px;
}
.auth-controls {
display: flex;
align-items: center;
gap: 20px;
margin-left: auto;
}
.language-switcher {
display: flex;
border-radius: 4px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.3);
}
.language-btn {
padding: 5px 15px;
background: transparent;
color: var(--white);
border: none;
font-size: 0.9rem;
cursor: pointer;
transition: all 0.3s;
}
.language-btn.active {
background: rgba(255, 255, 255, 0.1);
}
.login-btn {
padding: 8px 20px;
background: transparent;
color: black;
border: 1px solid rgb(0, 0, 0);
border-radius: 4px;
font-size: 0.9rem;
text-decoration: none;
transition: all 0.3s;
}
.login-btn:hover {
background: rgba(0, 0, 0, 0.1);
}
.username-display {
color: red;
font-size: 0.9rem;
margin-right: 10px;
}
/* Hero Section */
.hero-section {
background: rgb(255, 255, 255);
color: black;
text-align: center;
padding: 100px 0;
position: relative;
}
.hero-content {
max-width: 800px;
margin: 0 auto;
padding: 0 20px;
}
.hero-title {
font-size: 2.8rem;
/* font-weight: 700; */
margin-bottom: 20px;
line-height: 1.2;
}
.hero-subtitle {
font-size: 1.3rem;
opacity: 0.9;
margin-bottom: 40px;
}
.hero-buttons {
display: flex;
justify-content: center;
/* gap: 20px; */
}
.hero-btn {
display: inline-block;
padding: 12px 30px;
border-radius: 5px;
font-weight: 600;
text-decoration: none;
transition: all 0.3s;
font-size: 1rem;
margin-right: 10px;
}
.btn-primary,
.btn-submit {
background: #6C657D;
color: white;
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.btn-outline {
color: black;
background: rgba(0, 0, 0, 0.06);
}
.btn-outline:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
/* Containers */
.registration-container,
.login-container,
.stub-container,
.contact-container {
background: #F8F9FA;
border-radius: 10px;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
padding: 2rem;
margin: 2rem auto;
max-width: 500px;
}
.stub-container {
max-width: 800px;
margin: 3rem auto;
padding: 2rem;
}
.form-check-input[type=radio] {
margin-right: 0.5rem;
}
.form-check-inline {
display: inline-block;
margin-right: 1rem;
}
/* Footer */
.footer {
border-top: 1px solid black;
background-color: var(--primary);
color: black;
padding: 60px 0 30px;
flex-shrink: 0;
}
.footer-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.footer-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 40px;
margin-bottom: 50px;
}
.footer-column h4 {
font-size: 1.1rem;
margin-bottom: 20px;
font-weight: 600;
}
.footer-links {
list-style: none;
padding: 0;
margin: 0;
}
.footer-links li {
margin-bottom: 12px;
}
.footer-links a {
color: rgb(0, 0, 0);
text-decoration: none;
transition: color 0.3s;
font-size: 0.9rem;
}
.footer-links a:hover {
color: rgb(0, 92, 20);
}
.footer-bottom {
text-align: center;
padding-top: 30px;
border-top: 1px solid rgb(0, 0, 0);
color: rgba(0, 0, 0, 0.5);
font-size: 0.85rem;
}
/* Form styles */
.form-control:focus {
box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
border-color: var(--primary);
}
.alert {
margin-top: 1rem;
}
.btn-link {
color: var(--primary);
font-weight: 500;
}
.btn-link:hover {
color: #1a252f;
text-decoration: underline;
}
.content-section {
text-align: justify;
text-indent: 20px;
}
#registration_form_userType_1 {
margin-left: 10px;
}
.forgot-password-link {
color: #6c757d;
text-decoration: none;
font-size: 0.9rem;
transition: color 0.3s;
}
.forgot-password-link:hover {
color: #0056b3;
text-decoration: underline;
}
</style>
{% endblock %}
</head>
<body>
{# Navigation bar #}
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="nav-container">
<a class="navbar-brand" href="{{ path('app_home') }}">
<img height="60px" src="{{ asset('/images/photo_2025-06-11_01-39-06.jpg') }}" alt="Logo">
</a>
<div class="auth-controls">
{# Language Switcher (commented out) #}
{#
<div class="language-switcher">
<button class="language-btn active" aria-label="Switch to English">EN</button>
<a href="https://nova-link-china.cn" class="language-btn" aria-label="Switch to Chinese version">中文</a>
</div>
#}
{% if app.user %}
<div class="d-flex align-items-center gap-3"> {% if is_granted('ROLE_ADMIN') %}
<a
href="{{ path('admin_dashboard') }}" class="text-white text-decoration-none" title="Admin Panel">
{# Изменено на admin_dashboard #}
<i class="bi bi-gear-fill" style="font-size: 1.25rem;"></i>
</a>
{% endif %}
{# Изменение: Проверка роли для ссылки имени пользователя #}
{% if is_granted('ROLE_ADMIN') %}
<a
href="{{ path('admin_dashboard') }}" class="username-display text-white text-decoration-none">
{# Ведёт на админку #}
<i class="bi bi-person-circle me-1"></i>
{{ app.user.username }}
</a>
{% else %}
<a
href="{{ path('account_dashboard') }}" class="username-display text-white text-decoration-none">
{# Ведёт на обычный дашборд #}
<i class="bi bi-person-circle me-1"></i>
{{ app.user.username }}
</a>
{% endif %}
<a href="{{ path('app_logout') }}" class="login-btn">
<i class="bi bi-box-arrow-right"></i>
Logout
</a>
</div>
{% else %}
<a href="{{ path('app_login') }}" class="login-btn">Login</a>
<a href="{{ path('app_register') }}" class="login-btn">Register</a>
{% endif %}
</div>
</div>
</nav>
{# Main content #}
<main class="flex-grow-1"> {% block body %}{% endblock %}
</main>
{# Footer #}
<footer class="footer mt-auto py-4">
<div class="footer-container">
<div class="footer-grid">
<div class="footer-column">
<h4>Services</h4>
<ul class="footer-links">
<li>
<a href="{{ path('app_vulnerability_sales') }}">Vulnerability Sales Market</a>
</li>
<li>
<a href="{{ path('app_achievements') }}">Worldwide Achievements</a>
</li>
<li>
<a href="{{ path('app_our_data') }}">Our Data</a>
</li>
<li>
<a href="{{ path('app_how_to_work') }}">How to Work With Us</a>
</li>
</ul>
</div>
<div class="footer-column">
<h4>Hardware</h4>
<ul class="footer-links">
<li>
<a href="{{ path('app_supported_hardware') }}">Supported ASIC Hardware</a>
</li>
<li>
<a href="{{ path('app_download_agreement') }}">Download Agreement</a>
</li>
</ul>
</div>
<div class="footer-column">
<h4>Legal</h4>
<ul class="footer-links">
<li>
<a href="{{ path('app_terms_of_use') }}">Terms of Use</a>
</li>
<li>
<a href="{{ path('app_privacy') }}">Privacy Statement</a>
</li>
<li>
<a href="{{ path('app_public_offer') }}">Public Offer</a>
</li>
<li>
<a href="{{ path('app_kyc_procedure') }}">KYC Policy</a>
</li>
</ul>
</div>
<div class="footer-column">
<h4>Account</h4>
<ul class="footer-links">
<li>
<a href="{{ path('app_register') }}">Registration</a>
</li>
<li>
<a href="{{ path('app_login') }}">Log In</a>
</li>
<li>
<a href="{{ path('app_contact') }}">Contact Us</a>
</li>
</ul>
</div>
</div>
<p class="footer-bottom">© 2024 NOVA-LINK. All rights reserved.</p>
</div>
</footer>
{# Bootstrap JS + Popper #}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0"></script>
<!-- Moment.js -->
<script src="https://cdn.jsdelivr.net/npm/moment@2.29.4/moment.min.js"></script>
<!-- Chart.js adapter for Moment.js -->
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-moment@1.0.1/dist/chartjs-adapter-moment.min.js"></script>
<!-- Ваш скрипт worker-stats.js -->
<script src="{{ asset('js/worker-stats.js') }}"></script>
{# Additional JS from child templates #}{% block javascripts %}
{% endblock %}
</body>
</html>