32
src/components/MainNahodkaLogo.jsx
Normal file
32
src/components/MainNahodkaLogo.jsx
Normal file
File diff suppressed because one or more lines are too long
@@ -1,64 +0,0 @@
|
||||
import React from "react";
|
||||
|
||||
/**
|
||||
* Логотип «Находка» — одно слово, без лупы (лупа заменена буквой «о»).
|
||||
*/
|
||||
export default function NahodkaLogo({
|
||||
width = 600,
|
||||
height = 200,
|
||||
className,
|
||||
}) {
|
||||
return (
|
||||
<svg
|
||||
className={className}
|
||||
width={width}
|
||||
height={height}
|
||||
viewBox="0 0 600 200"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<defs>
|
||||
<linearGradient
|
||||
id="coral"
|
||||
x1="0"
|
||||
y1="0"
|
||||
x2="0"
|
||||
y2="1"
|
||||
>
|
||||
<stop offset="0%" stopColor="#FF8E6B" />
|
||||
<stop offset="100%" stopColor="#F1503A" />
|
||||
</linearGradient>
|
||||
|
||||
<filter
|
||||
id="shadow"
|
||||
x="-30%"
|
||||
y="-30%"
|
||||
width="160%"
|
||||
height="180%"
|
||||
>
|
||||
<feDropShadow
|
||||
dx="0"
|
||||
dy="5"
|
||||
stdDeviation="5"
|
||||
floodColor="#8F4938"
|
||||
floodOpacity="0.25"
|
||||
/>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<text
|
||||
x="300"
|
||||
y="134"
|
||||
textAnchor="middle"
|
||||
fill="url(#coral)"
|
||||
filter="url(#shadow)"
|
||||
fontFamily="Nunito, Arial Rounded MT Bold, Arial, sans-serif"
|
||||
fontSize="130"
|
||||
fontWeight="800"
|
||||
letterSpacing="1"
|
||||
>
|
||||
Находка
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import { useLanguageToggle } from "../hooks/useLanguageToggle";
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import SupportModal from "./SupportModal";
|
||||
import ProfileAvatar from "./profile/ProfileAvatar";
|
||||
import NahodkaLogo from "./NahodkaLogo";
|
||||
import NahodkaLogo from "./MainNahodkaLogo";
|
||||
|
||||
export default function Sidebar({
|
||||
open,
|
||||
|
||||
@@ -2,12 +2,12 @@ import { useState, useRef, useEffect } from "react";
|
||||
import { motion, AnimatePresence } from "framer-motion";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import MenuIconBase from "../icons/MenuIcon";
|
||||
import NahodkaLogoBase from "../NahodkaLogo";
|
||||
import MainNahodkaLogoBase from "../MainNahodkaLogo";
|
||||
import type { Ref, ComponentType } from "react";
|
||||
|
||||
// Legacy .jsx-компоненты: TS инферирует их сигнатуры из JS неточно —
|
||||
// приводим к нормальному виду для корректной проверки пропсов.
|
||||
const NahodkaLogo = NahodkaLogoBase as unknown as ComponentType<{
|
||||
const MainNahodkaLogo = MainNahodkaLogoBase as unknown as ComponentType<{
|
||||
className?: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
@@ -91,7 +91,7 @@ export default function FeedTopBar({
|
||||
aria-haspopup="menu"
|
||||
aria-expanded={open}
|
||||
>
|
||||
<NahodkaLogo className="f-topbar-logo" />
|
||||
<MainNahodkaLogo className="f-topbar-logo" />
|
||||
<svg
|
||||
className={`f-topbar-chevron${open ? " open" : ""}`}
|
||||
viewBox="0 0 24 24"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import NahodkaLogo from "../NahodkaLogo";
|
||||
import NahodkaLogo from "../MainNahodkaLogo";
|
||||
import GlobeIcon from "../icons/GlobeIcon";
|
||||
import MoonIcon from "../icons/MoonIcon";
|
||||
import SunIcon from "../icons/SunIcon";
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import {useNavigate} from "react-router-dom";
|
||||
import "../styles/NakhodkaLanding.css";
|
||||
import Hero from "../components/landing/Hero";
|
||||
import StepsSection from "../components/landing/StepsSection";
|
||||
import FinalCta from "../components/landing/FinalCta";
|
||||
import Footer from "../components/landing/Footer";
|
||||
|
||||
export default function NakhodkaLanding() {
|
||||
|
||||
@@ -153,6 +153,13 @@
|
||||
display: block;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .nk-logo svg .f-logo-word {
|
||||
fill: url(#nahodkaLogoCoral);
|
||||
}
|
||||
[data-theme="dark"] .nk-logo svg .f-logo-heart {
|
||||
fill: #FF4B3A;
|
||||
}
|
||||
|
||||
.nk-nav-right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -97,10 +97,17 @@
|
||||
}
|
||||
.f-logo-btn:hover { background: rgba(255, 255, 255, 0.22); }
|
||||
.f-logo-btn .f-topbar-logo {
|
||||
height: 34px;
|
||||
height: 26px;
|
||||
width: auto;
|
||||
display: block;
|
||||
min-width: 0;
|
||||
transform: translateY(2px);
|
||||
}
|
||||
[data-theme="dark"] .f-logo-btn .f-topbar-logo .f-logo-word {
|
||||
fill: url(#nahodkaLogoCoral);
|
||||
}
|
||||
[data-theme="dark"] .f-logo-btn .f-topbar-logo .f-logo-heart {
|
||||
fill: #FF4B3A;
|
||||
}
|
||||
|
||||
/* Галочка-индикатор фильтра на кнопке-логотипе: поворачивается при открытии */
|
||||
|
||||
@@ -9,14 +9,21 @@
|
||||
flex-shrink: 0;
|
||||
background: none; border: none; cursor: pointer;
|
||||
padding: 0;
|
||||
margin-top: 6px;
|
||||
border-radius: 10px;
|
||||
transition: filter .15s, transform .15s;
|
||||
}
|
||||
[data-theme="dark"] .f-sb-logo-btn svg .f-logo-word {
|
||||
fill: url(#nahodkaLogoCoral);
|
||||
}
|
||||
[data-theme="dark"] .f-sb-logo-btn svg .f-logo-heart {
|
||||
fill: #FF4B3A;
|
||||
}
|
||||
.f-sb-logo-btn:hover { filter: brightness(1.08); transform: scale(1.02); }
|
||||
.f-sb-logo-btn:active { transform: scale(.97); }
|
||||
.f-sb-logo-btn:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
|
||||
.f-sb-logo-btn svg {
|
||||
height: 40px;
|
||||
height: 32px;
|
||||
width: auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user