mirror of
https://github.com/ArthurDanjou/artchat.git
synced 2026-01-14 13:54:01 +01:00
feat: update UI configurations and enhance skills data structure for improved functionality
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
export default defineAppConfig({
|
||||
ui: {
|
||||
container: {
|
||||
base: 'max-w-4xl',
|
||||
base: 'max-w-3xl',
|
||||
},
|
||||
colors: {
|
||||
primary: 'neutral',
|
||||
|
||||
@@ -36,6 +36,8 @@ const { dark, toggleDark } = useTheme()
|
||||
|
||||
defineShortcuts({
|
||||
meta_enter: () => openMessageModal.value = !openMessageModal.value,
|
||||
enter: () => openMessageModal.value = !openMessageModal.value,
|
||||
meta_k: () => openMessageModal.value = !openMessageModal.value,
|
||||
meta_d: () => openClearModal.value = !openClearModal.value,
|
||||
l: () => changeLocale(currentLocale.value!.code === 'en' ? 'fr' : currentLocale.value!.code === 'fr' ? 'es' : 'en'),
|
||||
t: () => toggleDark({ clientX: window.innerWidth, clientY: 0 }),
|
||||
@@ -55,7 +57,7 @@ const commandPaletteUi = {
|
||||
|
||||
<template>
|
||||
<nav
|
||||
class="fixed z-50 pb-8 duration-700 mx-auto p-8"
|
||||
class="fixed z-50 pb-8 duration-700 mx-auto px-8 sm:px-0"
|
||||
:class="active ? 'bottom-0 left-1/2 -translate-x-1/2' : 'max-w-[40rem] w-full md:bottom-1/5 left-1/2 -translate-x-1/2 bottom-0'"
|
||||
>
|
||||
<UCard variant="outline" class="rounded-xl shadow-lg w-full" :ui="{ body: 'p-2 sm:p-2 flex gap-2 w-full' }">
|
||||
|
||||
@@ -10,15 +10,16 @@ const { t, locale } = useI18n()
|
||||
<p>{{ t('skills.main') }}</p>
|
||||
</div>
|
||||
<div v-if="skills" class="space-y-12 m-1 my-4">
|
||||
<div v-for="category in skills.items" :key="category.id" class="space-y-8">
|
||||
<div v-for="item in skills.body" :key="item.id" class="space-y-8">
|
||||
<USeparator
|
||||
:label="locale === 'en' ? category.name.en : locale === 'es' ? category.name.es : category.name.fr"
|
||||
:label="locale === 'en' ? item.name.en : locale === 'es' ? item.name.es : item.name.fr"
|
||||
size="xs"
|
||||
type="dashed"
|
||||
/>
|
||||
<div class="flex gap-3 flex-wrap">
|
||||
<UButton
|
||||
v-for="skill in category.items"
|
||||
:key="skill.id"
|
||||
v-for="skill in item.items"
|
||||
:key="skill.name.trim()"
|
||||
:label="skill.name"
|
||||
variant="subtle"
|
||||
color="neutral"
|
||||
|
||||
@@ -57,7 +57,7 @@ export const collections = {
|
||||
type: 'data',
|
||||
source: 'skills.json',
|
||||
schema: z.object({
|
||||
items: z.object({
|
||||
body: z.array(z.object({
|
||||
id: z.string(),
|
||||
name: z.object({
|
||||
en: z.string(),
|
||||
@@ -68,7 +68,7 @@ export const collections = {
|
||||
name: z.string(),
|
||||
icon: z.string(),
|
||||
})),
|
||||
}),
|
||||
})),
|
||||
}),
|
||||
}),
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"items": [
|
||||
"body": [
|
||||
{
|
||||
"id": "programmation",
|
||||
"name": {
|
||||
|
||||
@@ -95,6 +95,7 @@
|
||||
"thinking": "Thinking...",
|
||||
"fetching": "Fetching the data...",
|
||||
"generating": "Generating the component...",
|
||||
"checking": "Checking of the Résumé...",
|
||||
"done": "Done!"
|
||||
},
|
||||
"welcome": "Welcome to ArtChat",
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"thinking": "Pensando...",
|
||||
"fetching": "Obteniendo los datos...",
|
||||
"generating": "Generando el componente...",
|
||||
"done": "¡Hecho!"
|
||||
"done": "¡Hecho!",
|
||||
"checking": "Comprobación del currículum ..."
|
||||
},
|
||||
"welcome": "Bienvenido en Artchat",
|
||||
"ask": "Pregúntame cualquier cosa sobre Arthur Danjou"
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
"thinking": "En train de réfléchir...",
|
||||
"fetching": "Récupération des données...",
|
||||
"generating": "Génération du composant...",
|
||||
"done": "Terminé !"
|
||||
"done": "Terminé !",
|
||||
"checking": "Vérification du curriculum vitae ..."
|
||||
},
|
||||
"welcome": "Bienvenue sur Artchat",
|
||||
"ask": "Demandez-moi n'importe quoi sur Arthur Danjou"
|
||||
|
||||
@@ -34,6 +34,7 @@ export enum ChatFetchState {
|
||||
THINKING = 'chat.state.thinking',
|
||||
FETCHING = 'chat.state.fetching',
|
||||
GENERATING = 'chat.state.generating',
|
||||
CHECKING = 'chat.state.checking',
|
||||
DONE = 'chat.state.done',
|
||||
}
|
||||
|
||||
@@ -123,13 +124,14 @@ export const ChatMessages = [
|
||||
icon: 'i-ph-person-arms-spread-duotone',
|
||||
prompt: 'command.about.prompt',
|
||||
type: ChatType.ABOUT,
|
||||
fetchStates: [ChatFetchState.CHECKING],
|
||||
},
|
||||
{
|
||||
label: 'command.projects.label',
|
||||
icon: 'i-ph-code-duotone',
|
||||
prompt: 'command.projects.prompt',
|
||||
type: ChatType.PROJECTS,
|
||||
fetchStates: [ChatFetchState.FETCHING, ChatFetchState.GENERATING],
|
||||
fetchStates: [ChatFetchState.FETCHING, ChatFetchState.CHECKING, ChatFetchState.GENERATING],
|
||||
},
|
||||
{
|
||||
label: 'command.writings.label',
|
||||
@@ -143,31 +145,35 @@ export const ChatMessages = [
|
||||
icon: 'i-ph-briefcase-duotone',
|
||||
prompt: 'command.experiences.prompt',
|
||||
type: ChatType.EXPERIENCES,
|
||||
fetchStates: [ChatFetchState.CHECKING],
|
||||
},
|
||||
{
|
||||
label: 'command.skills.label',
|
||||
icon: 'i-ph-rocket-duotone',
|
||||
prompt: 'command.skills.prompt',
|
||||
type: ChatType.SKILLS,
|
||||
fetchStates: [ChatFetchState.FETCHING],
|
||||
fetchStates: [ChatFetchState.FETCHING, ChatFetchState.CHECKING],
|
||||
},
|
||||
{
|
||||
label: 'command.resume.label',
|
||||
icon: 'i-ph-address-book-duotone',
|
||||
prompt: 'command.resume.prompt',
|
||||
type: ChatType.RESUME,
|
||||
fetchStates: [ChatFetchState.CHECKING],
|
||||
},
|
||||
{
|
||||
label: 'command.contact.label',
|
||||
icon: 'i-ph-envelope-duotone',
|
||||
prompt: 'command.contact.prompt',
|
||||
type: ChatType.CONTACT,
|
||||
fetchStates: [ChatFetchState.CHECKING],
|
||||
},
|
||||
{
|
||||
label: 'command.hobbies.label',
|
||||
icon: 'i-ph-heart-duotone',
|
||||
prompt: 'command.hobbies.prompt',
|
||||
type: ChatType.HOBBIES,
|
||||
fetchStates: [ChatFetchState.CHECKING],
|
||||
},
|
||||
{
|
||||
label: 'command.uses.label',
|
||||
|
||||
Reference in New Issue
Block a user