'use client'; import { useState, useMemo, ChangeEvent } from 'react'; import { motion } from 'framer-motion'; import { ScrollReveal, StaggerReveal } from '@/components/ui/scroll-reveal'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Input } from '@/components/ui/input'; import { Search, Calendar, ArrowRight, Newspaper, ChevronLeft, ChevronRight } from 'lucide-react'; import { NEWS, COMPANY_INFO } from '@/lib/constants'; import { cn } from '@/lib/utils'; const EASE_OUT = [0.22, 1, 0.36, 1] as const; const categories = ['全部', '公司新闻', '研发动态']; const ITEMS_PER_PAGE = 9; function GrainOverlay() { return (
); } function SectionLabel({ children, className = '' }: { children: React.ReactNode; className?: string }) { return (
{children}
); } function NewsCard({ newsItem, index }: { newsItem: typeof NEWS[0]; index: number }) { return (
{newsItem.image ? (
{newsItem.title}
) : (
)}
{newsItem.category}
{newsItem.date}

{newsItem.title}

{newsItem.excerpt}

阅读全文
); } export default function NewsContentV1() { const [selectedCategory, setSelectedCategory] = useState('全部'); const [searchQuery, setSearchQuery] = useState(''); const [currentPage, setCurrentPage] = useState(1); const filteredNews = useMemo(() => { return NEWS.filter((newsItem) => { const matchesCategory = selectedCategory === '全部' || newsItem.category === selectedCategory; const matchesSearch = newsItem.title.toLowerCase().includes(searchQuery.toLowerCase()) || newsItem.excerpt.toLowerCase().includes(searchQuery.toLowerCase()); return matchesCategory && matchesSearch; }); }, [selectedCategory, searchQuery]); const totalPages = Math.ceil(filteredNews.length / ITEMS_PER_PAGE); const paginatedNews = useMemo(() => { const startIndex = (currentPage - 1) * ITEMS_PER_PAGE; return filteredNews.slice(startIndex, startIndex + ITEMS_PER_PAGE); }, [filteredNews, currentPage]); const handlePageChange = (page: number) => { setCurrentPage(page); window.scrollTo({ top: 0, behavior: 'smooth' }); }; const handleCategoryChange = (category: string) => { setSelectedCategory(category); setCurrentPage(1); }; const handleSearchChange = (e: ChangeEvent) => { setSearchQuery(e.target.value); setCurrentPage(1); }; return (
{/* Hero Section */}
News & Insights

新闻与 洞察

{COMPANY_INFO.displayName}最新动态、产品更新与行业洞察。了解数字化趋势,把握技术脉搏。

{/* Filter + News List Section */}
{/* Filters */}
{categories.map((category) => ( ))}
{/* News Grid */} {paginatedNews.length === 0 ? (

没有找到相关新闻

试试其他关键词或分类

) : ( <> {paginatedNews.map((newsItem, index) => ( ))} {/* Pagination */} {totalPages > 1 && (
{Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => ( ))}
)} )}
{/* CTA Section */}
Get in Touch

想了解更多?

无论您有合作意向还是想探讨技术趋势,我们都欢迎与您交流。

); }