fixed code

This commit is contained in:
SlimusMinus
2026-08-11 00:24:07 +03:00
parent c50b75eece
commit 7f59ee1f38
95 changed files with 3623 additions and 2830 deletions

View File

@@ -1,51 +1,36 @@
import { useState } from "react";
// src/components/landing/Hero.jsx
import Navbar from "./Navbar";
import RadarBeacon from "./RadarBeacon";
import { useTranslation } from 'react-i18next';
export default function Hero({ onCtaClick, onLoginClick }) {
const { t } = useTranslation();
const [hover, setHover] = useState(false);
return (
<section className="nk-hero">
<div className="nk-grid" />
<div className="nk-glow" />
<section className="nk-hero">
<div className="nk-grid" />
<div className="nk-glow" />
<RadarBeacon />
<Navbar onLoginClick={onLoginClick || onCtaClick} />
<RadarBeacon />
<Navbar onLoginClick={onLoginClick || onCtaClick} />
<div className="nk-hero-text">
<span className="nk-eyebrow">{t('landing.eyebrow')}</span>
<h1 className="nk-h1">
{t('landing.heroTitle')}
<br />
<span className="nk-accent">{t('landing.heroAccent')}</span>
</h1>
<p className="nk-lead">
{t('landing.heroLead')}
</p>
<div className="nk-cta-row">
<button
className="nk-cta-primary"
onMouseEnter={() => setHover(true)}
onMouseLeave={() => setHover(false)}
onClick={onCtaClick}
>
{t('landing.startSearch')}
<span
style={{
marginLeft: 8,
display: "inline-block",
transform: hover ? "translateX(3px)" : "none",
transition: "transform .2s",
}}
>
→
</span>
</button>
<div className="nk-hero-text">
<span className="nk-eyebrow">{t('landing.eyebrow')}</span>
<h1 className="nk-h1">
{t('landing.heroTitle')}
<br />
<span className="nk-accent">{t('landing.heroAccent')}</span>
</h1>
<p className="nk-lead">
{t('landing.heroLead')}
</p>
<div className="nk-cta-row">
<button className="nk-cta-primary" onClick={onCtaClick}>
{t('landing.startSearch')}
<span className="nk-arrow">→</span>
</button>
</div>
</div>
</div>
</section>
</section>
);
}
}

View File

@@ -1,29 +1,25 @@
import { useTranslation } from 'react-i18next';
import GlobeIcon from "../icons/GlobeIcon";
import { useLanguageToggle } from "../../hooks/useLanguageToggle";
export default function Navbar({ onLoginClick }) {
const { t, i18n } = useTranslation();
const toggleLang = () => {
const next = i18n.language === 'ru' ? 'en' : 'ru';
i18n.changeLanguage(next);
localStorage.setItem('i18nextLng', next);
};
const { t } = useTranslation();
const { language, toggleLanguage } = useLanguageToggle();
return (
<nav className="nk-nav">
<span className="nk-logo">{t('app.name')}</span>
<div className="nk-nav-right">
<button className="nk-lang-btn" onClick={toggleLang}>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<circle cx="12" cy="12" r="10"/>
<path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>
</svg>
{i18n.language === 'ru' ? 'EN' : 'RU'}
</button>
<button className="nk-nav-btn" onClick={onLoginClick}>
{t('landing.login')}
</button>
</div>
</nav>
<nav className="nk-nav">
<span className="nk-logo">{t('app.name')}</span>
<div className="nk-nav-right">
<button className="nk-lang-btn" onClick={toggleLanguage}>
<GlobeIcon />
{language === 'ru' ? 'EN' : 'RU'}
</button>
<button className="nk-nav-btn" onClick={onLoginClick}>
{t('landing.login')}
</button>
</div>
</nav>
);
}
}