[dyad] Added 'nofollow' warning to links - wrote 1 file(s)

This commit is contained in:
[dyad]
2026-01-20 16:26:30 +01:00
parent a04c53bae4
commit d742339c1d

View File

@@ -12,7 +12,13 @@ import {
} from "@/components/ui/table"; } from "@/components/ui/table";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { ExternalLink, Link as LinkIcon } from "lucide-react"; import { ExternalLink, Link as LinkIcon, AlertTriangle } from "lucide-react";
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip";
import type { LinkData } from "@/app/actions"; import type { LinkData } from "@/app/actions";
interface LinksDisplayProps { interface LinksDisplayProps {
@@ -88,14 +94,18 @@ export function LinksDisplay({ links }: LinksDisplayProps) {
</TableRow> </TableRow>
</TableHeader> </TableHeader>
<TableBody> <TableBody>
{filteredLinks.map((link, index) => ( {filteredLinks.map((link, index) => {
const isMissingNoFollow =
link.type === "external" && !link.rel.includes("nofollow");
return (
<TableRow key={index}> <TableRow key={index}>
<TableCell className="max-w-xs truncate"> <TableCell className="max-w-xs truncate">
<div className="flex items-center justify-between gap-2">
<a <a
href={link.href} href={link.href}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="flex items-center gap-2 hover:underline" className="flex items-center gap-2 hover:underline min-w-0"
> >
{link.type === "external" ? ( {link.type === "external" ? (
<ExternalLink className="h-4 w-4 flex-shrink-0" /> <ExternalLink className="h-4 w-4 flex-shrink-0" />
@@ -104,6 +114,21 @@ export function LinksDisplay({ links }: LinksDisplayProps) {
)} )}
<span className="truncate">{link.href}</span> <span className="truncate">{link.href}</span>
</a> </a>
{isMissingNoFollow && (
<TooltipProvider>
<Tooltip>
<TooltipTrigger>
<AlertTriangle className="h-4 w-4 text-orange-500 flex-shrink-0" />
</TooltipTrigger>
<TooltipContent>
<p>
External link without 'nofollow' attribute.
</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
)}
</div>
</TableCell> </TableCell>
<TableCell>{link.text || "No anchor text"}</TableCell> <TableCell>{link.text || "No anchor text"}</TableCell>
<TableCell className="text-center"> <TableCell className="text-center">
@@ -125,7 +150,8 @@ export function LinksDisplay({ links }: LinksDisplayProps) {
)} )}
</TableCell> </TableCell>
</TableRow> </TableRow>
))} );
})}
</TableBody> </TableBody>
</Table> </Table>
</Card> </Card>