Files
tootaio.com/app/composables/NavLinks.ts
Kingsmai f9e02372b2 feat(about): add team member profile page
This commit introduces a new section to showcase team members, starting with the founder's profile.

- Adds a dynamic page route `/about/` to display individual member profiles.
- Creates a new `about` content collection to source profile information from Markdown files.
- Adds the first profile for 'Xiaomai', including a detailed resume and background image.
- Integrates a 'Teams' dropdown into the main navigation header.
- Implements a `copyToClipboard` utility with a toast notification for sharing profile links.
2025-11-08 13:40:23 +08:00

95 lines
2.9 KiB
TypeScript

// composables/useNavLinks.ts
import type { NavigationMenuItem } from "@nuxt/ui";
export const useNavLinks = () => {
const { t } = useI18n();
const navLinks = computed<NavigationMenuItem[]>(() => [
{
label: t("common.header.services.label"),
icon: "mdi:briefcase-outline",
children: [
{
label: t("common.header.services.children.webDev.label"),
description: t("common.header.services.children.webDev.description"),
icon: "mdi:web",
to: "/webDev"
},
{
label: t("common.header.services.children.softwareDev.label"),
description: t(
"common.header.services.children.softwareDev.description"
),
icon: "mdi:tools",
},
{
label: t("common.header.services.children.eventVisual.label"),
description: t(
"common.header.services.children.eventVisual.description"
),
icon: "mdi:monitor-dashboard",
},
{
label: t("common.header.services.children.lab.label"),
description: t("common.header.services.children.lab.description"),
icon: "mdi:test-tube-off",
},
],
},
{
label: t("common.header.projects.label"),
icon: "mdi:lightbulb-group-outline",
children: [
{
label: t("common.header.projects.children.commercialWebsite.label"),
description: t(
"common.header.projects.children.commercialWebsite.description"
),
icon: "mdi:web",
},
{
label: t("common.header.projects.children.gameDev.label"),
description: t("common.header.projects.children.gameDev.description"),
icon: "mdi:gamepad-variant-outline",
},
{
label: t("common.header.projects.children.tools.label"),
description: t("common.header.projects.children.tools.description"),
icon: "mdi:tools",
},
{
label: t("common.header.projects.children.special.label"),
description: t("common.header.projects.children.special.description"),
icon: "mdi:star",
},
],
},
{
label: t("common.header.insights.label"),
icon: "mdi:brain",
children: [
{
label: t("common.header.insights.children.xiaomaiBlog.label"),
description: t(
"common.header.insights.children.xiaomaiBlog.description"
),
icon: "mdi:pencil-outline",
to: "https://xiaomai.tootaio.com/",
type: "link",
target: "_blank",
},
],
},
{label: t("common.header.teams.label"),
icon: "mdi:account-group-outline",
children: [{
label: t("common.header.teams.children.xiaomai.label"),
description: t("common.header.teams.children.xiaomai.description"),
to: '/about/xiaomai'
}]
}
]);
return navLinks;
};