Restored to 'eede1dca5c3b2cb640881195fc428ec171b5dce3'

Replit-Restored-To: eede1dca5c
This commit is contained in:
sebastjanartic
2026-03-05 12:18:32 +00:00
parent 9e0c1719db
commit d6b620233b
43 changed files with 675 additions and 1716 deletions
+8 -10
View File
@@ -83,16 +83,14 @@ let adSeedCounter = 1;
export function ArticleCardAd() {
const seed = useMemo(() => adSeedCounter++, []);
return (
<div className="max-w-[300px] min-h-[250px]">
<ArtistPatternBg className="rounded-md border border-card-border h-full bg-card" seed={seed}>
<AdSense
slot="3854634730"
format="fluid"
layoutKey="-6r+cy-10+8a-3"
style={{ display: "block" }}
/>
</ArtistPatternBg>
</div>
<ArtistPatternBg className="rounded-md border border-card-border h-full bg-card" seed={seed}>
<AdSense
slot="3854634730"
format="fluid"
layoutKey="-6r+cy-10+8a-3"
style={{ display: "block" }}
/>
</ArtistPatternBg>
);
}
+1 -1
View File
@@ -53,7 +53,7 @@ export default function ArtistPatternBg({ children, className = "", seed = 42 }:
return (
<div className={`relative overflow-hidden ${className}`}>
<div className="absolute inset-0 pointer-events-none select-none" aria-hidden="true">
<div className="absolute inset-0 pointer-events-none select-none hidden lg:block" aria-hidden="true">
{items.map((item, i) => (
<span
key={i}
@@ -40,7 +40,7 @@ export function BreakingNewsWidget() {
return (
<div
className="bg-card rounded-lg border border-card-border overflow-hidden h-full flex flex-col min-h-[320px]"
className="bg-card rounded-lg border border-card-border overflow-hidden h-full flex flex-col"
onMouseEnter={() => setPaused(true)}
onMouseLeave={() => setPaused(false)}
data-testid="widget-breaking-news"
+1 -15
View File
@@ -85,21 +85,7 @@ export default function Footer() {
</ul>
</div>
</div>
<div className="border-t border-border mt-8 pt-6 flex flex-col items-center gap-3">
<div className="flex flex-wrap justify-center gap-x-4 gap-y-1 text-xs">
<Link href="/empfang-folx-tv">
<span className="text-muted-foreground cursor-pointer hover:text-primary transition-colors" data-testid="link-footer-empfang">Empfang</span>
</Link>
<Link href="/ueber-uns">
<span className="text-muted-foreground cursor-pointer hover:text-primary transition-colors" data-testid="link-footer-ueber-uns">Über uns</span>
</Link>
<Link href="/impressum">
<span className="text-muted-foreground cursor-pointer hover:text-primary transition-colors" data-testid="link-footer-impressum">Impressum</span>
</Link>
<Link href="/datenschutz">
<span className="text-muted-foreground cursor-pointer hover:text-primary transition-colors" data-testid="link-footer-datenschutz">Datenschutz</span>
</Link>
</div>
<div className="border-t border-border mt-8 pt-6 text-center">
<p className="text-xs text-muted-foreground">
&copy; {new Date().getFullYear()} Folx Music Television. Alle Rechte vorbehalten.
</p>
+1 -1
View File
@@ -32,7 +32,7 @@ export function HoroscopeWidget() {
return (
<div
className="rounded-lg border border-card-border overflow-hidden h-full w-full cursor-pointer group hover:border-primary/50 transition-colors flex flex-col min-h-[320px]"
className="rounded-lg border border-card-border overflow-hidden h-full w-full cursor-pointer group hover:border-primary/50 transition-colors flex flex-col"
style={{ background: "linear-gradient(135deg, hsl(250 30% 14%), hsl(270 25% 10%))" }}
onMouseEnter={() => setPaused(true)}
onMouseLeave={() => setPaused(false)}
+1 -1
View File
@@ -40,7 +40,7 @@ export function NewsWidget() {
return (
<div
className="bg-card rounded-lg border border-card-border overflow-hidden h-full flex flex-col min-h-[320px]"
className="bg-card rounded-lg border border-card-border overflow-hidden h-full flex flex-col"
onMouseEnter={() => setPaused(true)}
onMouseLeave={() => setPaused(false)}
data-testid="widget-news"
+3 -3
View File
@@ -233,12 +233,12 @@ export function PhotoGalleryWidget({ reverseOrder = false }: { reverseOrder?: bo
if (isLoading) {
return (
<div className="bg-card rounded-lg border border-card-border overflow-hidden h-full min-h-[320px]" data-testid="widget-gallery-loading">
<div className="bg-card rounded-lg border border-card-border overflow-hidden h-full" data-testid="widget-gallery-loading">
<div className="p-3 flex items-center gap-2 border-b border-card-border">
<Images className="w-4 h-4 text-primary" />
<h3 className="font-bold text-card-foreground text-sm">Fotogalerie</h3>
</div>
<div className="flex-1 bg-muted animate-pulse min-h-[280px]" />
<div className="aspect-[4/5] bg-muted animate-pulse" />
</div>
);
}
@@ -247,7 +247,7 @@ export function PhotoGalleryWidget({ reverseOrder = false }: { reverseOrder?: bo
return (
<>
<div className="bg-card rounded-lg border border-card-border overflow-hidden h-full flex flex-col min-h-[320px]" data-testid="widget-gallery">
<div className="bg-card rounded-lg border border-card-border overflow-hidden h-full flex flex-col" data-testid="widget-gallery">
<div className="p-3 flex items-center gap-2 border-b border-card-border flex-shrink-0">
<Images className="w-4 h-4 text-primary" />
<h3 className="font-bold text-card-foreground text-sm">Fotogalerie</h3>
+1 -1
View File
@@ -28,7 +28,7 @@ export function RecipeWidget() {
return (
<button
onClick={() => navigate("/rezepte")}
className="bg-card rounded-lg border border-card-border overflow-hidden h-full w-full text-left cursor-pointer group hover:border-primary/50 transition-colors flex flex-col min-h-[320px]"
className="bg-card rounded-lg border border-card-border overflow-hidden h-full w-full text-left cursor-pointer group hover:border-primary/50 transition-colors flex flex-col"
data-testid="widget-recipe"
>
<div className="p-3 flex items-center gap-2 border-b border-card-border flex-shrink-0">
+1 -1
View File
@@ -200,7 +200,7 @@ export function SidebarWeatherWidget() {
if (loading) {
return (
<div className="bg-card rounded-lg border border-card-border p-4 min-h-[280px] flex items-center justify-center" data-testid="sidebar-weather-loading">
<div className="bg-card rounded-lg border border-card-border p-4 aspect-square flex items-center justify-center" data-testid="sidebar-weather-loading">
<div className="w-full h-full bg-muted animate-pulse rounded" />
</div>
);