fixed start page and scroll in modal window

This commit is contained in:
SlimusMinus
2026-08-18 01:06:50 +03:00
parent 272a0bd050
commit 10fea3cf2a
17 changed files with 142 additions and 68 deletions

View File

@@ -10,7 +10,7 @@ import ImageViewer from "../components/ImageViewer";
import CityFilter from "../components/CityFilter";
import { ProfileModal } from "../components/profile";
import AuthModal from "../components/AuthModal";
import RulesModal from "../components/RulesModal";
import RulesModal from "./RulesModal";
import FeedTopBar from "../components/feed/FeedTopBar";
import FeedSearchBar from "../components/feed/FeedSearchBar";
import TypeFilterBar from "../components/feed/TypeFilterBar";
@@ -45,6 +45,7 @@ export default function MainFeed() {
const [selectedCities, setSelectedCities] = useState([]);
const [searchQuery, setSearchQuery] = useState("");
const [liked, setLiked] = useState(new Set());
const [likeCountAdj, setLikeCountAdj] = useState({});
const feedRef = useRef(null);
@@ -85,15 +86,23 @@ export default function MainFeed() {
onAuthRequired: () => modals.open("auth"),
isAuthenticated,
t,
setLiked,
setLikeCountAdj,
});
// Загружаем лайки пользователя при авторизации
useEffect(() => {
if (isAuthenticated && token) {
loadFavorites().then(favoriteIds => setLiked(new Set(favoriteIds)));
loadFavorites().then(favoriteIds => {
const s = new Set(favoriteIds);
actions.syncLiked(s);
setLiked(s);
});
} else {
actions.syncLiked(new Set());
setLiked(new Set());
}
setLikeCountAdj({});
}, [isAuthenticated, token, loadFavorites]);
// Открываем модалку аутентификации если пришли с лендинга
@@ -102,7 +111,7 @@ export default function MainFeed() {
modals.open("auth");
window.history.replaceState({}, document.title);
}
}, [location.state, modals]);
}, [location.state]); // eslint-disable-line react-hooks/exhaustive-deps
// Первичная загрузка ленты (дебаунс поиска), только когда нет фильтра по городам
useEffect(() => {
@@ -229,6 +238,7 @@ export default function MainFeed() {
filteredAds={filteredAds}
activeNav={activeNav}
liked={liked}
likeCountAdj={likeCountAdj}
onLike={actions.toggleLike}
onEdit={handleEdit}
onDelete={actions.handleDelete}