feat(contact): add multilingual contact pages and dynamic configurations

- Created `src/pages/contact.astro` and `src/pages/zh/contact.astro` to support multilingual contact functionality.
- Introduced `contactIntents` and `contactMethods` dynamic configurations in `src/lib/data/contact.ts` for streamlined content management.
- Designed responsive and localized layouts with enhanced UX for both languages.
This commit is contained in:
zguiyang
2026-03-16 15:32:40 +08:00
parent 965ae613f8
commit ce6110588f
40 changed files with 3474 additions and 2547 deletions

View File

@@ -43,14 +43,28 @@ export interface ProjectImage {
export interface Project {
id: string;
tag: string;
tag?: string;
title: string;
icon: string;
type?: string;
status?: string;
role?: string;
impact?: string;
systemType?: string;
context?: string;
challenges?: string[];
responsibilities?: string[];
outcomes?: string[];
color: string;
image: ProjectImage;
description: string[];
tech: string[];
link: string;
featured?: boolean;
links?: {
github?: string;
demo?: string;
};
}
export interface ServiceIcon {
@@ -63,4 +77,21 @@ export interface Service {
icon: ServiceIcon;
items: string[];
color: string;
}
}
export interface UsesGroup {
title: LocalizedText;
items: string[];
}
export interface ContactIntent {
id: string;
title: LocalizedText;
description: LocalizedText;
}
export interface ContactMethod {
label: LocalizedText;
value: string;
href?: string;
}