mirror of
https://github.com/Dokploy/website.git
synced 2026-06-15 20:25:25 +02:00
- Standardized import statements across various components to use double quotes for consistency. - Updated component files to ensure proper formatting and adherence to coding standards. - Enhanced overall code readability by aligning code structure and improving comment clarity. - Made minor adjustments to ensure all components follow the same coding conventions, improving maintainability.
96 lines
3.3 KiB
TypeScript
96 lines
3.3 KiB
TypeScript
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuSeparator,
|
|
DropdownMenuTrigger,
|
|
} from "@/components/ui/dropdown-menu";
|
|
import { Menu } from "lucide-react";
|
|
import { Github, Globe, Heart, LogIn, Rss, UserPlus } from "lucide-react";
|
|
|
|
export function NavLinks() {
|
|
const links = [
|
|
{
|
|
text: "Login",
|
|
url: "https://app.dokploy.com/",
|
|
icon: LogIn,
|
|
},
|
|
{
|
|
text: "Sign Up",
|
|
url: "https://app.dokploy.com/register",
|
|
icon: UserPlus,
|
|
},
|
|
{
|
|
text: "Website",
|
|
url: "https://dokploy.com",
|
|
icon: Globe,
|
|
},
|
|
{
|
|
text: "Discord",
|
|
url: "https://discord.com/invite/2tBnJ3jDJc",
|
|
icon: () => (
|
|
<svg
|
|
role="img"
|
|
className="size-4"
|
|
fill="currentColor"
|
|
viewBox="0 0 24 24"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
>
|
|
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" />
|
|
</svg>
|
|
),
|
|
},
|
|
{
|
|
text: "Support",
|
|
url: "https://opencollective.com/dokploy",
|
|
icon: Heart,
|
|
},
|
|
{
|
|
text: "Github",
|
|
url: "https://github.com/dokploy/dokploy",
|
|
icon: Github,
|
|
},
|
|
{
|
|
text: "Blog",
|
|
url: "https://dokploy.com/blog",
|
|
icon: Rss,
|
|
},
|
|
];
|
|
|
|
return (
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger asChild>
|
|
<button
|
|
className="inline-flex items-center justify-center rounded-md p-2 hover:bg-fd-accent hover:text-fd-accent-foreground transition-colors"
|
|
aria-label="Quick links menu"
|
|
>
|
|
<Menu className="size-4" />
|
|
</button>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent align="end" className="w-56">
|
|
{links.map((link, index) => {
|
|
const IconComponent = link.icon;
|
|
const showSeparator = index === 2;
|
|
|
|
return (
|
|
<div key={link.text}>
|
|
<DropdownMenuItem asChild>
|
|
<a
|
|
href={link.url}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="flex items-center gap-3 cursor-pointer"
|
|
>
|
|
<IconComponent className="size-4 text-fd-muted-foreground" />
|
|
<span>{link.text}</span>
|
|
</a>
|
|
</DropdownMenuItem>
|
|
{showSeparator && <DropdownMenuSeparator />}
|
|
</div>
|
|
);
|
|
})}
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
);
|
|
}
|