first commit
This commit is contained in:
1
src/widgets/footer/index.ts
Normal file
1
src/widgets/footer/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { Footer } from './ui/Footer'
|
||||
134
src/widgets/footer/ui/Footer.module.css
Normal file
134
src/widgets/footer/ui/Footer.module.css
Normal file
@@ -0,0 +1,134 @@
|
||||
.footer {
|
||||
padding: 60px 48px 40px;
|
||||
border-top: 1px solid var(--glass-border);
|
||||
max-width: 1400px;
|
||||
margin: 0 auto;
|
||||
font-size: 13px;
|
||||
color: var(--text-secondary);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.top {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
gap: 48px;
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
|
||||
.col p,
|
||||
.col a {
|
||||
color: var(--text-secondary);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.col a {
|
||||
text-decoration: underline;
|
||||
display: flex;
|
||||
margin-bottom: 6px;
|
||||
transition: color 0.3s;
|
||||
}
|
||||
|
||||
.col a:hover {
|
||||
color: var(--highlight);
|
||||
}
|
||||
|
||||
.heading {
|
||||
font-size: 12px;
|
||||
letter-spacing: 3px;
|
||||
text-transform: uppercase;
|
||||
color: var(--text-primary);
|
||||
margin-bottom: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.companyName {
|
||||
color: var(--text-primary);
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.phone {
|
||||
color: var(--text-primary);
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.email {
|
||||
margin-top: 12px !important;
|
||||
}
|
||||
|
||||
.socialIcons {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.socialLink {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid var(--glass-border);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: border-color 0.3s, background 0.3s;
|
||||
}
|
||||
|
||||
.socialLink:hover {
|
||||
border-color: var(--highlight);
|
||||
background: rgba(0, 212, 255, 0.06);
|
||||
}
|
||||
|
||||
.socialLink img {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
filter: brightness(0) invert(1);
|
||||
transition: filter 0.3s;
|
||||
}
|
||||
|
||||
.socialLink:hover img {
|
||||
filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(170deg);
|
||||
}
|
||||
|
||||
.divider {
|
||||
border-top: 1px solid var(--glass-border);
|
||||
margin: 0 0 32px;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.bottom p {
|
||||
font-size: 12px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.footer {
|
||||
padding: 40px 32px;
|
||||
}
|
||||
|
||||
.top {
|
||||
gap: 1.5rem;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.top {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.footer {
|
||||
padding: 32px 24px;
|
||||
}
|
||||
}
|
||||
53
src/widgets/footer/ui/Footer.tsx
Normal file
53
src/widgets/footer/ui/Footer.tsx
Normal file
@@ -0,0 +1,53 @@
|
||||
import instagram from '@shared/assets/instagram.svg'
|
||||
import telegram from '@shared/assets/telegram.svg'
|
||||
import whatsapp from '@shared/assets/whatsapp.svg'
|
||||
import styles from './Footer.module.css'
|
||||
|
||||
const SOCIALS = [
|
||||
{ href: '#', icon: telegram, label: 'Telegram' },
|
||||
{ href: '#', icon: whatsapp, label: 'WhatsApp' },
|
||||
{ href: '#', icon: instagram, label: 'Instagram' },
|
||||
]
|
||||
|
||||
export function Footer() {
|
||||
return (
|
||||
<footer className={styles.footer}>
|
||||
<div className={styles.top}>
|
||||
<div className={styles.col}>
|
||||
<p className={styles.companyName}>ООО «ЭКСА»</p>
|
||||
<p>ИНН 9810001062</p>
|
||||
<p>ОГРН 1257800060990</p>
|
||||
</div>
|
||||
<div className={styles.col}>
|
||||
<h4 className={styles.heading}>О компании</h4>
|
||||
<a href="#">Документы</a>
|
||||
<a href="#">Публичная оферта</a>
|
||||
<a href="#">Реквизиты</a>
|
||||
</div>
|
||||
<div className={styles.col}>
|
||||
<p className={styles.phone}>+7 (812) 123-33-23</p>
|
||||
<h4 className={styles.heading}>Адрес</h4>
|
||||
<p>196158, г. Санкт-Петербург, Московское шоссе, 25А, к.1, ПОМЕЩ. 3-Н</p>
|
||||
<a href="mailto:company@elcsa.ru" className={styles.email}>
|
||||
company@elcsa.ru
|
||||
</a>
|
||||
</div>
|
||||
<div className={styles.col}>
|
||||
<h4 className={styles.heading}>Мы в соцсетях</h4>
|
||||
<div className={styles.socialIcons}>
|
||||
{SOCIALS.map(({ href, icon, label }) => (
|
||||
<a key={label} href={href} className={styles.socialLink} aria-label={label}>
|
||||
<img src={icon} alt={label} />
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles.divider} />
|
||||
<div className={styles.bottom}>
|
||||
<p>© 2026. Все права защищены.</p>
|
||||
<p>Компания не является кредитной организацией.</p>
|
||||
</div>
|
||||
</footer>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user