Files
yarmarka/templates/terms.html
2026-03-17 20:01:50 +03:00

557 lines
23 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Пользовательское соглашение | МП.Ярмарка</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
body {
background: linear-gradient(145deg, #eef5fa 0%, #e0eaf5 100%);
min-height: 100vh;
}
.container {
max-width: 900px;
margin: 0 auto;
padding: 20px;
}
.header {
background: #0b1c34;
color: white;
padding: 20px 40px;
border-radius: 40px;
margin-bottom: 40px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 20px;
}
.logo {
font-size: 28px;
font-weight: 700;
display: flex;
align-items: center;
gap: 15px;
cursor: pointer;
}
.logo i {
color: #3b82f6;
background: rgba(255,255,255,0.1);
padding: 12px;
border-radius: 20px;
}
.nav {
display: flex;
gap: 15px;
align-items: center;
flex-wrap: wrap;
}
.nav a {
color: white;
text-decoration: none;
padding: 10px 20px;
border-radius: 30px;
transition: 0.2s;
}
.nav a:hover {
background: rgba(255,255,255,0.1);
}
.nav .active {
background: #3b82f6;
}
.profile-link {
display: flex;
align-items: center;
gap: 8px;
background: #3b82f6;
padding: 8px 20px !important;
}
.admin-badge {
background: #f59e0b;
color: white;
padding: 2px 8px;
border-radius: 20px;
font-size: 12px;
margin-left: 5px;
}
.back-link {
display: inline-block;
margin-bottom: 20px;
color: #4f7092;
text-decoration: none;
font-size: 16px;
transition: 0.2s;
}
.back-link i {
margin-right: 8px;
}
.back-link:hover {
color: #0b1c34;
}
.content-card {
background: white;
border-radius: 40px;
padding: 50px;
box-shadow: 0 20px 40px rgba(0,20,40,0.1);
margin-bottom: 40px;
}
.content-card h1 {
font-size: 36px;
color: #0b1c34;
margin-bottom: 20px;
font-weight: 700;
border-bottom: 2px solid #dee9f5;
padding-bottom: 20px;
}
.last-updated {
background: #f0f7ff;
padding: 15px 20px;
border-radius: 30px;
margin-bottom: 30px;
color: #1f3f60;
font-size: 14px;
display: flex;
align-items: center;
gap: 10px;
}
.last-updated i {
color: #3b82f6;
}
.section {
margin-bottom: 40px;
}
.section h2 {
font-size: 24px;
color: #0b1c34;
margin-bottom: 20px;
font-weight: 600;
display: flex;
align-items: center;
gap: 10px;
}
.section h2 i {
color: #3b82f6;
}
.section h3 {
font-size: 18px;
color: #1f3f60;
margin: 20px 0 10px;
font-weight: 600;
}
.section p {
color: #4f7092;
line-height: 1.8;
margin-bottom: 15px;
font-size: 16px;
}
.section ul, .section ol {
color: #4f7092;
line-height: 1.8;
margin-bottom: 20px;
padding-left: 25px;
}
.section li {
margin-bottom: 8px;
}
.highlight-box {
background: #f9fcff;
border-left: 4px solid #3b82f6;
padding: 25px;
border-radius: 20px;
margin: 30px 0;
}
.highlight-box p {
margin-bottom: 0;
}
.definition-term {
font-weight: 600;
color: #0b1c34;
}
.table-of-contents {
background: #f9fcff;
border-radius: 30px;
padding: 25px;
margin-bottom: 40px;
}
.table-of-contents h3 {
color: #0b1c34;
margin-bottom: 15px;
font-size: 18px;
}
.table-of-contents ul {
list-style: none;
padding: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 10px;
}
.table-of-contents li {
margin-bottom: 5px;
}
.table-of-contents a {
color: #3b82f6;
text-decoration: none;
display: block;
padding: 8px 12px;
border-radius: 20px;
transition: 0.2s;
}
.table-of-contents a:hover {
background: #eef4fa;
color: #0b1c34;
}
.footer {
text-align: center;
padding: 30px 0;
color: #9bb8da;
font-size: 14px;
border-top: 1px solid rgba(255,255,255,0.1);
margin-top: 20px;
}
.footer a {
color: white;
text-decoration: none;
margin: 0 10px;
}
.footer a:hover {
color: #3b82f6;
}
.notification {
position: fixed;
top: 20px;
right: 20px;
padding: 16px 24px;
border-radius: 30px;
background: white;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
z-index: 9999;
animation: slideIn 0.3s;
max-width: 350px;
display: none;
}
.notification.success {
background: #10b981;
color: white;
}
.notification.error {
background: #ef4444;
color: white;
}
.notification.info {
background: #3b82f6;
color: white;
}
@keyframes slideIn {
from { transform: translateX(100%); opacity: 0; }
to { transform: translateX(0%); opacity: 1; }
}
@media (max-width: 768px) {
.content-card {
padding: 30px 20px;
}
.content-card h1 {
font-size: 28px;
}
.table-of-contents ul {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="logo" onclick="window.location.href='/'">
<i class="fas fa-briefcase"></i>
МП.Ярмарка
</div>
<div class="nav" id="nav">
<!-- Навигация будет заполнена динамически -->
</div>
</div>
<a href="javascript:history.back()" class="back-link"><i class="fas fa-arrow-left"></i> Назад</a>
<div class="content-card">
<h1>Пользовательское соглашение</h1>
<div class="last-updated">
<i class="fas fa-calendar-alt"></i>
Последнее обновление: 17 марта 2026 года
</div>
<div class="table-of-contents">
<h3>Содержание:</h3>
<ul>
<li><a href="#terms1">1. Общие положения</a></li>
<li><a href="#terms2">2. Статус Платформы</a></li>
<li><a href="#terms3">3. Регистрация и учетная запись</a></li>
<li><a href="#terms4">4. Права и обязанности пользователей</a></li>
<li><a href="#terms5">5. Размещение информации</a></li>
<li><a href="#terms6">6. Ответственность сторон</a></li>
<li><a href="#terms7">7. Интеллектуальная собственность</a></li>
<li><a href="#terms8">8. Заключительные положения</a></li>
</ul>
</div>
<div class="section" id="terms1">
<h2><i class="fas fa-file-signature"></i> 1. Общие положения</h2>
<p>1.1. Настоящее Пользовательское соглашение (далее — Соглашение) регулирует отношения между Администрацией сайта МП.Ярмарка (далее — Администрация) и пользователем (далее — Пользователь) при использовании платформы МП.Ярмарка (далее — Платформа).</p>
<p>1.2. Использование Платформы означает безоговорочное принятие Пользователем условий настоящего Соглашения. Если Пользователь не согласен с условиями Соглашения, он обязан прекратить использование Платформы.</p>
<p>1.3. Администрация оставляет за собой право вносить изменения в Соглашение. Новая редакция Соглашения вступает в силу с момента ее размещения на Платформе. Администрация обязуется уведомить Пользователя не менее чем за 5 рабочих дней об изменениях в Соглашении.</p>
</div>
<div class="section" id="terms2">
<h2><i class="fas fa-copyright"></i> 2. Статус Платформы</h2>
<p>2.1. МП.Ярмарка — это информационная платформа, предоставляющая возможность размещения вакансий и резюме, а также взаимодействия между соискателями и работодателями.</p>
<p>2.2. Платформа не является стороной трудовых отношений между работодателями и соискателями и не несет ответственности за их действия.</p>
<p>2.3. Администрация не проверяет достоверность информации, размещаемой Пользователями, но оставляет за собой право удалять информацию, нарушающую законодательство РФ.</p>
</div>
<div class="section" id="terms3">
<h2><i class="fas fa-user-plus"></i> 3. Регистрация и учетная запись</h2>
<p>3.1. Для доступа к функциям Платформы Пользователь должен пройти регистрацию, указав достоверную информацию о себе.</p>
<p>3.2. Пользователь несет ответственность за сохранность своих учетных данных. Все действия, совершенные с использованием учетной записи, считаются совершенными Пользователем.</p>
<p>3.3. Пользователь вправе удалить свою учетную запись в любой момент через раздел "Профиль".</p>
<div class="highlight-box">
<p><i class="fas fa-info-circle" style="color: #3b82f6; margin-right: 10px;"></i> <strong>Важно:</strong> При удалении учетной записи все размещенные вакансии и резюме становятся недоступными. Восстановление данных после удаления невозможно.</p>
</div>
</div>
<div class="section" id="terms4">
<h2><i class="fas fa-gavel"></i> 4. Права и обязанности пользователей</h2>
<p>4.1. Пользователь имеет право:</p>
<ul>
<li>Размещать информацию о вакансиях (для работодателей);</li>
<li>Размещать резюме (для соискателей);</li>
<li>Откликаться на вакансии и приглашать кандидатов;</li>
<li>Добавлять вакансии и резюме в избранное;</li>
<li>Использовать иные функции Платформы в соответствии с их назначением.</li>
</ul>
<p>4.2. Пользователь обязуется:</p>
<ul>
<li>Предоставлять достоверную информацию при регистрации и размещении контента;</li>
<li>Не размещать информацию, противоречащую законодательству РФ;</li>
<li>Не использовать Платформу для распространения спама и вредоносного ПО;</li>
<li>Не нарушать права третьих лиц.</li>
</ul>
</div>
<div class="section" id="terms5">
<h2><i class="fas fa-upload"></i> 5. Размещение информации</h2>
<p>5.1. Пользователь самостоятельно несет ответственность за содержание размещаемой информации.</p>
<p>5.2. Администрация вправе удалять информацию без объяснения причин, если она:</p>
<ul>
<li>Содержит нецензурную лексику или оскорбления;</li>
<li>Является рекламой без соответствующей пометки;</li>
<li>Нарушает авторские права;</li>
<li>Содержит персональные данные третьих лиц без их согласия;</li>
<li>Иным образом нарушает законодательство РФ.</li>
</ul>
</div>
<div class="section" id="terms6">
<h2><i class="fas fa-balance-scale"></i> 6. Ответственность сторон</h2>
<p>6.1. Администрация не несет ответственности за:</p>
<ul>
<li>Временные сбои в работе Платформы;</li>
<li>Утрату данных по вине Пользователя;</li>
<li>Действия других Пользователей;</li>
<li>Несоответствие ожиданий Пользователя от использования Платформы.</li>
</ul>
<p>6.2. Пользователь несет ответственность за:</p>
<ul>
<li>Достоверность предоставленной информации;</li>
<li>Соблюдение законодательства при использовании Платформы;</li>
<li>Сохранность своих учетных данных.</li>
</ul>
</div>
<div class="section" id="terms7">
<h2><i class="fas fa-lightbulb"></i> 7. Интеллектуальная собственность</h2>
<p>7.1. Все элементы Платформы, включая дизайн, логотип, программный код, являются объектами интеллектуальной собственности Администрации.</p>
<p>7.2. Пользователь сохраняет права на размещенный им контент, предоставляя Администрации право на его хранение и отображение на Платформе.</p>
</div>
<div class="section" id="terms8">
<h2><i class="fas fa-check-circle"></i> 8. Заключительные положения</h2>
<p>8.1. Настоящее Соглашение регулируется законодательством Российской Федерации.</p>
<p>8.2. Все споры решаются путем переговоров, при недостижении согласия — в судебном порядке по месту нахождения Администрации.</p>
<p>8.3. Признание судом недействительности какого-либо положения Соглашения не влечет недействительности остальных его положений.</p>
<div class="highlight-box">
<p><i class="fas fa-envelope" style="color: #3b82f6; margin-right: 10px;"></i> По всем вопросам, связанным с использованием Платформы, обращайтесь по адресу: <a href="mailto:apuc06@mail.ru" style="color: #3b82f6;">apuc06@mail.ru</a></p>
</div>
</div>
</div>
<div class="footer">
© 2026 Rabota.Today - Ярмарка вакансий |
<a href="/terms">Пользовательское соглашение</a> |
<a href="/privacy">Политика конфиденциальности</a>
</div>
</div>
<div class="notification" id="notification"></div>
<script>
const API_BASE_URL = window.location.protocol + '//' + window.location.host + '/api';
let currentUser = null;
// Функция для декодирования HTML-сущностей
function decodeHtmlEntities(text) {
if (!text) return '';
const textarea = document.createElement('textarea');
textarea.innerHTML = text;
return textarea.value;
}
function escapeHtml(unsafe) {
if (!unsafe) return '';
return unsafe.toString()
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
// Проверка авторизации
async function checkAuth() {
const token = localStorage.getItem('accessToken');
if (token) {
try {
const response = await fetch(`${API_BASE_URL}/user`, {
headers: { 'Authorization': `Bearer ${token}` }
});
if (response.ok) {
currentUser = await response.json();
} else {
localStorage.removeItem('accessToken');
}
} catch (error) {
console.error('Error checking auth:', error);
}
}
updateNavigation();
}
// Обновление навигации
function updateNavigation() {
const nav = document.getElementById('nav');
if (currentUser) {
const firstName = currentUser.full_name.split(' ')[0];
const adminBadge = currentUser.is_admin ? '<span class="admin-badge">Admin</span>' : '';
nav.innerHTML = `
<a href="/">Главная</a>
<a href="/vacancies">Вакансии</a>
<a href="/resumes">Резюме</a>
<a href="/favorites">Избранное</a>
<a href="/applications">Отклики</a>
<a href="/profile" class="profile-link">
<i class="fas fa-user-circle"></i> ${escapeHtml(firstName)} ${adminBadge}
</a>
`;
} else {
nav.innerHTML = `
<a href="/">Главная</a>
<a href="/vacancies">Вакансии</a>
<a href="/resumes">Резюме</a>
<a href="/login">Войти</a>
<a href="/register">Регистрация</a>
`;
}
}
// Показать уведомление
function showNotification(message, type = 'info') {
const notification = document.getElementById('notification');
notification.className = `notification ${type}`;
notification.innerHTML = message;
notification.style.display = 'block';
setTimeout(() => {
notification.style.display = 'none';
}, 3000);
}
// Плавная прокрутка к разделам
document.querySelectorAll('.table-of-contents a').forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
const targetId = this.getAttribute('href');
const targetElement = document.querySelector(targetId);
if (targetElement) {
targetElement.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
});
});
// Инициализация
checkAuth();
</script>
</body>
</html>