From 9519c91e615a2d54a42fdc7f165f532356434da5 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Wed, 3 Sep 2025 16:04:44 +0200 Subject: [PATCH] feat: add Skills component and integrate skills data; enhance CommandPalette and MessageContainer with improved UI and animations --- app/assets/css/main.css | 8 + app/components/chat/CommandPalette.vue | 18 ++- app/components/chat/Main.vue | 14 +- app/components/chat/MessageContainer.vue | 9 +- app/components/tool/Skills.vue | 32 ++++ app/pages/index.vue | 5 + content.config.ts | 17 +- content/skills.json | 178 +++++++++++++++++++++ content/skills/java.json | 0 content/stack/0.programming-languages.json | 4 - content/stack/1.frontend.json | 4 - content/stack/2.backend.json | 4 - content/stack/3.devops.json | 4 - content/stack/4.python.json | 4 - locales/en.json | 9 +- locales/es.json | 9 +- locales/fr.json | 9 +- types/chat.ts | 1 + 18 files changed, 288 insertions(+), 41 deletions(-) create mode 100644 app/components/tool/Skills.vue create mode 100644 content/skills.json delete mode 100644 content/skills/java.json delete mode 100644 content/stack/0.programming-languages.json delete mode 100644 content/stack/1.frontend.json delete mode 100644 content/stack/2.backend.json delete mode 100644 content/stack/3.devops.json delete mode 100644 content/stack/4.python.json diff --git a/app/assets/css/main.css b/app/assets/css/main.css index bdc986c..c0d6664 100644 --- a/app/assets/css/main.css +++ b/app/assets/css/main.css @@ -18,6 +18,10 @@ --ui-font-family: 'DM Sans', sans-serif; transition-duration: 0.7s; + + .prose { + max-width: none; + } } .dark { @@ -31,6 +35,10 @@ --ui-font-family: 'DM Sans', sans-serif; transition-duration: 0.7s; + + .prose { + max-width: none; + } } @keyframes wave { diff --git a/app/components/chat/CommandPalette.vue b/app/components/chat/CommandPalette.vue index b549586..4b1470e 100644 --- a/app/components/chat/CommandPalette.vue +++ b/app/components/chat/CommandPalette.vue @@ -2,6 +2,13 @@ import type { CommandPaletteItem } from '@nuxt/ui' import { ChatState } from '~~/types' +defineProps({ + active: { + type: Boolean, + default: false, + }, +}) + const searchTerm = ref('') const openMessageModal = ref(false) const openClearModal = ref(false) @@ -51,10 +58,15 @@ const commandPaletteUi = { item: 'data-highlighted:not-data-disabled:before:bg-muted', content: 'flex-1 overflow-y-auto', } + +// const isDesktop = computed(() => window.innerWidth >= 768)