Video stran: gumb na YouTube in povezava na clanek sta zdaj enakovredna gumba v eni vrsti (prej se je majhna rdeca povezava lepila ob gumb); besedilo Ganzen Artikel lesen namesto Ganzer Artikel auf folx.tv

This commit is contained in:
folx bot
2026-08-27 10:33:39 +02:00
parent a218e76f9d
commit 10c24d3e8c
2 changed files with 24 additions and 22 deletions
+23 -21
View File
@@ -1,7 +1,7 @@
import { useState } from "react"; import { useState } from "react";
import { useQuery } from "@tanstack/react-query"; import { useQuery } from "@tanstack/react-query";
import { Link, useRoute } from "wouter"; import { Link, useRoute } from "wouter";
import { ArrowLeft, Play, Clock, Youtube } from "lucide-react"; import { ArrowLeft, Play, Clock, Youtube, FileText } from "lucide-react";
import Header from "@/components/header"; import Header from "@/components/header";
import Footer from "@/components/footer"; import Footer from "@/components/footer";
import { PageSideAds, TopBannerAd, MultiplexAd } from "@/components/adsense"; import { PageSideAds, TopBannerAd, MultiplexAd } from "@/components/adsense";
@@ -131,16 +131,28 @@ export default function VideoDetailPage() {
</p> </p>
)} )}
<a <div className="mt-5 flex flex-col sm:flex-row sm:items-stretch gap-3">
href={v.youtubeUrl} <a
target="_blank" href={v.youtubeUrl}
rel="noopener" target="_blank"
className="mt-5 inline-flex w-full sm:w-auto items-center justify-center gap-2 rounded-md bg-primary px-6 py-3 text-base font-semibold text-primary-foreground hover:opacity-90" rel="noopener"
data-testid="link-watch-youtube" className="inline-flex w-full sm:w-auto items-center justify-center gap-2 rounded-md bg-primary px-6 py-3 text-base font-semibold text-primary-foreground hover:opacity-90"
> data-testid="link-watch-youtube"
<Youtube className="w-5 h-5" /> >
Ganzes Video auf YouTube ansehen <Youtube className="w-5 h-5" />
</a> Ganzes Video auf YouTube ansehen
</a>
{v.articleUrl && (
<a
href={v.articleUrl}
className="inline-flex w-full sm:w-auto items-center justify-center gap-2 rounded-md border border-border bg-transparent px-6 py-3 text-base font-semibold text-foreground hover:bg-muted"
data-testid="link-article"
>
<FileText className="w-5 h-5" />
Ganzen Artikel lesen
</a>
)}
</div>
{v.chapters?.length > 0 && ( {v.chapters?.length > 0 && (
<section className="mt-8"> <section className="mt-8">
@@ -162,16 +174,6 @@ export default function VideoDetailPage() {
</section> </section>
)} )}
{v.articleUrl && (
<a
href={v.articleUrl}
className="mt-3 inline-flex items-center gap-2 text-sm font-semibold text-primary hover:underline"
data-testid="link-article"
>
Ganzer Artikel auf folx.tv
</a>
)}
{(v.descriptionClean || v.description) && ( {(v.descriptionClean || v.description) && (
<section className="mt-8"> <section className="mt-8">
<h2 className="text-lg font-bold text-foreground mb-2">Zum Video</h2> <h2 className="text-lg font-bold text-foreground mb-2">Zum Video</h2>
+1 -1
View File
@@ -256,7 +256,7 @@ export function serveStatic(app: Express) {
`<p><strong>${escapeHtml(desc)}</strong></p>`, `<p><strong>${escapeHtml(desc)}</strong></p>`,
chapterHtml, chapterHtml,
`<p><a href="${escapeHtml(v.youtubeUrl)}" target="_blank" rel="noopener">Das ganze Video auf YouTube ansehen</a></p>`, `<p><a href="${escapeHtml(v.youtubeUrl)}" target="_blank" rel="noopener">Das ganze Video auf YouTube ansehen</a></p>`,
v.articleUrl ? `<p><a href="${escapeHtml(v.articleUrl)}">Ganzer Artikel auf folx.tv</a></p>` : "", v.articleUrl ? `<p><a href="${escapeHtml(v.articleUrl)}">Ganzen Artikel lesen</a></p>` : "",
descHtml ? `<h2>Zum Video</h2>${descHtml}` : "", descHtml ? `<h2>Zum Video</h2>${descHtml}` : "",
"</article>", "</article>",
].join("\n"); ].join("\n");