Files
Mace-AIO-Discord-Bot---With…/dashboard/components/dashboard/page-header.tsx
TheOnlyMace b4110c3d66
Some checks failed
CI / Bot (Python) (push) Failing after 49s
CI / Dashboard (Next.js) (push) Failing after 11s
Update project configuration files, and API routes accordingly. Add SQLite runtime file ignores to .gitignore for better file management.
2026-07-21 17:11:38 +02:00

54 lines
2.1 KiB
TypeScript

/**
* ╔══════════════════════════════════════════════════════════════════╗
* ║ ║
* ║ +-+-+-+-+-+-+-+-+ ║
* ║ |H|e|x|a|H|o|s|t| ║
* ║ +-+-+-+-+-+-+-+-+ ║
* ║ ║
* ║ © 2026 HexaHost — All Rights Reserved ║
* ║ ║
* ║ discord ── https://discord.gg/hexahost ║
* ║ github ── https://github.com/theoneandonlymace ║
* ║ ║
* ╚══════════════════════════════════════════════════════════════════╝
*/
import React from "react";
import { cn } from "@/lib/utils";
interface PageHeaderProps {
title: string;
description?: string;
children?: React.ReactNode;
icon?: React.ElementType;
className?: string;
}
export const PageHeader = ({
title,
description,
children,
icon: Icon,
className
}: PageHeaderProps) => {
return (
<div className={cn("flex flex-col md:flex-row md:items-center justify-between gap-6 mb-8", className)}>
<div>
<h1 className="text-3xl font-black text-white flex items-center gap-3 tracking-tight">
{Icon && <Icon className="h-8 w-8 text-primary shrink-0" />}
{title}
</h1>
{description && (
<p className="text-slate-400 mt-1 font-medium italic">
{description}
</p>
)}
</div>
{children && (
<div className="flex items-center gap-4">
{children}
</div>
)}
</div>
);
};