mirror of
https://github.com/mmahdium/portfolio.git
synced 2026-09-28 02:21:41 +03:30
Sync upstream improvements: new components, layout overhaul, and portfolio enhancements
- Add Services, HireCTA, and ReactExpansion components - Overhaul Hero with grid layout, badges, CTA buttons, email dialog, and profile card - Refactor TopNav to use computed navItems loop - Enhance ProjectsList with nested category accordions and case study details - Restructure Skills with purpose-grouped stackGroups and row-sync accordion logic - Add new types: Service, ReactExpansion, CTA, and Project case-study fields - Update portfolio data with adapted services, stackGroups, and project details - Add OG/Twitter meta tags for SEO - Update i18n with new keys for services, hero, buttons, and project labels - Fix langDir path, update engine constraints, add volta config - Change default color scheme to lime - Rename Rider to JetBrains Rider in AI stack
This commit is contained in:
@@ -15,8 +15,11 @@ export type SocialLinks = Partial<{
|
||||
export type Profile = {
|
||||
name: string
|
||||
title: string
|
||||
headline?: string
|
||||
location?: string
|
||||
summary: string
|
||||
availability?: string
|
||||
focusAreas?: string[]
|
||||
avatar?: string
|
||||
socials?: SocialLinks
|
||||
}
|
||||
@@ -52,9 +55,27 @@ export type Tag = {
|
||||
|
||||
export type TagGroup = {
|
||||
title: string
|
||||
description?: string
|
||||
items: Tag[]
|
||||
}
|
||||
|
||||
export type Service = {
|
||||
title: string
|
||||
description: string
|
||||
icon?: string
|
||||
}
|
||||
|
||||
export type ReactExpansion = {
|
||||
title: string
|
||||
description: string
|
||||
items: Tag[]
|
||||
}
|
||||
|
||||
export type CTA = {
|
||||
title: string
|
||||
description: string
|
||||
}
|
||||
|
||||
// Backward-compatible single-position experience
|
||||
export type Experience = {
|
||||
company: string
|
||||
@@ -108,6 +129,11 @@ export type Education = {
|
||||
export type Project = {
|
||||
name: string
|
||||
description: string
|
||||
context?: string
|
||||
role?: string
|
||||
features?: string[]
|
||||
stack?: string[]
|
||||
outcome?: string
|
||||
status?: string
|
||||
links?: { label: string; to: string; icon?: string }[]
|
||||
icons?: string[]
|
||||
@@ -121,6 +147,10 @@ export type PortfolioData = {
|
||||
mainTools: TagGroup
|
||||
roles: TagGroup
|
||||
values: TagGroup
|
||||
services?: Service[]
|
||||
stackGroups?: TagGroup[]
|
||||
reactExpansion?: ReactExpansion
|
||||
cta?: CTA
|
||||
// Supports both single experiences and grouped company timelines
|
||||
experiences: Array<Experience | CompanyExperience>
|
||||
education: Education[]
|
||||
|
||||
Reference in New Issue
Block a user