update: project module
Build and Release / release (push) Successful in 27s

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-29 16:09:07 +07:00
parent 2e80e45eab
commit 7ff68659ad
10 changed files with 957 additions and 160 deletions
+37 -4
View File
@@ -1,11 +1,17 @@
import Link from "next/link";
import React from "react";
interface BreadcrumbProps {
pageTitle: string;
interface BreadcrumbPath {
name: string;
href: string;
}
const PageBreadcrumb: React.FC<BreadcrumbProps> = ({ pageTitle }) => {
interface BreadcrumbProps {
pageTitle: string;
paths?: BreadcrumbPath[];
}
const PageBreadcrumb: React.FC<BreadcrumbProps> = ({ pageTitle, paths }) => {
return (
<div className="flex flex-wrap items-center justify-between gap-3 mb-6">
<h2
@@ -18,7 +24,7 @@ const PageBreadcrumb: React.FC<BreadcrumbProps> = ({ pageTitle }) => {
<ol className="flex items-center gap-1.5">
<li>
<Link
className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-gray-400"
className="inline-flex items-center gap-1.5 text-sm text-gray-500 hover:text-gray-800 dark:text-gray-400 dark:hover:text-white/90 transition-colors"
href="/"
>
Home
@@ -40,6 +46,33 @@ const PageBreadcrumb: React.FC<BreadcrumbProps> = ({ pageTitle }) => {
</svg>
</Link>
</li>
{paths &&
paths.map((path, index) => (
<li key={index} className="flex items-center gap-1.5">
<Link
className="inline-flex items-center gap-1.5 text-sm text-gray-500 hover:text-gray-800 dark:text-gray-400 dark:hover:text-white/90 transition-colors"
href={path.href}
>
{path.name}
<svg
className="stroke-current"
width="17"
height="16"
viewBox="0 0 17 16"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6.0765 12.667L10.2432 8.50033L6.0765 4.33366"
stroke=""
strokeWidth="1.2"
strokeLinecap="round"
strokeLinejoin="round"
/>
</svg>
</Link>
</li>
))}
<li className="text-sm text-gray-800 dark:text-white/90">
{pageTitle}
</li>