From 5de869b31b1d92e5313c79c3b1322d4c3a55f6b3 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Thu, 2 Oct 2025 12:28:02 +0500 Subject: [PATCH] modified: begushiybashkir/bbvue/src/views/News.vue add news page into begushiybashkir site --- begushiybashkir/bbvue/src/views/News.vue | 1350 +++++++++++++++++++++- 1 file changed, 1327 insertions(+), 23 deletions(-) diff --git a/begushiybashkir/bbvue/src/views/News.vue b/begushiybashkir/bbvue/src/views/News.vue index 3301395..9f61756 100644 --- a/begushiybashkir/bbvue/src/views/News.vue +++ b/begushiybashkir/bbvue/src/views/News.vue @@ -1,18 +1,212 @@ @@ -22,34 +216,1144 @@ export default { name: 'News', data() { return { + activeFilter: 'all', + visibleNews: 6, + showNewsModal: false, + selectedNews: null, + subscribeEmail: '', + filters: [ + { value: 'all', label: 'Все новости' }, + { value: 'events', label: 'События' }, + { value: 'training', label: 'Тренировки' }, + { value: 'achievements', label: 'Достижения' }, + { value: 'community', label: 'Сообщество' } + ], news: [ - { id: 1, title: 'Новый набор в группу', date: '15.01.2025', excerpt: 'Открыт набор в группу для начинающих бегунов...' }, - { id: 2, title: 'Подготовка к весеннему марафону', date: '10.01.2025', excerpt: 'Стартует программа подготовки к Уфимскому марафону...' }, - { id: 3, title: 'Итоги забега РосХим', date: '05.01.2025', excerpt: 'Наши участники показали отличные результаты...' } + { + id: 1, + title: 'Открыт набор в новую группу для начинающих', + excerpt: 'Приглашаем всех желающих начать свой беговой путь. Бесплатное пробное занятие и индивидуальный подход к каждому.', + date: '2025-01-15', + category: 'training', + image: 'news1.jpg', + views: 124, + comments: 8, + content: ` +

Дорогие друзья! Мы рады сообщить об открытии новой группы для начинающих бегунов. Если вы всегда хотели начать бегать, но не знали как — это ваш шанс!

+ +

Что вас ждет:

+ + +

Первая тренировка: 20 января в 19:30 в Парке Якутова

+

Не упустите возможность начать свой беговой путь в дружеской атмосфере нашего клуба!

+ ` + }, + { + id: 2, + title: 'Стартует программа подготовки к Уфимскому марафону', + excerpt: '16-недельная программа подготовки для тех, кто хочет успешно выступить на главном беговом событии весны.', + date: '2025-01-10', + category: 'events', + image: 'news2.jpg', + views: 89, + comments: 12, + content: ` +

Внимание всем бегунам! Открывается запись на специальную программу подготовки к Уфимскому марафону 2025.

+ +

Детали программы:

+ + +

Программа включает в себя все аспекты подготовки: беговые объемы, силовую подготовку, питание и восстановление.

+ +

Старт программы: 1 февраля 2025

+

Место: Основные тренировки в Парке Якутова и на стадионе Динамо

+ ` + }, + { + id: 3, + title: 'Итоги забега РосХим Стерлитамак 2025', + excerpt: 'Наши участники показали блестящие результаты на зимнем забеге. Поздравляем всех финишеров и призеров!', + date: '2025-01-05', + category: 'achievements', + image: 'news3.jpg', + views: 156, + comments: 15, + content: ` +

Гордимся нашими бегунами! На прошедшем забеге РосХим в Стерлитамаке участники клуба "Бегущий Башкир" показали отличные результаты.

+ +

Лучшие результаты:

+ + +

Всего от нашего клуба в забеге участвовало 12 человек, и каждый показал достойный результат!

+ +

Особые поздравления нашим новичкам, которые впервые преодолели дистанцию 10 км. Вы большие молодцы!

+ +

Следующий старт — Уфимский полумарафон 15 февраля. Готовимся!

+ ` + }, + { + id: 4, + title: 'Зимний спортивный фестиваль от клуба', + excerpt: 'Приглашаем всех на зимний фестиваль бега с мастер-классами, эстафетами и горячим чаем.', + date: '2024-12-28', + category: 'community', + image: 'news4.jpg', + views: 78, + comments: 6, + content: ` +

Дорогие друзья! Приглашаем вас на наш традиционный зимний спортивный фестиваль.

+ +

Программа мероприятия:

+ + +

Мероприятие бесплатное для всех участников клуба. Приглашаем также друзей и семьи!

+ +

Когда: 15 января 2025

+

Где: Парк Якутова, главная аллея

+ +

Не забудьте теплую одежду и хорошее настроение!

+ ` + }, + { + id: 5, + title: 'Новые тренировочные программы от тренера', + excerpt: 'Загир Аминев разработал новые программы тренировок для разных уровней подготовки.', + date: '2024-12-20', + category: 'training', + image: 'news5.jpg', + views: 92, + comments: 3, + content: ` +

Наш тренер Загир Аминев подготовил новые тренировочные программы, которые уже доступны для всех участников клуба.

+ +

Что нового:

+ + +

Каждая программа включает:

+ + +

Получить программу можно у тренера на любой тренировке или написав в Telegram.

+ ` + }, + { + id: 6, + title: 'Набор волонтеров на Уфимский марафон', + excerpt: 'Приглашаем желающих помочь в организации главного бегового события весны в Уфе.', + date: '2024-12-15', + category: 'community', + image: 'news6.jpg', + views: 64, + comments: 4, + content: ` +

Друзья! Организационный комитет Уфимского марафона начинает набор волонтеров, и мы приглашаем участников нашего клуба присоединиться.

+ +

Чем могут помочь волонтеры:

+ + +

Все волонтеры получат:

+ + +

Если хотите стать часть команды волонтеров, пишите Загиру в Telegram.

+ ` + } ] } + }, + computed: { + totalNews() { + return this.news.length + }, + upcomingEvents() { + return this.news.filter(item => item.category === 'events').length + }, + filteredNews() { + if (this.activeFilter === 'all') { + return this.news.slice(0, this.visibleNews) + } + return this.news + .filter(item => item.category === this.activeFilter) + .slice(0, this.visibleNews) + } + }, + methods: { + setFilter(filter) { + this.activeFilter = filter + this.visibleNews = 6 + }, + loadMore() { + this.visibleNews += 3 + }, + openNewsModal(newsItem) { + this.selectedNews = newsItem + this.showNewsModal = true + document.body.style.overflow = 'hidden' + + // Увеличиваем счетчик просмотров + newsItem.views++ + }, + closeNewsModal() { + this.showNewsModal = false + document.body.style.overflow = '' + }, + shareNews(newsItem) { + if (navigator.share) { + navigator.share({ + title: newsItem.title, + text: newsItem.excerpt, + url: window.location.href + }) + } else { + // Fallback для браузеров без поддержки Web Share API + navigator.clipboard.writeText(window.location.href) + alert('Ссылка скопирована в буфер обмена!') + } + }, + handleSubscribe() { + // Здесь будет логика подписки + console.log('Подписка на email:', this.subscribeEmail) + alert('Спасибо за подписку! Проверьте вашу почту для подтверждения.') + this.subscribeEmail = '' + }, + getImageUrl(imageName) { + // Заглушка для изображений + return `https://via.placeholder.com/400x250/2e8b57/ffffff?text=${encodeURIComponent(imageName)}` + }, + getCategoryLabel(category) { + const labels = { + 'events': 'События', + 'training': 'Тренировки', + 'achievements': 'Достижения', + 'community': 'Сообщество' + } + return labels[category] || 'Новости' + }, + formatDate(dateString) { + const date = new Date(dateString) + return date.toLocaleDateString('ru-RU', { + day: 'numeric', + month: 'long', + year: 'numeric' + }) + }, + handleKeydown(event) { + if (event.key === 'Escape' && this.showNewsModal) { + this.closeNewsModal() + } + } + }, + mounted() { + document.addEventListener('keydown', this.handleKeydown) + }, + beforeUnmount() { + document.removeEventListener('keydown', this.handleKeydown) + document.body.style.overflow = '' } } \ No newline at end of file