feat: inisialisasi project kit v2
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import { Link } from '@inertiajs/react';
|
||||
import React from 'react';
|
||||
import { Can } from '@/Components/Can';
|
||||
|
||||
interface NavigationItemProps {
|
||||
href: string;
|
||||
active: boolean;
|
||||
icon: React.ReactNode;
|
||||
label: string;
|
||||
ability?: string | string[];
|
||||
}
|
||||
|
||||
export function NavigationItem({ href, active, icon, label, ability }: NavigationItemProps) {
|
||||
const content = (
|
||||
<Link
|
||||
href={href}
|
||||
className={`flex items-center gap-3 px-3 py-2 rounded-lg transition-colors ${
|
||||
active
|
||||
? 'bg-[var(--color-primary-50)] text-[var(--color-primary-600)]'
|
||||
: 'text-gray-600 hover:bg-gray-100'
|
||||
}`}
|
||||
>
|
||||
<div className="w-5 h-5 flex items-center justify-center">
|
||||
{icon}
|
||||
</div>
|
||||
<span className="font-medium hidden md:block">{label}</span>
|
||||
</Link>
|
||||
);
|
||||
|
||||
if (ability) {
|
||||
return <Can ability={ability}>{content}</Can>;
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
||||
Reference in New Issue
Block a user