From a1dbcdce90c5299125135ab6874161f0d354b560 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 23 Dec 2025 23:30:13 +0000 Subject: [PATCH] Refactor: Extract project color mappings to composable Co-authored-by: ArthurDanjou <29738535+ArthurDanjou@users.noreply.github.com> --- app/composables/projects.ts | 21 +++++++++++++++++++++ app/pages/projects/[slug].vue | 14 +------------- app/pages/projects/index.vue | 14 +------------- 3 files changed, 23 insertions(+), 26 deletions(-) create mode 100644 app/composables/projects.ts diff --git a/app/composables/projects.ts b/app/composables/projects.ts new file mode 100644 index 0000000..4b10e48 --- /dev/null +++ b/app/composables/projects.ts @@ -0,0 +1,21 @@ +export function useProjectColors() { + const statusColors: Record = { + 'active': 'green', + 'completed': 'blue', + 'archived': 'gray', + 'in-progress': 'amber' + } + + const typeColors: Record = { + 'Personal Project': 'purple', + 'Academic Project': 'sky', + 'Infrastructure Project': 'emerald', + 'Internship Project': 'orange', + 'Research Project': 'blue' + } + + return { + statusColors, + typeColors + } +} diff --git a/app/pages/projects/[slug].vue b/app/pages/projects/[slug].vue index e86cb67..c37ba30 100644 --- a/app/pages/projects/[slug].vue +++ b/app/pages/projects/[slug].vue @@ -30,19 +30,7 @@ useSeoMeta({ twitterCard: 'summary_large_image' }) -const statusColors: Record = { - 'active': 'green', - 'completed': 'blue', - 'archived': 'gray', - 'in-progress': 'amber' -} - -const typeColors: Record = { - 'Personal Project': 'purple', - 'Academic Project': 'sky', - 'Infrastructure Project': 'emerald', - 'Internship Project': 'orange' -} +const { statusColors, typeColors } = useProjectColors() const formattedDate = computed(() => { if (!project.value?.publishedAt) return null diff --git a/app/pages/projects/index.vue b/app/pages/projects/index.vue index 39a7800..70610a0 100644 --- a/app/pages/projects/index.vue +++ b/app/pages/projects/index.vue @@ -41,19 +41,7 @@ const filteredProjects = computed(() => { }) }) -const statusColors: Record = { - 'active': 'green', - 'completed': 'blue', - 'archived': 'gray', - 'in-progress': 'amber' -} - -const typeColors: Record = { - 'Personal Project': 'purple', - 'Academic Project': 'sky', - 'Infrastructure Project': 'emerald', - 'Internship Project': 'orange' -} +const { statusColors, typeColors } = useProjectColors() function toggleTag(tag: string) { const index = selectedTags.value.indexOf(tag)