From c58a921d73b1fe07c3c5589df990a543a8d88476 Mon Sep 17 00:00:00 2001 From: SlimusMinus Date: Thu, 10 Sep 2026 00:57:31 +0300 Subject: [PATCH] changed reward on button --- react_front/src/main.tsx | 10 + src/components/feed/FeedBlurMask.jsx | 28 ++ src/components/feed/FeedTopBar.tsx | 150 +++++++ src/components/feed/PullToRefresh.jsx | 111 +++++ src/components/feed/RewardPopup.jsx | 69 ++++ src/config/feedConstants.js | 3 +- src/hooks/useProfile.js | 49 +++ src/hooks/useScrollDirection.ts | 71 ++++ src/locales/en.json | 2 + src/locales/ru.json | 2 + src/pages/CreateUpdatePost.jsx | 28 +- src/pages/MainFeed.tsx | 570 ++++++++++++++++++++++++++ src/pages/PostOnFeed.jsx | 26 +- src/styles/NakhodkaLanding.css | 4 +- src/styles/card.css | 73 +++- src/styles/layout.css | 52 +++ 16 files changed, 1239 insertions(+), 9 deletions(-) create mode 100644 react_front/src/main.tsx create mode 100644 src/components/feed/FeedBlurMask.jsx create mode 100644 src/components/feed/FeedTopBar.tsx create mode 100644 src/components/feed/PullToRefresh.jsx create mode 100644 src/components/feed/RewardPopup.jsx create mode 100644 src/hooks/useProfile.js create mode 100644 src/hooks/useScrollDirection.ts create mode 100644 src/pages/MainFeed.tsx diff --git a/react_front/src/main.tsx b/react_front/src/main.tsx new file mode 100644 index 0000000..bef5202 --- /dev/null +++ b/react_front/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.tsx' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/src/components/feed/FeedBlurMask.jsx b/src/components/feed/FeedBlurMask.jsx new file mode 100644 index 0000000..d3530c7 --- /dev/null +++ b/src/components/feed/FeedBlurMask.jsx @@ -0,0 +1,28 @@ +import { useEffect, useState } from "react"; + +/** + * Отдельный блюр-слой поверх ленты, независим от FeedTopBar. + * Прижат к верху общего контейнера, высота подстраивается под + * реальную высоту topBar (включая safe-area на iOS). + */ +export default function FeedBlurMask({ topBarRef }) { + const [height, setHeight] = useState(56); + + useEffect(() => { + const el = topBarRef?.current; + if (!el) return; + const update = () => setHeight(el.getBoundingClientRect().height || 56); + update(); + const ro = new ResizeObserver(update); + ro.observe(el); + return () => ro.disconnect(); + }, [topBarRef]); + + return ( +