50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
|
import {
|
||
|
Skull,
|
||
|
Search,
|
||
|
GitPullRequest,
|
||
|
Mail,
|
||
|
Fish,
|
||
|
ChartArea,
|
||
|
} from "lucide-react";
|
||
|
|
||
|
export default function QuickLinks() {
|
||
|
const links = [
|
||
|
{ name: "Google", url: "https://www.google.com", icon: Search },
|
||
|
{ name: "Gitea", url: "https://git.simponic.xyz", icon: GitPullRequest },
|
||
|
{
|
||
|
name: "Mail",
|
||
|
url: "https://roundcube.internal.simponic.xyz",
|
||
|
icon: Mail,
|
||
|
},
|
||
|
{
|
||
|
name: "Jellyfin",
|
||
|
url: "https://jellyfin.internal.simponic.xyz",
|
||
|
icon: Fish,
|
||
|
},
|
||
|
{
|
||
|
name: "Uptime Kuma",
|
||
|
url: "https://uptime.internal.simponic.xyz",
|
||
|
icon: ChartArea,
|
||
|
},
|
||
|
];
|
||
|
|
||
|
return (
|
||
|
<div className="rounded-lg p-6 justify-center flex gap-16">
|
||
|
{links.map((link) => {
|
||
|
const Icon = link.icon;
|
||
|
return (
|
||
|
<a
|
||
|
key={link.name}
|
||
|
href={link.url}
|
||
|
className="text-rose-700 hover:text-rose-800 transition-colors"
|
||
|
title={link.name}
|
||
|
>
|
||
|
<Icon className="w-8 h-8" />
|
||
|
<span className="sr-only">{link.name}</span>
|
||
|
</a>
|
||
|
);
|
||
|
})}
|
||
|
</div>
|
||
|
);
|
||
|
}
|