Restored to '4297267681097f3ff53d34610ef0e8e98baf8e0e'

Replit-Restored-To: 4297267681
This commit is contained in:
sebastjanartic
2025-09-01 17:47:21 +00:00
parent feb73c3a80
commit 261472641d
28 changed files with 63 additions and 67 deletions
+4 -36
View File
@@ -20,42 +20,17 @@ export default function FolxStadlPage() {
const itemsPerPage = 10;
const { data, isLoading } = useQuery<{videos: Video[], total: number}>({
queryKey: ['/api/videos', { limit: 200 }],
queryFn: async ({ queryKey }) => {
const [, params] = queryKey as [string, any];
const searchParams = new URLSearchParams();
Object.entries(params).forEach(([key, value]) => {
if (value !== undefined) {
searchParams.append(key, String(value));
}
});
const response = await fetch(`/api/videos?${searchParams}`);
if (!response.ok) {
throw new Error('Failed to fetch videos');
}
return response.json();
},
queryKey: ['/api/videos?limit=200'],
select: (response) => response || { videos: [], total: 0 }
});
const videos = data?.videos || [];
// Filter all FOLX STADL videos (including all seasons and formats)
let folxStadlVideos = videos.filter(video =>
const folxStadlVideos = videos.filter(video =>
video.title.includes("FOLX STADL") || video.title.includes("FOLXSTADL")
);
// Apply search filter if search query exists
if (searchQuery && searchQuery.length >= 2) {
const searchLower = searchQuery.toLowerCase();
folxStadlVideos = folxStadlVideos.filter(video =>
video.title.toLowerCase().includes(searchLower) ||
video.description?.toLowerCase().includes(searchLower)
);
}
// Pagination logic
const totalPages = Math.ceil(folxStadlVideos.length / itemsPerPage);
const startIndex = (currentPage - 1) * itemsPerPage;
@@ -116,9 +91,7 @@ export default function FolxStadlPage() {
value={searchQuery}
onChange={(e) => {
setSearchQuery(e.target.value);
if (e.target.value) {
setLocation(`/?search=${encodeURIComponent(e.target.value)}`);
}
if (e.target.value) setLocation(`/?search=${encodeURIComponent(e.target.value)}`);
}}
className="bg-white border border-gray-300 rounded-lg px-4 py-2 pl-10 text-sm text-gray-900 placeholder-gray-500 focus:outline-none focus:border-bunny-blue transition-colors w-64"
/>
@@ -170,12 +143,7 @@ export default function FolxStadlPage() {
type="search"
placeholder="Search..."
value={searchQuery}
onChange={(e) => {
setSearchQuery(e.target.value);
if (e.target.value) {
setLocation(`/?search=${encodeURIComponent(e.target.value)}`);
}
}}
onChange={(e) => setSearchQuery(e.target.value)}
className="bg-white border border-gray-300 rounded-lg px-3 py-2 pl-9 text-sm text-gray-900 placeholder-gray-500 focus:outline-none focus:border-bunny-blue transition-colors w-full"
/>
<Search className="absolute left-2.5 top-1/2 transform -translate-y-1/2 text-gray-400 w-4 h-4" />
+6 -6
View File
@@ -76,8 +76,8 @@ export default function Home() {
return (
<div className="has-fixed-header" style={{minHeight: '100vh', background: 'linear-gradient(135deg, hsl(250, 50%, 15%) 0%, hsl(240, 30%, 25%) 100%)', color: 'white'}}>
{/* STICKY HEADER */}
<div className="header-sticky bg-transparent overflow-visible">
<div className="max-w-6xl mx-auto pl-4 pr-4 py-4">
<div className="header-sticky bg-transparent overflow-hidden">
<div className="max-w-7xl mx-auto px-4 py-4">
<div className="flex items-center justify-between">
{/* Left side - Logo */}
<div className="flex items-center space-x-4">
@@ -168,11 +168,11 @@ export default function Home() {
)}
</div>
<main className="max-w-6xl mx-auto pt-4 pb-8 relative px-8">
<main className="w-full pt-0 pb-8 relative">
{/* Trikotniki na robovih - dvignjeni višje */}
<div className="absolute top-2 right-2 w-0 h-0 border-l-[70px] border-l-transparent border-r-[70px] border-r-transparent border-b-[100px] border-b-blue-400/8 rotate-12 z-0"></div>
<div className="absolute top-20 left-2 w-0 h-0 border-l-[60px] border-l-transparent border-r-[60px] border-r-transparent border-b-[85px] border-b-purple-400/8 -rotate-12 z-0"></div>
{/* Trikotniki na robovih - ne prekrivajo video kartic */}
<div className="absolute top-10 right-2 w-0 h-0 border-l-[70px] border-l-transparent border-r-[70px] border-r-transparent border-b-[100px] border-b-blue-400/8 rotate-12 z-0"></div>
<div className="absolute top-1/2 left-2 w-0 h-0 border-l-[60px] border-l-transparent border-r-[60px] border-r-transparent border-b-[85px] border-b-purple-400/8 -rotate-12 z-0"></div>
<div className="absolute bottom-1/4 right-2 w-0 h-0 border-l-[50px] border-l-transparent border-r-[50px] border-r-transparent border-b-[70px] border-b-cyan-400/8 rotate-45 z-0"></div>
{viewMode === "grid" ? (
<NetflixGrid