Версия 1.1.4 Мелкие правки.

This commit is contained in:
anibilag 2025-10-22 16:20:16 +03:00
parent ff4206275b
commit 915b8274a6
4 changed files with 8 additions and 11 deletions

View File

@ -1,7 +1,7 @@
{ {
"name": "vite-react-typescript-starter", "name": "vite-react-typescript-starter",
"private": true, "private": true,
"version": "1.1.3", "version": "1.1.4",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@ -71,7 +71,7 @@ export function ArticleForm({
const isAdmin = user?.permissions.isAdmin || false; const isAdmin = user?.permissions.isAdmin || false;
const showGallery = false; const showGallery = false;
// Используем useRef для отслеживания состояния инициализации // Используем useRef для отслеживания состояния инициализации
const isInitializingRef = useRef(false); const isInitializingRef = useRef(false);
const initialDataRef = useRef<FormState | null>(null); const initialDataRef = useRef<FormState | null>(null);
@ -94,9 +94,6 @@ export function ArticleForm({
const [newAuthorId, setNewAuthorId] = useState(''); const [newAuthorId, setNewAuthorId] = useState('');
const [showAddAuthorModal, setShowAddAuthorModal] = useState(false); const [showAddAuthorModal, setShowAddAuthorModal] = useState(false);
// Добавляем состояние для отслеживания загрузки галереи
//const [galleryLoaded, setGalleryLoaded] = useState(false);
// Изменяем логику отслеживания состояния загрузки // Изменяем логику отслеживания состояния загрузки
const [dataLoaded, setDataLoaded] = useState(false); const [dataLoaded, setDataLoaded] = useState(false);
@ -125,7 +122,7 @@ export function ArticleForm({
}; };
}, []); }, []);
// Эффект для отслеживания загрузки всех данных // Эффект для отслеживания загрузки всех данных
useEffect(() => { useEffect(() => {
if (!editingId) { if (!editingId) {
// Для новой статьи данные загружены сразу // Для новой статьи данные загружены сразу
@ -139,7 +136,7 @@ export function ArticleForm({
} }
}, [editingId, galleryLoading]); }, [editingId, galleryLoading]);
// Эффект для инициализации формы // Эффект для инициализации формы
useEffect(() => { useEffect(() => {
// Если начальные данные не пришли или данные еще не загружены - выходим // Если начальные данные не пришли или данные еще не загружены - выходим
if (!initialFormState || !dataLoaded) return; if (!initialFormState || !dataLoaded) return;
@ -193,7 +190,7 @@ export function ArticleForm({
setIsInitialized(true); setIsInitialized(true);
}, [initialFormState, dataLoaded, editingId, galleryImages]); }, [initialFormState, dataLoaded, editingId, galleryImages]);
// Эффект для отслеживания изменений формы // Эффект для отслеживания изменений формы
useEffect(() => { useEffect(() => {
if (!isInitialized || !initialDataRef.current) return; if (!isInitialized || !initialDataRef.current) return;
@ -254,7 +251,6 @@ export function ArticleForm({
//console.log('Содержимое статьи перед сохранением:', content); //console.log('Содержимое статьи перед сохранением:', content);
if (isSubmitting) { if (isSubmitting) {
//console.log('Форма уже отправляется, игнорируем повторную отправку');
return; return;
} }
@ -299,6 +295,7 @@ export function ArticleForm({
setIsConfirmModalOpen(true); // Открываем модальное окно setIsConfirmModalOpen(true); // Открываем модальное окно
} else { } else {
onCancel(); onCancel();
window.scrollTo({ top: 0, behavior: 'smooth' });
} }
}; };

View File

@ -13,7 +13,7 @@ export function SEO({
title = 'Культура двух Столиц', title = 'Культура двух Столиц',
description = 'Последние новинки искусства, музыки, театра и культурных мероприятий Москвы и Санкт-Петербурга.', description = 'Последние новинки искусства, музыки, театра и культурных мероприятий Москвы и Санкт-Петербурга.',
keywords = ['культура', 'искусство', 'музыка', 'театр', 'кино'], keywords = ['культура', 'искусство', 'музыка', 'театр', 'кино'],
image = 'https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?auto=format&fit=crop&q=80&w=2070', image = '/images/Logo-2.webp',
url = typeof window !== 'undefined' ? window.location.href : '', url = typeof window !== 'undefined' ? window.location.href : '',
type = 'website' type = 'website'
}: SEOProps) { }: SEOProps) {

View File

@ -53,7 +53,7 @@ export function HomePage() {
return ( return (
<div className="min-h-screen bg-cover bg-center bg-fixed bg-white/95" style={{ backgroundImage: `url('/images/gpt_main-bg.webp')` }}> <div className="min-h-screen bg-cover bg-center bg-fixed bg-white/95" style={{ backgroundImage: `url('/images/gpt_main-bg.webp')` }}>
<SEO <SEO
title={categoryId ? `${CategoryTitles[Number(categoryId)]} Статьи - Куоьтура двух Столиц` : undefined} title={categoryId ? `${CategoryTitles[Number(categoryId)]} Статьи - Культура двух Столиц` : undefined}
description={getSEODescription()} description={getSEODescription()}
keywords={categoryId ? [CategoryTitles[Number(categoryId)].toLowerCase(), 'культура', 'искусство', 'события'] : undefined} keywords={categoryId ? [CategoryTitles[Number(categoryId)].toLowerCase(), 'культура', 'искусство', 'события'] : undefined}
image={backgroundImage} image={backgroundImage}