Files
tp/main_dc/yalarba/easySite/app/components/layout/Footer.vue
T
valitovgaziz 2941b14b38 flatten easySite directory: remove extra easySite/easySite nesting
- Moved contents of main_dc/yalarba/easySite/easySite/ up to easySite/
- Updated docker-compose.yml build context path
- Deleted empty nested easySite/ directory
2026-06-12 11:16:15 +05:00

394 lines
9.6 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
<template>
<footer class="footer">
<div class="container">
<!-- Основное содержимое футера -->
<div class="footer-content">
<!-- Информация о компании -->
<div class="footer-section">
<div class="footer-logo">
<div class="logo-icon">
<span class="logo-text">ES</span>
</div>
<span class="logo-name">EasySite</span>
</div>
<p class="footer-description">
Платформа для агрегации туристических объектов.
</p>
<div class="social-links">
<a href="https://vk.com/club222248484" target="_blank" class="social-link" aria-label="ВКонтакте">
<span class="social-icon">📘</span>
</a>
<a href="https://t.me/+oYymS0r6qG9lYWJi" target="_blank" class="social-link" aria-label="Telegram">
<span class="social-icon">📧</span>
</a>
<a href="https://rutube.ru/channel/26509398/" target="_blank" class="social-link" aria-label="RuTube">
<span class="social-icon">📺</span>
</a>
</div>
</div>
<!-- Реквизиты -->
<div class="footer-section">
<h3 class="footer-title"><NuxtLink href="/requisites">Реквизиты</NuxtLink></h3>
<div class="footer-info">
<div class="info-item">
<span class="info-label">ОГРН:</span>
<span class="info-value">1220200038112</span>
</div>
<div class="info-item">
<span class="info-label">ИНН:</span>
<span class="info-value">0234009584</span>
</div>
<div class="info-item">
<span class="info-label">КПП:</span>
<span class="info-value">023401001</span>
</div>
<div class="info-item">
<span class="info-label">Юр. адрес:</span>
<span class="info-value">Нет</span>
</div>
</div>
</div>
<!-- Контакты -->
<div class="footer-section">
<h3 class="footer-title"><NuxtLink href="/contact">Контакты</NuxtLink></h3>
<div class="footer-info">
<div class="info-item">
<span class="info-icon">📞</span>
<a href="tel:+79625439343" class="info-link">8 (962) 543-93-43</a>
</div>
<div class="info-item">
<span class="info-icon"></span>
<a href="mailto:valitovgaziz@yandex.ru" class="info-link">valitovgaziz@yandex.ru</a>
</div>
<div class="info-item">
<span class="info-icon">🕒</span>
<span class="info-value">Пн-Пт: 9:00-18:00</span>
</div>
<div class="info-item">
<span class="info-icon">📍</span>
<span class="info-value">г. УФа</span>
</div>
</div>
</div>
<!-- Вакансии -->
<div class="footer-section">
<h3 class="footer-title"><NuxtLink to="/vacations">Карьера</NuxtLink></h3>
<div class="footer-links">
<NuxtLink href="/vacations" class="footer-link">💼 Открытые вакансии</NuxtLink>
<NuxtLink href="/partner" class="footer-link">👥 Стать партнером</NuxtLink>
<NuxtLink href="/about" class="footer-link">🏢 О компании</NuxtLink>
<NuxtLink href="/news" class="footer-link">📰 Новости</NuxtLink>
</div>
</div>
<!-- Навигация -->
<div class="footer-section">
<h3 id="poleznoe" class="footer-title">Полезное</h3>
<div class="footer-links">
<NuxtLink to="/objects" class="footer-link">🔍 Все объекты</NuxtLink>
<NuxtLink to="/objects/create" class="footer-link"> Добавить объект</NuxtLink>
<NuxtLink href="/support" class="footer-link"> Помощь</NuxtLink>
<NuxtLink href="/rules" class="footer-link">📋 Тарифные планы</NuxtLink>
</div>
</div>
</div>
<!-- Нижняя часть футера -->
<div class="footer-bottom">
<div class="footer-bottom-content">
<div class="copyright">
© 2025 TravelEasy. Все права защищены.
</div>
<div class="footer-bottom-links">
<nuxt-link href="/agreements/privacy" class="footer-bottom-link">Политика конфиденциальности</nuxt-link>
<nuxt-link href="/agreements/userAgreement" class="footer-bottom-link">Пользовательское
соглашение</nuxt-link>
<a href="/sitemap.xml" class="footer-bottom-link">Карта сайта</a>
</div>
</div>
</div>
</div>
</footer>
</template>
<script setup lang="ts">
// Компонент футера
</script>
<style scoped>
.footer {
background: var(--bg-primary);
color: var(--text-primary);
margin-top: auto;
border-top: 1px solid var(--border-light);
transition: all 0.3s ease;
}
.footer-content {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
gap: 3rem;
padding: 3rem 0 2rem;
}
.footer-section {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.footer-logo {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1rem;
}
.logo-icon {
width: 2.5rem;
height: 2.5rem;
background: var(--primary-500);
border-radius: var(--radius-lg);
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
}
.logo-text {
color: var(--text-inverse);
font-weight: bold;
font-size: 1.125rem;
}
.logo-name {
font-weight: bold;
font-size: 1.5rem;
color: var(--text-primary);
transition: color 0.3s ease;
}
.footer-description {
color: var(--text-secondary);
line-height: 1.6;
font-size: 0.9rem;
transition: color 0.3s ease;
}
.social-links {
display: flex;
gap: 1rem;
}
.social-link {
display: flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
background: var(--bg-secondary);
border: 1px solid var(--border-light);
border-radius: 50%;
transition: all 0.3s ease;
text-decoration: none;
}
.social-link:hover {
background: var(--primary-500);
border-color: var(--primary-500);
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}
.social-icon {
font-size: 1.2rem;
}
.footer-title {
font-size: 1.125rem;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--text-primary);
transition: text-shadow 0.3s ease, color 0.3s ease;
}
.footer-title:hover {
text-shadow: 0 0 5px #fff, /* Белая тень (основное свечение) */
0 0 10px #fff, /* Более широкая белая тень */
0 0 15px #00ffff, /* Голубой оттенок свечения */
0 0 20px #00ffff; /* Ещё шире голубой оттенок */
}
#poleznoe:hover {
text-shadow: none;
}
.footer-title-margin {
margin-top: 1.5rem;
}
.footer-info {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.info-item {
display: flex;
align-items: flex-start;
gap: 0.5rem;
font-size: 0.9rem;
}
.info-label {
color: var(--text-secondary);
min-width: 80px;
transition: color 0.3s ease;
}
.info-value {
color: var(--text-secondary);
line-height: 1.4;
transition: color 0.3s ease;
}
.info-icon {
font-size: 1rem;
min-width: 1.5rem;
color: var(--text-tertiary);
transition: color 0.3s ease;
}
.info-link {
color: var(--text-secondary);
text-decoration: none;
transition: all 0.3s ease;
}
.info-link:hover {
color: var(--primary-500);
text-decoration: underline;
}
.footer-links {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.footer-link {
color: var(--text-secondary);
text-decoration: none;
transition: all 0.3s ease;
font-size: 0.9rem;
display: flex;
align-items: center;
gap: 0.5rem;
}
.footer-link:hover {
color: var(--primary-500);
transform: translateX(4px);
}
.footer-bottom {
border-top: 1px solid var(--border-light);
padding: 1.5rem 0;
transition: border-color 0.3s ease;
}
.footer-bottom-content {
display: flex;
justify-content: space-between;
align-items: center;
}
.copyright {
color: var(--text-tertiary);
font-size: 0.875rem;
transition: color 0.3s ease;
}
.footer-bottom-links {
display: flex;
gap: 2rem;
}
.footer-bottom-link {
color: var(--text-tertiary);
text-decoration: none;
font-size: 0.875rem;
transition: all 0.3s ease;
}
.footer-bottom-link:hover {
color: var(--primary-500);
text-decoration: underline;
}
/* Адаптивность */
@media (max-width: 1024px) {
.footer-content {
grid-template-columns: 1fr 1fr;
gap: 2rem;
}
}
@media (max-width: 768px) {
.footer-content {
grid-template-columns: 1fr;
gap: 2rem;
padding: 2rem 0 1.5rem;
}
.footer-bottom-content {
flex-direction: column;
gap: 1rem;
text-align: center;
}
.footer-bottom-links {
flex-direction: column;
gap: 0.5rem;
}
.footer-logo {
justify-content: center;
}
.footer-section {
text-align: center;
}
.info-item {
justify-content: center;
}
.social-links {
justify-content: center;
}
}
@media (max-width: 480px) {
.footer-content {
gap: 1.5rem;
}
.footer-title {
font-size: 1rem;
}
.logo-name {
font-size: 1.25rem;
}
.footer-description {
font-size: 0.85rem;
}
}
</style>